From gerrit-no-reply at lists.osmocom.org Sun Mar 1 14:50:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 14:50:24 +0000 Subject: Change in simtrace2[master]: Disable interrupts during EEFC_ReadUniqueID() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17303 ) Change subject: Disable interrupts during EEFC_ReadUniqueID() ...................................................................... Disable interrupts during EEFC_ReadUniqueID() Reading the Unique ID from flash is a rather tricky procedure: After the STUI command has been issued, we cannot read normal flash anymore. Rather, the unique ID is mapped at 0x00000000. This is unfortuantely also where the exception vector table is stored. EEFC_ReadUniqueID() is already linked to RAM, which is good. Hoewver, if an Interrupt happens between STUI and SPUI, then we try to access the vector table and code from flash, which is illegal. We run into a hardfault and stay there until the watchdog resets the processor. Change-Id: I3c4fad55b47e9013f6615a331983b3989ca805a7 Closes: OS#4428 --- M firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/03/17303/1 diff --git a/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c b/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c index 460eb9c..00c1aac 100644 --- a/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c +++ b/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c @@ -8,6 +8,11 @@ { unsigned int status; + /* disable interrupts, as interrupt vectors are stored in flash, + * and after STUI was issued, we can no longer access flassh until + * SPUI complets */ + __disable_irq(); + /* Errata / Workaround: Set bit 16 of EEFC Flash Mode Register * to 1 */ EFC->EEFC_FMR |= (1 << 16); @@ -40,4 +45,6 @@ do { status = EFC->EEFC_FSR; } while ((status & EEFC_FSR_FRDY) != EEFC_FSR_FRDY); + + __enable_irq(); } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3c4fad55b47e9013f6615a331983b3989ca805a7 Gerrit-Change-Number: 17303 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 Mar 1 14:53:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 14:53:04 +0000 Subject: Change in simtrace2[master]: Disable interrupts during EEFC_ReadUniqueID() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17303 ) Change subject: Disable interrupts during EEFC_ReadUniqueID() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3c4fad55b47e9013f6615a331983b3989ca805a7 Gerrit-Change-Number: 17303 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 14: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 Sun Mar 1 14:53:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 14:53:08 +0000 Subject: Change in simtrace2[master]: Disable interrupts during EEFC_ReadUniqueID() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17303 ) Change subject: Disable interrupts during EEFC_ReadUniqueID() ...................................................................... Disable interrupts during EEFC_ReadUniqueID() Reading the Unique ID from flash is a rather tricky procedure: After the STUI command has been issued, we cannot read normal flash anymore. Rather, the unique ID is mapped at 0x00000000. This is unfortuantely also where the exception vector table is stored. EEFC_ReadUniqueID() is already linked to RAM, which is good. Hoewver, if an Interrupt happens between STUI and SPUI, then we try to access the vector table and code from flash, which is illegal. We run into a hardfault and stay there until the watchdog resets the processor. Change-Id: I3c4fad55b47e9013f6615a331983b3989ca805a7 Closes: OS#4428 --- M firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c b/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c index 460eb9c..00c1aac 100644 --- a/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c +++ b/firmware/atmel_softpack_libraries/libchip_sam3s/source/unique_id.c @@ -8,6 +8,11 @@ { unsigned int status; + /* disable interrupts, as interrupt vectors are stored in flash, + * and after STUI was issued, we can no longer access flassh until + * SPUI complets */ + __disable_irq(); + /* Errata / Workaround: Set bit 16 of EEFC Flash Mode Register * to 1 */ EFC->EEFC_FMR |= (1 << 16); @@ -40,4 +45,6 @@ do { status = EFC->EEFC_FSR; } while ((status & EEFC_FSR_FRDY) != EEFC_FSR_FRDY); + + __enable_irq(); } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3c4fad55b47e9013f6615a331983b3989ca805a7 Gerrit-Change-Number: 17303 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 Mar 1 15:02:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 15:02:38 +0000 Subject: Change in simtrace2[master]: extend osmo_st2_cardem_inst with fields required by osmo-remsim References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17304 ) Change subject: extend osmo_st2_cardem_inst with fields required by osmo-remsim ...................................................................... extend osmo_st2_cardem_inst with fields required by osmo-remsim Change-Id: Ib568e5212abfd1269a12c9e5672cdf23b4abff91 --- M host/include/osmocom/simtrace2/simtrace2_api.h 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/04/17304/1 diff --git a/host/include/osmocom/simtrace2/simtrace2_api.h b/host/include/osmocom/simtrace2/simtrace2_api.h index 012b96c..aa1637d 100644 --- a/host/include/osmocom/simtrace2/simtrace2_api.h +++ b/host/include/osmocom/simtrace2/simtrace2_api.h @@ -33,6 +33,10 @@ const struct osim_cla_ins_card_profile *card_prof; /* libosmosim SIM card channel */ struct osim_chan_hdl *chan; + /* path of the underlying USB device */ + char *usb_path; + /* opaque data TBD by user */ + void *priv; }; int osmo_st2_transp_tx_msg(struct osmo_st2_transport *transp, struct msgb *msg); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib568e5212abfd1269a12c9e5672cdf23b4abff91 Gerrit-Change-Number: 17304 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 Mar 1 15:02:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 15:02:39 +0000 Subject: Change in simtrace2[master]: cardem: Fix infinite loop + watchdog reset on long OUT message References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17305 ) Change subject: cardem: Fix infinite loop + watchdog reset on long OUT message ...................................................................... cardem: Fix infinite loop + watchdog reset on long OUT message In dispatch_received_usb_msg(), we ran into an infinite loop if a too long messages was received on the OUT EP. Let's break the loop. Change-Id: I5325ed15d3dd79a42f8dac34d618e86b9334c301 Closes: OS#4429 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/05/17305/1 diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index c5c173f..5b17f86 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -682,6 +682,7 @@ TRACE_ERROR("%u: Unexpected large message (%u bytes)\n", ci->num, mh->msg_len); usb_buf_free(segm); + break; } else { uint8_t *cur = msgb_put(segm, mh->msg_len); segm->l1h = segm->head; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5325ed15d3dd79a42f8dac34d618e86b9334c301 Gerrit-Change-Number: 17305 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 Mar 1 15:02:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 15:02:39 +0000 Subject: Change in simtrace2[master]: cosmetic: Add missing CR to LF in dispatch_received_usb_msg() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17306 ) Change subject: cosmetic: Add missing CR to LF in dispatch_received_usb_msg() ...................................................................... cosmetic: Add missing CR to LF in dispatch_received_usb_msg() Change-Id: Ie1fc38ed4412b806e37688e0f9719573df06fd9f --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/06/17306/1 diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 5b17f86..6a8d98f 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -679,7 +679,7 @@ } if (mh->msg_len > msgb_length(msg)) { - TRACE_ERROR("%u: Unexpected large message (%u bytes)\n", + TRACE_ERROR("%u: Unexpected large message (%u bytes)\r\n", ci->num, mh->msg_len); usb_buf_free(segm); break; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1fc38ed4412b806e37688e0f9719573df06fd9f Gerrit-Change-Number: 17306 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 Mar 1 17:07:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:07:29 +0000 Subject: Change in osmo-bts[master]: common/sysinfo: reduce criticality of a logging message In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17296 ) Change subject: common/sysinfo: reduce criticality of a logging message ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17296/1/src/common/sysinfo.c File src/common/sysinfo.c: https://gerrit.osmocom.org/c/osmo-bts/+/17296/1/src/common/sysinfo.c at 159 PS1, Line 159: LOGP(DL1P, LOGL_NOTICE, "%s: Unable to determine actual BS_AG_BLKS_RES " May be worth adding here a comment similar to what you wrote in the commit description (to easily understand how it can happen). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I41aa3dbe375cf42c39032bafa80dba94d6219d35 Gerrit-Change-Number: 17296 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:07:29 +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 Mar 1 17:08:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:08:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17297 ) Change subject: osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic9e84dc4adc44df735cba102bdace2fb1993ac8e Gerrit-Change-Number: 17297 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:08:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 17:10:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:10:56 +0000 Subject: Change in osmo-bts[master]: scheduler: enrich the output of LOGL1S macro with ARFCN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17298 ) Change subject: scheduler: enrich the output of LOGL1S macro with ARFCN ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17298/1/include/osmo-bts/scheduler_backend.h File include/osmo-bts/scheduler_backend.h: https://gerrit.osmocom.org/c/osmo-bts/+/17298/1/include/osmo-bts/scheduler_backend.h at 7 PS1, Line 7: l1t->trx->arfcn, \ I think it may make more sense to simply print the TRX number in here. From there ARFCN is one-to-one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id347c3fddc57b0df0039c3a029b973f731274f35 Gerrit-Change-Number: 17298 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:10: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 Sun Mar 1 17:11:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:11:54 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17299 ) Change subject: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 Gerrit-Change-Number: 17299 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:11: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 Mar 1 17:14:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:14:50 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17300 ) Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17300/1/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/17300/1/src/osmo-bts-virtual/scheduler_virtbts.c at 95 PS1, Line 95: "GSMTAP msg could not send to virtual Um: %s\n", I'd rather return errno as -errno in virt_um_write_msg() and avoid using errno at this level. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:14: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 Sun Mar 1 17:17:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:17:40 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print completeness of the Rx burst buffers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17301 ) Change subject: trxcon/scheduler: print completeness of the Rx burst buffers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ife9f5eabc23aa2eea08b190361e10a98e890d608 Gerrit-Change-Number: 17301 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17: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 Sun Mar 1 17:18:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:18:27 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix NULL-pointer dereference reported by ASan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17295 ) Change subject: layer23/l1ctl: fix NULL-pointer dereference reported by ASan ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie695d9700c01ee1e6778950a2f3c8610b69d2143 Gerrit-Change-Number: 17295 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:18: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 Mar 1 17:19:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 17:19:26 +0000 Subject: Change in osmocom-bb[master]: mobile/gsm322: fix use-after-free of cs->si reported by ASan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17302 ) Change subject: mobile/gsm322: fix use-after-free of cs->si reported by ASan ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ife2ddf7274a48447a9ded9035f9dd01befaf2e6c Gerrit-Change-Number: 17302 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:19:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 17:33:26 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 1 Mar 2020 17:33:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17299 to look at the new patch set (#3). Change subject: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() ...................................................................... osmo-bts-virtual: do not print redundant info in tx_to_virt_um() LOGL1S() already prints enough context information. Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 2 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/17299/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 Gerrit-Change-Number: 17299 Gerrit-PatchSet: 3 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 Sun Mar 1 17:33:26 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 1 Mar 2020 17:33:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 to look at the new patch set (#2). Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... osmo-bts-virtual: do not log GSMTAP message sending failure twice Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 --- M src/osmo-bts-virtual/scheduler_virtbts.c M src/osmo-bts-virtual/virtual_um.c 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/17300/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy 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 Mar 1 17:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 1 Mar 2020 17:35:00 +0000 Subject: Change in osmo-bts[master]: scheduler: enrich the output of LOGL1S macro with ARFCN In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17298 ) Change subject: scheduler: enrich the output of LOGL1S macro with ARFCN ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17298/1/include/osmo-bts/scheduler_backend.h File include/osmo-bts/scheduler_backend.h: https://gerrit.osmocom.org/c/osmo-bts/+/17298/1/include/osmo-bts/scheduler_backend.h at 7 PS1, Line 7: l1t->trx->arfcn, \ > I think it may make more sense to simply print the TRX number in here. [?] It's already being printed, so I think we can just abandon this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id347c3fddc57b0df0039c3a029b973f731274f35 Gerrit-Change-Number: 17298 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 17:35: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 Sun Mar 1 17:35:06 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 1 Mar 2020 17:35:06 +0000 Subject: Change in osmo-bts[master]: scheduler: enrich the output of LOGL1S macro with ARFCN In-Reply-To: References: Message-ID: Vadim Yanitskiy has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17298 ) Change subject: scheduler: enrich the output of LOGL1S macro with ARFCN ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id347c3fddc57b0df0039c3a029b973f731274f35 Gerrit-Change-Number: 17298 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 18:33:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 18:33:32 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17299 ) Change subject: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 Gerrit-Change-Number: 17299 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 18:33:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 18:34:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 1 Mar 2020 18:34:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17300 ) Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17300/2/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/17300/2/src/osmo-bts-virtual/scheduler_virtbts.c at 95 PS2, Line 95: "GSMTAP msg could not send to virtual Um: %s\n", strerror(rc)); -rc. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 18:34:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 19:13:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:13:04 +0000 Subject: Change in osmo-bts[master]: common/sysinfo: reduce criticality of a logging message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17296 ) Change subject: common/sysinfo: reduce criticality of a logging message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I41aa3dbe375cf42c39032bafa80dba94d6219d35 Gerrit-Change-Number: 17296 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19:13:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 19:13:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:13:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17297 ) Change subject: osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic9e84dc4adc44df735cba102bdace2fb1993ac8e Gerrit-Change-Number: 17297 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19: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 Sun Mar 1 19:13:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:13:54 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17299 ) Change subject: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 Gerrit-Change-Number: 17299 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 19:14:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:14:21 +0000 Subject: Change in osmo-bts[master]: common/sysinfo: reduce criticality of a logging message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17296 ) Change subject: common/sysinfo: reduce criticality of a logging message ...................................................................... common/sysinfo: reduce criticality of a logging message During the process of bootstrapping, it may happen that System Information Type 3 is not yet received from the BSC, while the BTS already needs to transmit a block on AGCH or PCH. Since the RSL link is established later than the OML link, it's kind of expected, so we should not log it as error. Change-Id: I41aa3dbe375cf42c39032bafa80dba94d6219d35 --- M src/common/sysinfo.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c index c41f9d6..f5bc3c8 100644 --- a/src/common/sysinfo.c +++ b/src/common/sysinfo.c @@ -156,7 +156,7 @@ si3 = GSM_BTS_SI(b, SYSINFO_TYPE_3); return si3->control_channel_desc.bs_ag_blks_res; } - LOGP(DL1P, LOGL_ERROR, "%s: Unable to determine actual BS_AG_BLKS_RES " + LOGP(DL1P, LOGL_NOTICE, "%s: Unable to determine actual BS_AG_BLKS_RES " "value as SI3 is not available yet, fallback to 1\n", arg); return 1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I41aa3dbe375cf42c39032bafa80dba94d6219d35 Gerrit-Change-Number: 17296 Gerrit-PatchSet: 1 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 Mar 1 19:14:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:14:22 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17297 ) Change subject: osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() ...................................................................... osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify() Change-Id: Ic9e84dc4adc44df735cba102bdace2fb1993ac8e --- M src/osmo-bts-virtual/scheduler_virtbts.c 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/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 0621eaa..fef367b 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -50,7 +50,9 @@ { static char buf[256]; snprintf(buf, sizeof(buf), "(ARFCN=%u, ts=%u, ss=%u, type=%u/%u)", - gh->arfcn & GSMTAP_ARFCN_MASK, gh->timeslot, gh->sub_slot, gh->type, gh->sub_type); + ntohs(gh->arfcn & GSMTAP_ARFCN_MASK), + gh->timeslot, gh->sub_slot, + gh->type, gh->sub_type); return buf; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic9e84dc4adc44df735cba102bdace2fb1993ac8e Gerrit-Change-Number: 17297 Gerrit-PatchSet: 1 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 Mar 1 19:14:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:14:22 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17299 ) Change subject: osmo-bts-virtual: do not print redundant info in tx_to_virt_um() ...................................................................... osmo-bts-virtual: do not print redundant info in tx_to_virt_um() LOGL1S() already prints enough context information. Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 2 insertions(+), 13 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-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index fef367b..91d9153 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -46,16 +46,6 @@ #define MODULO_HYPERFRAME 0 -static const char *gsmtap_hdr_stringify(const struct gsmtap_hdr *gh) -{ - static char buf[256]; - snprintf(buf, sizeof(buf), "(ARFCN=%u, ts=%u, ss=%u, type=%u/%u)", - ntohs(gh->arfcn & GSMTAP_ARFCN_MASK), - gh->timeslot, gh->sub_slot, - gh->type, gh->sub_type); - return buf; -} - /** * Send a message over the virtual um interface. * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. @@ -96,18 +86,17 @@ if (outmsg) { struct phy_instance *pinst = trx_phy_instance(l1t->trx); - struct gsmtap_hdr *gh = (struct gsmtap_hdr *)msgb_data(outmsg); int rc; rc = virt_um_write_msg(pinst->phy_link->u.virt.virt_um, outmsg); if (rc < 0) LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, - "%s GSMTAP msg could not send to virtual Um\n", gsmtap_hdr_stringify(gh)); + "GSMTAP msg could not send to virtual Um\n"); else if (rc == 0) bts_shutdown(l1t->trx->bts, "VirtPHY write socket died\n"); else LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, - "%s Sending GSMTAP message to virtual Um\n", gsmtap_hdr_stringify(gh)); + "Sending GSMTAP message to virtual Um\n"); } else LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "GSMTAP msg could not be created!\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I29adf9360b96544b7f58766d5cd26d97117884d9 Gerrit-Change-Number: 17299 Gerrit-PatchSet: 3 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 Mar 1 19:14:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:14:50 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print completeness of the Rx burst buffers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17301 ) Change subject: trxcon/scheduler: print completeness of the Rx burst buffers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ife9f5eabc23aa2eea08b190361e10a98e890d608 Gerrit-Change-Number: 17301 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19: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 Sun Mar 1 19:18:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:18:57 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix NULL-pointer dereference reported by ASan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17295 ) Change subject: layer23/l1ctl: fix NULL-pointer dereference reported by ASan ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie695d9700c01ee1e6778950a2f3c8610b69d2143 Gerrit-Change-Number: 17295 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19:18:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 19:19:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:19:18 +0000 Subject: Change in osmocom-bb[master]: mobile/gsm322: fix use-after-free of cs->si reported by ASan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17302 ) Change subject: mobile/gsm322: fix use-after-free of cs->si reported by ASan ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ife2ddf7274a48447a9ded9035f9dd01befaf2e6c Gerrit-Change-Number: 17302 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19:19: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 Mar 1 19:19:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:19:21 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print completeness of the Rx burst buffers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17301 ) Change subject: trxcon/scheduler: print completeness of the Rx burst buffers ...................................................................... trxcon/scheduler: print completeness of the Rx burst buffers Change-Id: Ife9f5eabc23aa2eea08b190361e10a98e890d608 Related: OS#3554 --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.h 6 files changed, 33 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/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c index d8d9ee1..813f315 100644 --- a/src/host/trxcon/sched_lchan_common.c +++ b/src/host/trxcon/sched_lchan_common.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: common routines for lchan handlers * - * (C) 2017-2019 by Vadim Yanitskiy + * (C) 2017-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -84,6 +84,25 @@ }, }; +/* Get a string representation of the burst buffer's completeness. + * Examples: " ****.." (incomplete, 4/6 bursts) + * " ****" (complete, all 4 bursts) + * "**.***.." (incomplete, 5/8 bursts) */ +const char *burst_mask2str(const uint8_t *mask, int bits) +{ + /* TODO: CSD is interleaved over 22 bursts, so the mask needs to be extended */ + static char buf[8 + 1]; + char *ptr = buf; + + OSMO_ASSERT(bits <= 8 && bits > 0); + + while (--bits >= 0) + *(ptr++) = (*mask & (1 << bits)) ? '*' : '.'; + *ptr = '\0'; + + return buf; +} + int sched_gsmtap_send(enum trx_lchan_type lchan_type, uint32_t fn, uint8_t tn, uint16_t band_arfcn, int8_t signal_dbm, uint8_t snr, const uint8_t *data, size_t data_len) diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 733e574..83a6f53 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -88,8 +88,9 @@ /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGP(DSCHD, LOGL_ERROR, "Received incomplete data frame at " - "fn=%u (%u/%u) for %s\n", *first_fn, + LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " + "fn=%u (%u/%u) for %s\n", + burst_mask2str(mask, 4), *first_fn, (*first_fn) % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index f2ecdcc..0109280 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -90,8 +90,9 @@ /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGP(DSCHD, LOGL_ERROR, "Received incomplete traffic frame at " - "fn=%u (%u/%u) for %s\n", *first_fn, + LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " + "fn=%u (%u/%u) for %s\n", + burst_mask2str(mask, 8), *first_fn, (*first_fn) % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 0201ee3..8288670 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -299,8 +299,9 @@ /* Check decoding result */ if (rc < 4) { - LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame ending at " - "fn=%u on %s (rc=%d)\n", fn, lchan_desc->name, rc); + LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame (%s) ending at " + "fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), + fn, lchan_desc->name, rc); /* Send BFI */ goto bfi; diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index d341646..34fe5ce 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -87,8 +87,9 @@ /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGP(DSCHD, LOGL_ERROR, "Received incomplete data frame at " - "fn=%u (%u/%u) for %s\n", *first_fn, + LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " + "fn=%u (%u/%u) for %s\n", + burst_mask2str(mask, 4), *first_fn, (*first_fn) % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 8718ed6..13fc678 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -355,6 +355,7 @@ /* Shared declarations for lchan handlers */ extern const uint8_t sched_nb_training_bits[8][26]; +const char *burst_mask2str(const uint8_t *mask, int bits); size_t sched_bad_frame_ind(uint8_t *l2, struct trx_lchan_state *lchan); int sched_send_dt_ind(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint8_t *l2, size_t l2_len, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ife9f5eabc23aa2eea08b190361e10a98e890d608 Gerrit-Change-Number: 17301 Gerrit-PatchSet: 1 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 Mar 1 19:19:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:19:21 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix NULL-pointer dereference reported by ASan In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17295 ) Change subject: layer23/l1ctl: fix NULL-pointer dereference reported by ASan ...................................................................... layer23/l1ctl: fix NULL-pointer dereference reported by ASan Some applications (e.g. ccch_scan) may not initialize ms->cellsel.si, some (e.g. mobile) may need some time to initialize it. Let's assume that 'bs_ag_blks_res' is 1 if System Information is not available. Change-Id: Ie695d9700c01ee1e6778950a2f3c8610b69d2143 --- M src/host/layer23/src/common/l1ctl.c 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/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index de66972..b6ee455 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -218,6 +218,7 @@ struct rx_meas_stat *meas = &ms->meas; uint8_t chan_type, chan_ts, chan_ss; uint8_t gsmtap_chan_type; + uint8_t bs_ag_blks_res; struct gsm_time tm; if (msgb_l1len(msg) < sizeof(*dl)) { @@ -302,7 +303,13 @@ return 0; } - gsmtap_chan_type = chantype_rsl2gsmtap_ext(chan_type, dl->link_id, tm.fn, ms->cellsel.si->bs_ag_blks_res); + /* May not be initialized in some applications (e.g. ccch_scan) */ + if (ms->cellsel.si != NULL) + bs_ag_blks_res = ms->cellsel.si->bs_ag_blks_res; + else /* fall-back to 1 (this is what OsmoBTS does) */ + bs_ag_blks_res = 1; + + gsmtap_chan_type = chantype_rsl2gsmtap_ext(chan_type, dl->link_id, tm.fn, bs_ag_blks_res); /* don't log fill frames via GSMTAP; they serve no purpose other than * to clog up your logs */ if (!is_fill_frame(gsmtap_chan_type, ccch->data)) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie695d9700c01ee1e6778950a2f3c8610b69d2143 Gerrit-Change-Number: 17295 Gerrit-PatchSet: 4 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 Mar 1 19:19:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:19:21 +0000 Subject: Change in osmocom-bb[master]: mobile/gsm322: fix use-after-free of cs->si reported by ASan In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17302 ) Change subject: mobile/gsm322: fix use-after-free of cs->si reported by ASan ...................................................................... mobile/gsm322: fix use-after-free of cs->si reported by ASan This pointer cs->si stores an address to the System Information of a currently selected cell. When we release System Information, ensure that it does not point to free()d memory. Change-Id: Ife2ddf7274a48447a9ded9035f9dd01befaf2e6c --- M src/host/layer23/src/mobile/gsm322.c 1 file changed, 7 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/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c index ddb3a77..cc4f0cd 100644 --- a/src/host/layer23/src/mobile/gsm322.c +++ b/src/host/layer23/src/mobile/gsm322.c @@ -2635,6 +2635,8 @@ if (cs->list[cs->arfci].sysinfo) { LOGP(DCS, LOGL_DEBUG, "free sysinfo arfcn=%s\n", gsm_print_arfcn(cs->arfcn)); + if (cs->si == cs->list[cs->arfci].sysinfo) + cs->si = NULL; talloc_free(cs->list[cs->arfci].sysinfo); cs->list[cs->arfci].sysinfo = NULL; } @@ -2752,6 +2754,8 @@ if (cs->list[cs->arfci].sysinfo) { LOGP(DCS, LOGL_DEBUG, "free sysinfo arfcn=%s\n", gsm_print_arfcn(cs->arfcn)); + if (cs->si == cs->list[cs->arfci].sysinfo) + cs->si = NULL; talloc_free(cs->list[cs->arfci].sysinfo); cs->list[cs->arfci].sysinfo = NULL; } @@ -2919,6 +2923,8 @@ cs->list[i].flags &= ~GSM322_CS_FLAG_SYSINFO; LOGP(DCS, LOGL_DEBUG, "free sysinfo ARFCN=%s\n", gsm_print_arfcn(index2arfcn(i))); + if (cs->si == cs->list[i].sysinfo) + cs->si = NULL; talloc_free(cs->list[i].sysinfo); cs->list[i].sysinfo = NULL; } @@ -5145,6 +5151,7 @@ gsm_print_arfcn(index2arfcn(i))); talloc_free(cs->list[i].sysinfo); cs->list[i].sysinfo = NULL; + cs->si = NULL; } cs->list[i].flags = 0; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ife2ddf7274a48447a9ded9035f9dd01befaf2e6c Gerrit-Change-Number: 17302 Gerrit-PatchSet: 1 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 Mar 1 19:19:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:19:40 +0000 Subject: Change in simtrace2[master]: cardem: Fix infinite loop + watchdog reset on long OUT message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17305 ) Change subject: cardem: Fix infinite loop + watchdog reset on long OUT message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5325ed15d3dd79a42f8dac34d618e86b9334c301 Gerrit-Change-Number: 17305 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19: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 Sun Mar 1 19:20:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:20:04 +0000 Subject: Change in simtrace2[master]: cosmetic: Add missing CR to LF in dispatch_received_usb_msg() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17306 ) Change subject: cosmetic: Add missing CR to LF in dispatch_received_usb_msg() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1fc38ed4412b806e37688e0f9719573df06fd9f Gerrit-Change-Number: 17306 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19:20: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 Mar 1 19:20:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:20:52 +0000 Subject: Change in osmo-ci[master]: update-osmo-ci-slaves: Fail jenkins jobs on script failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17275 ) Change subject: update-osmo-ci-slaves: Fail jenkins jobs on script failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab9bc49eebee0f42657ff3ab5ffaa10315446440 Gerrit-Change-Number: 17275 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19:20: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 Mar 1 19:21:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:21:44 +0000 Subject: Change in pysim[master]: utils: fix dec_msisdn(): properly detect international numbers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17277 ) Change subject: utils: fix dec_msisdn(): properly detect international numbers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idc51f09b3420d827a75a1161372e4e97c3ddfbc1 Gerrit-Change-Number: 17277 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19:21: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 Mar 1 19:21:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:21:49 +0000 Subject: Change in pysim[master]: transport/pcsc: cosmetic: reuse the existing code of PcscSimLink In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17278 ) Change subject: transport/pcsc: cosmetic: reuse the existing code of PcscSimLink ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5360df644032b95654e99ccaa5118952e8d55faf Gerrit-Change-Number: 17278 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19:21: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 Mar 1 19:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:21:52 +0000 Subject: Change in pysim[master]: transport/pcsc: explicitly specify T0 protocol In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17279 ) Change subject: transport/pcsc: explicitly specify T0 protocol ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifed4574aab98a86c3ebbeb191f36a8282103e775 Gerrit-Change-Number: 17279 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19: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 Sun Mar 1 19:21:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:21:54 +0000 Subject: Change in pysim[master]: commands: Python 3 fix: properly distinguish str and list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17280 ) Change subject: commands: Python 3 fix: properly distinguish str and list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92af47abb6adff0271c55e7f278e8c5188f2be75 Gerrit-Change-Number: 17280 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19: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 Mar 1 19:21:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:21:58 +0000 Subject: Change in pysim[master]: cards: Python 3 fix: use the floor division operator // In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17281 ) Change subject: cards: Python 3 fix: use the floor division operator // ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I21de34133dbc5d859a5b744adc74f706ba2f0dd8 Gerrit-Change-Number: 17281 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Mar 2020 19: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 Sun Mar 1 19:22:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:04 +0000 Subject: Change in pysim[master]: utils: fix dec_msisdn(): properly detect international numbers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17277 ) Change subject: utils: fix dec_msisdn(): properly detect international numbers ...................................................................... utils: fix dec_msisdn(): properly detect international numbers We should match the whole value of ToN, not just one LSB bit. Change-Id: Idc51f09b3420d827a75a1161372e4e97c3ddfbc1 --- M pySim/utils.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 8420b23..c098384 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -295,7 +295,7 @@ msisdn = swap_nibbles(b2h(msisdn_lhv[2:][:bcd_len])).rstrip('f') # International number 10.5.118/3GPP TS 24.008 - if (ton & 0x01) == 0x01: + if ton == 0x01: msisdn = '+' + msisdn return (npi, ton, msisdn) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idc51f09b3420d827a75a1161372e4e97c3ddfbc1 Gerrit-Change-Number: 17277 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 Mar 1 19:22:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:04 +0000 Subject: Change in pysim[master]: transport/pcsc: cosmetic: reuse the existing code of PcscSimLink In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17278 ) Change subject: transport/pcsc: cosmetic: reuse the existing code of PcscSimLink ...................................................................... transport/pcsc: cosmetic: reuse the existing code of PcscSimLink Change-Id: I5360df644032b95654e99ccaa5118952e8d55faf --- M pySim/transport/pcsc.py 1 file changed, 2 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 47c4185..7fa922f 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -63,11 +63,8 @@ self._con.disconnect() def reset_card(self): - self._con.disconnect() - try: - self._con.connect() - except NoCardException: - raise NoCardError() + self.disconnect() + self.connect() return 1 def send_apdu_raw(self, pdu): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5360df644032b95654e99ccaa5118952e8d55faf Gerrit-Change-Number: 17278 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 Mar 1 19:22:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:04 +0000 Subject: Change in pysim[master]: transport/pcsc: explicitly specify T0 protocol In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17279 ) Change subject: transport/pcsc: explicitly specify T0 protocol ...................................................................... transport/pcsc: explicitly specify T0 protocol >From pyscard user's guide [1]: == Selecting the card communication protocol == By defaults, the connect() method of the CardConnection object will try to connect using either the T=0 or T=1 protocol. To force a connection protocol, you can pass the required protocol to the connect() method. This means that a PC/SC ifd handler may automatically choose T=1 as the highest protocol if the card indicates both in its ATR [2]. Since pySim only supports T=0, let's select it explicitly. [1] https://pyscard.sourceforge.io/user-guide.html [2] https://github.com/acshk/acsccid/issues/16#issuecomment-501101972 Change-Id: Ifed4574aab98a86c3ebbeb191f36a8282103e775 --- M pySim/transport/pcsc.py 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 7fa922f..380c8fd 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -22,6 +22,7 @@ # along with this program. If not, see . # +from smartcard.CardConnection import CardConnection from smartcard.CardRequest import CardRequest from smartcard.Exceptions import NoCardException, CardRequestTimeoutException from smartcard.System import readers @@ -52,7 +53,10 @@ def connect(self): try: - self._con.connect() + # Explicitly select T=0 communication protocol + self._con.connect(CardConnection.T0_protocol) + except CardConnectionException: + raise ProtocolError() except NoCardException: raise NoCardError() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifed4574aab98a86c3ebbeb191f36a8282103e775 Gerrit-Change-Number: 17279 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 Mar 1 19:22:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:05 +0000 Subject: Change in pysim[master]: commands: Python 3 fix: properly distinguish str and list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17280 ) Change subject: commands: Python 3 fix: properly distinguish str and list ...................................................................... commands: Python 3 fix: properly distinguish str and list Unlike Python 2, in Python 3 strings also have attribute '__iter__'. Because of that, a string could be passed to select_file(), that actually expects a list as the first parameter. P.S. Madness, Python 3 is just a new different language... P.P.S. They should have renamed it not to confuse people. Change-Id: I92af47abb6adff0271c55e7f278e8c5188f2be75 Fixes: OS#4419 --- M pySim/commands.py 1 file changed, 2 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/commands.py b/pySim/commands.py index ff64ed2..cc7acc6 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -102,6 +102,8 @@ def select_file(self, dir_list): rv = [] + if type(dir_list) is not list: + dir_list = [dir_list] for i in dir_list: data, sw = self._tp.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl + "02" + i) rv.append(data) @@ -112,8 +114,6 @@ return self._tp.send_apdu_checksw(self.cla_byte + "a4" + "0404" + aidlen + aid) def read_binary(self, ef, length=None, offset=0): - if not hasattr(type(ef), '__iter__'): - ef = [ef] r = self.select_file(ef) if len(r[-1]) == 0: return (None, None) @@ -123,23 +123,17 @@ return self._tp.send_apdu(pdu) def update_binary(self, ef, data, offset=0): - if not hasattr(type(ef), '__iter__'): - ef = [ef] self.select_file(ef) pdu = self.cla_byte + 'd6%04x%02x' % (offset, len(data) // 2) + data return self._tp.send_apdu_checksw(pdu) def read_record(self, ef, rec_no): - if not hasattr(type(ef), '__iter__'): - ef = [ef] r = self.select_file(ef) rec_length = self.__record_len(r) 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): - if not hasattr(type(ef), '__iter__'): - ef = [ef] r = self.select_file(ef) if not force_len: rec_length = self.__record_len(r) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92af47abb6adff0271c55e7f278e8c5188f2be75 Gerrit-Change-Number: 17280 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 Mar 1 19:22:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:05 +0000 Subject: Change in pysim[master]: cards: Python 3 fix: use the floor division operator // In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17281 ) Change subject: cards: Python 3 fix: use the floor division operator // ...................................................................... cards: Python 3 fix: use the floor division operator // Change-Id: I21de34133dbc5d859a5b744adc74f706ba2f0dd8 --- M pySim/cards.py 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 053ea98..ec2724c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -77,10 +77,10 @@ """ # get size and write EF.HPLMNwAcT data = self._scc.read_binary(EF['HPLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + size = len(data[0]) // 2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech - data, sw = self._scc.update_binary(EF['HPLMNwAcT'], content + 'ffffff0000' * (size/5-1)) + data, sw = self._scc.update_binary(EF['HPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): @@ -92,7 +92,7 @@ size = len(data[0]) // 2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech - data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size/5-1)) + data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw def update_plmn_act(self, mcc, mnc, access_tech='FFFF'): @@ -104,7 +104,7 @@ size = len(data[0]) // 2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech - data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size/5-1)) + data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw def update_plmnsel(self, mcc, mnc): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I21de34133dbc5d859a5b744adc74f706ba2f0dd8 Gerrit-Change-Number: 17281 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 Mar 1 19:22:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:39 +0000 Subject: Change in libosmocore[master]: Import 'neocon' terminal program from Openmoko In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17242 ) Change subject: Import 'neocon' terminal program from Openmoko ...................................................................... Abandoned we are now building a separate neocon package in the nightly/latest feeds -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f4f0dae6774447eb370fc1488a4689b1d5d54f8 Gerrit-Change-Number: 17242 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 1 19:22:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:22:57 +0000 Subject: Change in docker-playground[master]: Introduce osmo-gsm-tester docker setup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17143 ) Change subject: Introduce osmo-gsm-tester docker setup ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac7c0b613048ce332642d3957c55cc7c53b56d42 Gerrit-Change-Number: 17143 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 01 Mar 2020 19:22: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 Mar 1 19:23:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:23:00 +0000 Subject: Change in docker-playground[master]: Introduce osmo-gsm-tester docker setup In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17143 ) Change subject: Introduce osmo-gsm-tester docker setup ...................................................................... Introduce osmo-gsm-tester docker setup This set up allows running a typical osmo-gsm-tester set up with a main unit (ogt-master) attached to one (or more) slaves where resources are located and processes are run. As an example, current config allows running an iperf3 test over an srsLTE stack using the ZeroMQ backend. Change-Id: Iac7c0b613048ce332642d3957c55cc7c53b56d42 --- M make/Makefile A osmo-gsm-tester/Dockerfile A osmo-gsm-tester/Makefile A osmo-gsm-tester/Release.key A osmo-gsm-tester/jenkins.sh A osmo-gsm-tester/osmo-gsm-tester.sh A osmo-gsm-tester/resources.conf A osmo-gsm-tester/ssh/authorized_keys A osmo-gsm-tester/ssh/config A osmo-gsm-tester/ssh/id_rsa A osmo-gsm-tester/ssh/id_rsa.pub A osmo-gsm-tester/ssh/known_hosts 12 files changed, 334 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/make/Makefile b/make/Makefile index 83f56ae..b10c665 100644 --- a/make/Makefile +++ b/make/Makefile @@ -21,6 +21,7 @@ OSMO_BSC_BRANCH?=master OSMO_BTS_BRANCH?=master OSMO_GGSN_BRANCH?=master +OSMO_GSM_TESTER_BRANCH?=master OSMO_HLR_BRANCH?=master OSMO_IUH_BRANCH?=master OSMO_MGW_BRANCH?=master @@ -59,6 +60,7 @@ --build-arg OSMO_BSC_BRANCH=$(OSMO_BSC_BRANCH) \ --build-arg OSMO_BTS_BRANCH=$(OSMO_BTS_BRANCH) \ --build-arg OSMO_GGSN_BRANCH=$(OSMO_GGSN_BRANCH) \ + --build-arg OSMO_GSM_TESTER_BRANCH=$(OSMO_GSM_TESTER_BRANCH) \ --build-arg OSMO_HLR_BRANCH=$(OSMO_HLR_BRANCH) \ --build-arg OSMO_IUH_BRANCH=$(OSMO_IUH_BRANCH) \ --build-arg OSMO_MGW_BRANCH=$(OSMO_MGW_BRANCH) \ diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile new file mode 100644 index 0000000..40e7e1a --- /dev/null +++ b/osmo-gsm-tester/Dockerfile @@ -0,0 +1,135 @@ +ARG USER +FROM $USER/debian-stretch-build + +MAINTAINER Pau Espin Pedrol + +# Create jenkins user +RUN useradd -ms /bin/bash jenkins +# Create osmo-gsm-tester group and add user to it +RUN groupadd osmo-gsm-tester +RUN usermod -a -G osmo-gsm-tester jenkins + +# install osmo-gsm-tester dependencies +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + dbus \ + tcpdump \ + sqlite3 \ + python3 \ + python3-setuptools \ + python3-yaml \ + python3-mako \ + python3-gi \ + python3-wheel \ + ofono \ + patchelf \ + sudo \ + libcap2-bin \ + python3-pip \ + udhcpc \ + iperf3 \ + locales + +# install osmo-gsm-tester pip dependencies +RUN pip3 install \ + "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" \ + pydbus \ + pyusb \ + pysispm + +# install srsLTE runtime dependencies +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + cmake \ + libfftw3-dev \ + libmbedtls-dev \ + libboost-program-options-dev \ + libconfig++-dev \ + libsctp-dev \ + libpcsclite-dev \ + libuhd-dev \ + libczmq-dev + +# Intall sshd: +RUN apt-get update && apt-get install -y openssh-server +RUN mkdir /var/run/sshd +COPY ssh /root/.ssh +COPY --chown=jenkins:jenkins ssh /home/jenkins/.ssh +RUN chmod -R 0700 /home/jenkins/.ssh /root/.ssh + +# Create directories for slaves with correct file permissions: +RUN mkdir -p /osmo-gsm-tester-srsue \ + /osmo-gsm-tester-srsenb \ + /osmo-gsm-tester-srsepc \ + /osmo-gsm-tester-trx +RUN chown -R jenkins:jenkins \ + /osmo-gsm-tester-srsue \ + /osmo-gsm-tester-srsenb \ + /osmo-gsm-tester-srsepc \ + /osmo-gsm-tester-trx + +# Set a UTF-8 locale +RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ + dpkg-reconfigure --frontend=noninteractive locales && \ + update-locale LANG=en_US.UTF-8 +ENV LANG en_US.UTF-8 + +# We require a newer patchelf for srsue (OS#4389) +ADD https://nixos.org/releases/patchelf/patchelf-0.10/patchelf-0.10.tar.bz2 /tmp/patchelf-0.10.tar.bz2 +RUN cd /tmp && \ + tar -jxf /tmp/patchelf-0.10.tar.bz2 && \ + cd patchelf-0.10 && \ + ./configure --prefix=/opt && \ + make && \ + mkdir -p /opt/bin/ && \ + cp src/patchelf /opt/bin/patchelf-v0.10 + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-gsup-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libsmpp34-dev \ + libgtp-dev \ + libasn1c-dev && \ + apt-get clean + +WORKDIR /tmp + +ARG OSMO_GSM_TESTER_BRANCH="master" + +RUN git clone git://git.osmocom.org/osmo-gsm-tester.git +ADD http://git.osmocom.org/osmo-gsm-tester/patch?h=$OSMO_GSM_TESTER_BRANCH /tmp/commit + +RUN cd osmo-gsm-tester && \ + git fetch && git checkout $OSMO_GSM_TESTER_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_GSM_TESTER_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD + +# Copy several scripts and permission for osmo-gsm-tester: +RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/ +RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/ + +VOLUME /data +COPY resources.conf /tmp/osmo-gsm-tester/example/resources.conf + +ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/example + +WORKDIR /data +CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester.sh >/data/osmo-gsm-tester.log 2>&1"] + +EXPOSE 22/tcp diff --git a/osmo-gsm-tester/Makefile b/osmo-gsm-tester/Makefile new file mode 100644 index 0000000..03366a0 --- /dev/null +++ b/osmo-gsm-tester/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--rm --privileged --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun --network sigtran --ip 172.18.50.21 -v ogt-vol:/data + +include ../make/Makefile diff --git a/osmo-gsm-tester/Release.key b/osmo-gsm-tester/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-gsm-tester/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh new file mode 100755 index 0000000..16552f9 --- /dev/null +++ b/osmo-gsm-tester/jenkins.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# This docket env allows running a typical osmo-gsm-tester setup with a main +# unit (ogt-master) running osmo-gsm-tester process, and using another docker +# container as a remote host where to run child processes. +# +# Trial directory must be set in the parent host's /tmp/trial path, which will +# then be mounted to ogt-master and used my osmo-gsm-tester. +# +# osmo-gsm-tester parameters and suites are passed in osmo-gsm-tester.sh in same +# directory as this script. +# +# Log files can be found in host's /tmp/logs/ directory. + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-stretch-build" \ + "osmo-gsm-tester" + +network_create 172.18.50.0/24 + +mkdir $VOL_BASE_DIR/ogt-slave + +mkdir $VOL_BASE_DIR/ogt-master +cp osmo-gsm-tester.sh $VOL_BASE_DIR/ogt-master/ + +echo Starting container with osmo-gsm-tester slave +docker run --rm \ + --cap-add=NET_ADMIN \ + --cap-add=SYS_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --network $NET_NAME \ + --ip 172.18.50.100 \ + -v $VOL_BASE_DIR/ogt-slave:/data \ + --name ${BUILD_TAG}-ogt-slave -d \ + $REPO_USER/osmo-gsm-tester \ + /bin/sh -c "/usr/sbin/sshd -D -e >/data/sshd.log 2>&1" + +echo Starting container with osmo-gsm-tester main unit +docker run --rm \ + --cap-add=NET_ADMIN \ + --cap-add=SYS_ADMIN \ + --device /dev/net/tun:/dev/net/tun \ + --network $NET_NAME \ + --ip 172.18.50.2 \ + -v $VOL_BASE_DIR/ogt-master:/data \ + -v /tmp/trial:/tmp/trial \ + --name ${BUILD_TAG}-ogt-master \ + $REPO_USER/osmo-gsm-tester + +echo Stopping containers +docker container kill ${BUILD_TAG}-ogt-slave + +network_remove +collect_logs diff --git a/osmo-gsm-tester/osmo-gsm-tester.sh b/osmo-gsm-tester/osmo-gsm-tester.sh new file mode 100755 index 0000000..bfd303b --- /dev/null +++ b/osmo-gsm-tester/osmo-gsm-tester.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# Add local IP addresses required by osmo-gsm-tester resources: +ip addr add 172.18.50.2/24 dev eth0 +ip addr add 172.18.50.3/24 dev eth0 +ip addr add 172.18.50.4/24 dev eth0 +ip addr add 172.18.50.5/24 dev eth0 +ip addr add 172.18.50.6/24 dev eth0 +ip addr add 172.18.50.7/24 dev eth0 +ip addr add 172.18.50.8/24 dev eth0 +ip addr add 172.18.50.9/24 dev eth0 +ip addr add 172.18.50.10/24 dev eth0 + +su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial -T -l dbg -s 4g -t iperf3" -m jenkins diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf new file mode 100644 index 0000000..1120178 --- /dev/null +++ b/osmo-gsm-tester/resources.conf @@ -0,0 +1,60 @@ +# all hardware and interfaces available to this osmo-gsm-tester + +ip_address: +- addr: 172.18.50.2 +- addr: 172.18.50.3 +- addr: 172.18.50.4 +- addr: 172.18.50.5 +- addr: 172.18.50.6 +- addr: 172.18.50.7 +- addr: 172.18.50.8 +- addr: 172.18.50.9 +- addr: 172.18.50.10 + +run_node: +- run_type: ssh + run_addr: 172.18.50.100 + ssh_user: jenkins + ssh_addr: 172.18.50.100 + +bts: +- label: Ettus B200 + type: osmo-bts-trx + ipa_unit_id: 6 + addr: 172.18.50.3 + band: GSM-1800 + ciphers: [a5_0, a5_1, a5_3] + osmo_trx: + type: uhd + launch_trx: true + remote_user: jenkins + trx_ip: 172.18.50.100 + dev_args: "type=b200,serial=306BD11" + clock_reference: external + multi_arfcn: true + +enb: +- label: srsENB-zmq + type: srsenb + remote_user: jenkins + addr: 172.18.50.100 + +arfcn: + - arfcn: 512 + band: GSM-1800 + +modem: +- label: sierra_1st + path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4.1/1-5.4.1.2' + ki: 'EBAB63D06C3F546A16C977CB40E57C68' + auth_algo: 'comp128v1' + ciphers: [a5_0, a5_1] + features: ['sms', 'voice', 'ussd', 'sim'] + +- label: srsUE-zmq_1 + type: srsue + remote_user: jenkins + addr: 172.18.50.100 + imsi: '001010123456789' + ki: '8CCBE85A62C6DC7AC2A9886F4BBC3146' + auth_algo: 'xor' diff --git a/osmo-gsm-tester/ssh/authorized_keys b/osmo-gsm-tester/ssh/authorized_keys new file mode 100644 index 0000000..5d58f36 --- /dev/null +++ b/osmo-gsm-tester/ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGYP7+YrCjZ04y+4arcB8Iv72g64nYJJvu+M66EDWVMr2Gvb0yHLvi/jeIfHlI3TvxBvouwX4wuFnLlI5BNvrwB0rCPnDzzPfX+osnAmqvBbVWFbAQkq4y9+tTiwqhAPV+PVW/AkTGoDGdiMdDL12AwT9HHRKCZUZBdPV3SmKqxRTI+pFZTROROulWMCBEn7LnEiQiqrcS2t79dDLFmbnZ75c9lOewHZfGgLUUwj5b+CHKwLNiFhJYdVq6LtyJ11D/sktEs+yyKbn7/1mbGy9Uwe2Rk+521XdmuHow86f9tOPvdRVqm7kzugkANOe2qz4PvT167bQHhm3I975d86fEeC6Ro+OvDDxARxLsCBFFZxmbNMg2+Ggt5y7l0GUa5lyjY+prKGrQ2ZWHASlwby8FCGe8fFzaJbag6841xiHE0PKPSySAnVq2gUHcLMAdsjCZsfAi0i15VDfKrd1W3Zlu6ikE9II/N89gVCVHI53Nnb7L9W445C8ido9qDSLEgOM= pespin at pespin-thinkpad diff --git a/osmo-gsm-tester/ssh/config b/osmo-gsm-tester/ssh/config new file mode 100644 index 0000000..6e350e5 --- /dev/null +++ b/osmo-gsm-tester/ssh/config @@ -0,0 +1,3 @@ +Host 172.18.50.* + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/osmo-gsm-tester/ssh/id_rsa b/osmo-gsm-tester/ssh/id_rsa new file mode 100644 index 0000000..8e9fab8 --- /dev/null +++ b/osmo-gsm-tester/ssh/id_rsa @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAxmD+/mKwo2dOMvuGq3AfCL+9oOuJ2CSb7vjOuhA1lTK9hr29Mhy7 +4v43iHx5SN078Qb6LsF+MLhZy5SOQTb68AdKwj5w88z31/qLJwJqrwW1VhWwEJKuMvfrU4 +sKoQD1fj1VvwJExqAxnYjHQy9dgME/Rx0SgmVGQXT1d0piqsUUyPqRWU0TkTrpVjAgRJ+y +5xIkIqq3Etre/XQyxZm52e+XPZTnsB2XxoC1FMI+W/ghysCzYhYSWHVaui7ciddQ/7JLRL +Pssim5+/9ZmxsvVMHtkZPudtV3Zrh6MPOn/bTj73UVapu5M7oJADTntqs+D709eu20B4Zt +yPe+XfOnxHgukaPjrww8QEcS7AgRRWcZmzTINvhoLecu5dBlGuZco2Pqayhq0NmVhwEpcG +8vBQhnvHxc2iW2oOvONcYhxNDyj0skgJ1atoFB3CzAHbIwmbHwItIteVQ3yq3dVt2Zbuop +BPSCPzfPYFQlRyOdzZ2+y/VuOOQvInaPag0ixIDjAAAFkPaSKFT2kihUAAAAB3NzaC1yc2 +EAAAGBAMZg/v5isKNnTjL7hqtwHwi/vaDridgkm+74zroQNZUyvYa9vTIcu+L+N4h8eUjd +O/EG+i7BfjC4WcuUjkE2+vAHSsI+cPPM99f6iycCaq8FtVYVsBCSrjL361OLCqEA9X49Vb +8CRMagMZ2Ix0MvXYDBP0cdEoJlRkF09XdKYqrFFMj6kVlNE5E66VYwIESfsucSJCKqtxLa +3v10MsWZudnvlz2U57Adl8aAtRTCPlv4IcrAs2IWElh1Wrou3InXUP+yS0Sz7LIpufv/WZ +sbL1TB7ZGT7nbVd2a4ejDzp/204+91FWqbuTO6CQA057arPg+9PXrttAeGbcj3vl3zp8R4 +LpGj468MPEBHEuwIEUVnGZs0yDb4aC3nLuXQZRrmXKNj6msoatDZlYcBKXBvLwUIZ7x8XN +oltqDrzjXGIcTQ8o9LJICdWraBQdwswB2yMJmx8CLSLXlUN8qt3VbdmW7qKQT0gj83z2BU +JUcjnc2dvsv1bjjkLyJ2j2oNIsSA4wAAAAMBAAEAAAGAN7ewhvRjFlIClbEtnuMr5EIuWY +8uNSX7IgCB16KL2i7ZKooKJJQLdXLfWBdV3VA98LF7/TvdXIO6vMIpvklZ66awqaPuB5vP +FLtK8Bburd/Vkasfu1fnU2tsjhdkUdo6GU3S0oYpmPwPU2bCSK15/prIUgnpU/Rr6iCWfP +3IfpxB/TzbLBDI6SZ5uPplZcDQ97ORsKbwKnyM2vUS+Yr2ty5i9SnodP+qzFcEBSOVbjFg +FFlRSMBYQL4dUGOvD4wItkBObpbujF9/GGVqnGcWhLRkxs/jmSZUUFhfhW4B8nyuwtRkiN +ISgvzEmTz26BquezaRVWzbvPFChroA3/NrciSg1+tNyKV7SQv1Q1z1ESqUhB00MbH9GRr0 +ICyxZfB8DLpDDIv2T7Foaqhd3cnbxnb9hfYI+cP0QXMAcIYhB1Vy7kyipMVi5oaU++B/u2 +rRZ2kv6Oqsl7e4eq3mD+wuy7cWN0J5oqcxNIByRNmkOPkmCpExClcS3UNUjCT9Z2wBAAAA +wQDW1IjZkNz8HdczvSB30Eg7uaoau7uoQngKrlDVZCFLxJCn2kwzwLw8AYkiTwtYNqBbje +LC5cBBudhVLO1yB1ZicAP+kmlNJpEWFkdwTkxP0rEc9EvlmM+c2N2jVEY74jOlWMmdXrux +BRoUViLrWjJPxhQZGECd7Ua/T9/cvGP4eKk3dNiWOudGJvc4w1AuvuISu1KGIv6e1pHwdA +BYficO6h2n4QJgTIgrs7rUgoGxFP6XtUSeTBBVm8MlkTJugAsAAADBAOvCZiWDSZuopPlx +V3t+cfMpEG+ieac4E4ohXu0/lQcbfHam1SHsH6hBCdjBYaNRy39wNhOE/Yj4SYnERNKWrd +v06uDBgMsSQFC6Xbuf2gLEFCmkMcsmYOP7F+aHJAcC/ZHK/iSDw/9LE2wqQgp7OgCICHaM +ZyxhPJbRTdgPGK44zTvYDaDUF4YU2dPTB1xh8WXws4D2Sz+mnxXaoLJCAAbWelr0TCPFzY +1tv2U8sYa6IpH64w2ZBHowOn/UYGnS4wAAAMEA12kJMzK8NwipiEjYTi36wlAXfJWsXzae +h3OL1iiaFYkEdJp3rPBAlwo9uZmZ5KckWRKRKQtDsEoVnbmF82OazJlO8tjEKXvXfXYBic +Z2dJWeXRUjWY6XuC6inYf00Aw7hH+2GBDiPL9kd20n7ZXOxErpMnHfdPutIYVF1b6w5Iwu +c/VAt4lnEodsC6rvO6Nuf87gOksuK4shX00WF9uia5HBy9tJqOO7mAwXV1qwqORRwSGIUx +UFWh/WcfQzQ/oBAAAAFnBlc3BpbkBwZXNwaW4tdGhpbmtwYWQBAgME +-----END OPENSSH PRIVATE KEY----- diff --git a/osmo-gsm-tester/ssh/id_rsa.pub b/osmo-gsm-tester/ssh/id_rsa.pub new file mode 100644 index 0000000..5d58f36 --- /dev/null +++ b/osmo-gsm-tester/ssh/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGYP7+YrCjZ04y+4arcB8Iv72g64nYJJvu+M66EDWVMr2Gvb0yHLvi/jeIfHlI3TvxBvouwX4wuFnLlI5BNvrwB0rCPnDzzPfX+osnAmqvBbVWFbAQkq4y9+tTiwqhAPV+PVW/AkTGoDGdiMdDL12AwT9HHRKCZUZBdPV3SmKqxRTI+pFZTROROulWMCBEn7LnEiQiqrcS2t79dDLFmbnZ75c9lOewHZfGgLUUwj5b+CHKwLNiFhJYdVq6LtyJ11D/sktEs+yyKbn7/1mbGy9Uwe2Rk+521XdmuHow86f9tOPvdRVqm7kzugkANOe2qz4PvT167bQHhm3I975d86fEeC6Ro+OvDDxARxLsCBFFZxmbNMg2+Ggt5y7l0GUa5lyjY+prKGrQ2ZWHASlwby8FCGe8fFzaJbag6841xiHE0PKPSySAnVq2gUHcLMAdsjCZsfAi0i15VDfKrd1W3Zlu6ikE9II/N89gVCVHI53Nnb7L9W445C8ido9qDSLEgOM= pespin at pespin-thinkpad diff --git a/osmo-gsm-tester/ssh/known_hosts b/osmo-gsm-tester/ssh/known_hosts new file mode 100644 index 0000000..5b4d64b --- /dev/null +++ b/osmo-gsm-tester/ssh/known_hosts @@ -0,0 +1 @@ +|1|eVQDORaCD0M0PU3796H/UNBd7UY=|HOZgOCC2cv57PWiBdDr60diz68A= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIW6ho8F4O1Mr9kTFbQAWTa7hB8UoaDzRha2ycVE8JmGRgX/L2iy4SeqlDDizoOT2kk4KBRWU0QxUWsxoUfzN6o= -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iac7c0b613048ce332642d3957c55cc7c53b56d42 Gerrit-Change-Number: 17143 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 Sun Mar 1 19:29:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Mar 2020 19:29:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSGP/IuUP: Fix license disclaimer copy+paste References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17307 ) Change subject: BSSGP/IuUP: Fix license disclaimer copy+paste ...................................................................... BSSGP/IuUP: Fix license disclaimer copy+paste The license disclaimer already stated GPLv2-or-later, it just stated confusingly you should look at the AGPL for reference. Fix that. Change-Id: I673c5c177a8e4010921f1fed747ce376f274da54 --- M library/BSSGP_Helper.cc M library/IuUP_EncDec.cc 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/17307/1 diff --git a/library/BSSGP_Helper.cc b/library/BSSGP_Helper.cc index 6a98eb4..2783d46 100644 --- a/library/BSSGP_Helper.cc +++ b/library/BSSGP_Helper.cc @@ -230,9 +230,9 @@ * 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. + * GNU General Public License for more details. * - * You should have received a copy of the GNU Affero General Public License + * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ diff --git a/library/IuUP_EncDec.cc b/library/IuUP_EncDec.cc index 81742e8..ac1e3f0 100644 --- a/library/IuUP_EncDec.cc +++ b/library/IuUP_EncDec.cc @@ -195,9 +195,9 @@ * 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. + * GNU General Public License for more details. * - * You should have received a copy of the GNU Affero General Public License + * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673c5c177a8e4010921f1fed747ce376f274da54 Gerrit-Change-Number: 17307 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 Mar 2 08:43:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 08:43:08 +0000 Subject: Change in osmo-ggsn[master]: netns: Improve error checking 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/+/17254 to look at the new patch set (#3). Change subject: netns: Improve error checking ...................................................................... netns: Improve error checking Change-Id: I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708 --- M lib/netns.c M lib/netns.h M sgsnemu/sgsnemu.c 3 files changed, 128 insertions(+), 61 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/54/17254/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708 Gerrit-Change-Number: 17254 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 Mon Mar 2 09:23:25 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 2 Mar 2020 09:23:25 +0000 Subject: Change in osmo-pcu[master]: llc_queue::{dequeue,enqueue}() refactor In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17282 ) Change subject: llc_queue::{dequeue,enqueue}() refactor ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17282/1/tests/llc/LlcTest.cpp File tests/llc/LlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17282/1/tests/llc/LlcTest.cpp at 77 PS1, Line 77: && : memcmp(&exp_info->expire_time, &info_res->expire_time, sizeof(info_res->expire_time)) == 0 Rather move this into a separate OSMO_ASSERT statement. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce Gerrit-Change-Number: 17282 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 09:23: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 Mar 2 09:49:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 09:49:24 +0000 Subject: Change in osmo-pcu[master]: llc_queue::{dequeue,enqueue}() refactor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17282 ) Change subject: llc_queue::{dequeue,enqueue}() refactor ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17282/1/tests/llc/LlcTest.cpp File tests/llc/LlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17282/1/tests/llc/LlcTest.cpp at 77 PS1, Line 77: && : memcmp(&exp_info->expire_time, &info_res->expire_time, sizeof(info_res->expire_time)) == 0 > Rather move this into a separate OSMO_ASSERT statement. What do you mean? Having an assert for each memcmp? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce Gerrit-Change-Number: 17282 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 09:49:24 +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 Mar 2 09:52:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 09:52:06 +0000 Subject: Change in osmo-gsm-tester[master]: junit: Replace invalid xml characters References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 ) Change subject: junit: Replace invalid xml characters ...................................................................... junit: Replace invalid xml characters Otherwise junit parser in jenkins fails: org.dom4j.DocumentException: Error on line 20231 of document : An invalid XML character (Unicode: 0x1b) was found in the element content of the document. Fixes: 5bbdab8d95dc739112a6d6999d438b5e142392b8 Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713 --- M src/osmo_gsm_tester/report.py 1 file changed, 22 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/08/17308/1 diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 6ee3464..8718d0e 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -18,11 +18,32 @@ # along with this program. If not, see . import math +import sys +import re from datetime import datetime import xml.etree.ElementTree as et from xml.sax.saxutils import escape from . import test +invalid_xml_char_ranges = [(0x00, 0x08), (0x0B, 0x0C), (0x0E, 0x1F), (0x7F, 0x84), + (0x86, 0x9F), (0xFDD0, 0xFDDF), (0xFFFE, 0xFFFF)] +if sys.maxunicode >= 0x10000: # not narrow build + invalid_xml_char_ranges.extend([(0x1FFFE, 0x1FFFF), (0x2FFFE, 0x2FFFF), + (0x3FFFE, 0x3FFFF), (0x4FFFE, 0x4FFFF), + (0x5FFFE, 0x5FFFF), (0x6FFFE, 0x6FFFF), + (0x7FFFE, 0x7FFFF), (0x8FFFE, 0x8FFFF), + (0x9FFFE, 0x9FFFF), (0xAFFFE, 0xAFFFF), + (0xBFFFE, 0xBFFFF), (0xCFFFE, 0xCFFFF), + (0xDFFFE, 0xDFFFF), (0xEFFFE, 0xEFFFF), + (0xFFFFE, 0xFFFFF), (0x10FFFE, 0x10FFFF)]) +invalid_xml_char_ranges_str = ['%s-%s' % (chr(low), chr(high)) + for (low, high) in invalid_xml_char_ranges] +invalid_xml_char_ranges_regex = re.compile('[%s]' % ''.join(invalid_xml_char_ranges_str)) + +def escape_xml_invalid_characters(str): + replacement_char = '\uFFFD' # Unicode replacement character + return invalid_xml_char_ranges_regex.sub(replacement_char, escape(str)) + def trial_to_junit_write(trial, junit_path): elements = et.ElementTree(element=trial_to_junit(trial)) elements.write(junit_path) @@ -68,7 +89,7 @@ log_file = t.log_file_path() if log_file is not None: with open(log_file, 'r') as myfile: - sout.text = escape(myfile.read()) + sout.text = escape_xml_invalid_characters(myfile.read()) else: sout.text = 'test log file not available' return testcase -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713 Gerrit-Change-Number: 17308 Gerrit-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 Mar 2 09:56:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Mar 2020 09:56:19 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Don't attempt libulfius x86_64 pkg install on... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17276 ) Change subject: debian-stretch-jenkins: Don't attempt libulfius x86_64 pkg install on different archs ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/17276/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/docker-playground/+/17276/3//COMMIT_MSG at 10 PS3, Line 10: 2.5 is available in usual debian feeds (also for ARM). libulfius 2.5 is available for buster, no version of it is available for stretch: https://packages.debian.org/search?keywords=ulfius So simply remove that part of the commit message? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 09:56: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 Mon Mar 2 10:11:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 10:11:02 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Remove old comment not longer applying References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17309 ) Change subject: srsue: Remove old comment not longer applying ...................................................................... srsue: Remove old comment not longer applying Change-Id: I1718dbb701c5dcd5a4081d3d91ae9f192418e7df --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/09/17309/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 0accaea..38e2baf 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -211,7 +211,6 @@ return self._addr def run_node(self): - # TODO: move to an object return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) def run_netns_wait(self, name, popen_args): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1718dbb701c5dcd5a4081d3d91ae9f192418e7df Gerrit-Change-Number: 17309 Gerrit-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 Mar 2 10:11:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 10:11:08 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable metrics csv file generation References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 ) Change subject: srsue: Enable metrics csv file generation ...................................................................... srsue: Enable metrics csv file generation Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60 --- M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/10/17310/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 38e2baf..11a6966 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -34,6 +34,7 @@ CFGFILE = 'srsue.conf' PCAPFILE = 'srsue.pcap' LOGFILE = 'srsue.log' + METRICSFILE = 'srsue_metrics.csv' def __init__(self, suite_run, conf): self._addr = conf.get('addr', None) @@ -45,11 +46,13 @@ self.config_file = None self.log_file = None self.pcap_file = None + self.metrics_file = None self.process = None self.rem_host = None self.remote_config_file = None self.remote_log_file = None self.remote_pcap_file = None + self.remote_metrics_file = None self.suite_run = suite_run self.nof_prb=50 if self.nof_prb == 75: @@ -74,6 +77,10 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) + try: + self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) + except Exception as e: + self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -106,6 +113,7 @@ 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.rem_host.recreate_remote_dir(remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) @@ -134,7 +142,8 @@ '--gw.netns=' + self.netns(), '--log.filename=' + 'stdout', #self.remote_log_file, '--pcap.enable=true', - '--pcap.filename=' + self.remote_pcap_file) + '--pcap.filename=' + self.remote_pcap_file, + '--general.metrics_csv_filename=' + self.remote_metrics_file) self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) @@ -170,7 +179,8 @@ '--gw.netns=' + self.netns(), '--log.filename=' + self.log_file, '--pcap.enable=true', - '--pcap.filename=' + self.pcap_file) + '--pcap.filename=' + self.pcap_file, + '--general.metrics_csv_filename=' + self.metrics_file) self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -181,6 +191,7 @@ self.config_file = self.run_dir.new_file(srsUE.CFGFILE) self.log_file = self.run_dir.child(srsUE.LOGFILE) self.pcap_file = self.run_dir.new_file(srsUE.PCAPFILE) + self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) self.dbg(config_file=self.config_file) values = dict(ue=config.get_defaults('srsue')) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index eef5a7e..5cca60c 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -344,6 +344,6 @@ # ##################################################################### [general] -#metrics_csv_enable = false +metrics_csv_enable = true #metrics_period_secs = 1 #metrics_csv_filename = /tmp/ue_metrics.csv -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60 Gerrit-Change-Number: 17310 Gerrit-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 Mar 2 10:11:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 10:11:09 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable pcap through config file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 ) Change subject: srsue: Enable pcap through config file ...................................................................... srsue: Enable pcap through config file Change-Id: I15219d707aea778fefa8911362278442fa09550c --- M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/11/17311/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 11a6966..8c6f73a 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -141,7 +141,6 @@ '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + 'stdout', #self.remote_log_file, - '--pcap.enable=true', '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file) @@ -178,7 +177,6 @@ '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.log_file, - '--pcap.enable=true', '--pcap.filename=' + self.pcap_file, '--general.metrics_csv_filename=' + self.metrics_file) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 5cca60c..627f592 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -71,7 +71,7 @@ # nas_filename: File path to use for NAS packet captures ##################################################################### [pcap] -enable = false +enable = true filename = /tmp/ue.pcap nas_enable = false nas_filename = /tmp/nas.pcap -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15219d707aea778fefa8911362278442fa09550c Gerrit-Change-Number: 17311 Gerrit-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 Mar 2 10:34:01 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 2 Mar 2020 10:34:01 +0000 Subject: Change in osmo-pcu[master]: llc_queue::{dequeue,enqueue}() refactor In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17282 ) Change subject: llc_queue::{dequeue,enqueue}() refactor ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17282/1/tests/llc/LlcTest.cpp File tests/llc/LlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17282/1/tests/llc/LlcTest.cpp at 77 PS1, Line 77: && : memcmp(&exp_info->expire_time, &info_res->expire_time, sizeof(info_res->expire_time)) == 0 > What do you mean? Having an assert for each memcmp? Yep. Not a merge blocker though. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce Gerrit-Change-Number: 17282 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 10:34: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 Mar 2 11:05:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 11:05:11 +0000 Subject: Change in osmo-pcu[master]: llc_queue::{dequeue,enqueue}() refactor 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-pcu/+/17282 to look at the new patch set (#2). Change subject: llc_queue::{dequeue,enqueue}() refactor ...................................................................... llc_queue::{dequeue,enqueue}() refactor As seen in OS#4420, setting the MetaInfo.recv_time outside of llc_queue before calling llc_queue::enqueue() and later on using that value in llc_queue itself at dequeue time is not a good idea, since it can provoke errors if the recv_time was not set correctly. For instance, LlcTest was not setting the value for recv_time on some test, which ended up with a huge millisec value when substracting now() from it: """ llc.cpp:215:29: runtime error: signed integer overflow: 1582738663 * 1000 cannot be represented in type 'long int' """ This issue only appeared when started building on a raspberrypi4. Let's better set/store the MetaInfo.recv_time internally during llc_queue::enqueue(). Then, enqueue() only needs the MetaInfo.expire_time, so let's change its arg list to only receive that to avoid confusions. Take the chance to move the llc_queue APIs to use osmo_gettimeofday, since we need to fake the time now that the API itself sets that time. Also take the chance during this refactor to disallow passing null pointer by default since no user needs that. Finally, update the LlcTest accordingly with all API/behavior changes. Related: OS#4420 Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce --- M src/llc.cpp M src/llc.h M src/tbf_dl.cpp M tests/llc/LlcTest.cpp 4 files changed, 57 insertions(+), 47 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/82/17282/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce Gerrit-Change-Number: 17282 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 Mon Mar 2 11:08:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 11:08:03 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Fix zmq base_rate calculation and share value References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 ) Change subject: srsue,srsenb: Fix zmq base_rate calculation and share value ...................................................................... srsue,srsenb: Fix zmq base_rate calculation and share value Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 52 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/12/17312/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 85180e4..1cfd212 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -25,6 +25,25 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF') +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + class srsENB(log.Origin): REMOTE_DIR = '/osmo-gsm-tester-srsenb' @@ -56,6 +75,7 @@ self.remote_config_rr_file = None self.remote_config_drb_file = None self.remote_log_file = None + self._num_prb = 0 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -161,15 +181,12 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - num_prb = values['enb'].get('num_prb', None) - assert num_prb - if num_prb == 75: - base_srate=15.36e6 - else: - base_srate=23.04e6 + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + base_srate = num_prb2base_srate(self._num_prb) rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \ - + ':2000,rx_port=tcp://'+ self.ue.addr() \ - + ':2001,id=enb,base_srate='+ str(base_srate) + + ':2000,rx_port=tcp://' + self.ue.addr() \ + + ':2001,id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) @@ -202,4 +219,7 @@ def addr(self): return self._addr + def num_prb(self): + return self._num_prb + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 8c6f73a..cbd8a68 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -27,6 +27,25 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF') +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + class srsUE(MS): REMOTE_DIR = '/osmo-gsm-tester-srsue' @@ -54,11 +73,6 @@ self.remote_pcap_file = None self.remote_metrics_file = None self.suite_run = suite_run - self.nof_prb=50 - if self.nof_prb == 75: - self.base_srate=15.36e6 - else: - self.base_srate=23.04e6 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)) @@ -198,7 +212,11 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://'+ self.addr() +':2001,rx_port=tcp://'+ self.enb.addr() +':2000,id=ue,base_srate='+ str(self.base_srate)))) + base_srate = num_prb2base_srate(self.enb.num_prb()) + config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://' + self.addr() + +':2001,rx_port=tcp://' + self.enb.addr() + +':2000,id=ue,base_srate='+ str(base_srate) + ))) self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 Gerrit-Change-Number: 17312 Gerrit-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 Mar 2 11:21:02 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 2 Mar 2020 11:21:02 +0000 Subject: Change in osmo-pcu[master]: llc_queue::{dequeue,enqueue}() refactor In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17282 ) Change subject: llc_queue::{dequeue,enqueue}() refactor ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce Gerrit-Change-Number: 17282 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 11:21: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 Mar 2 13:08:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 13:08:55 +0000 Subject: Change in osmo-pcu[master]: llc_queue::{dequeue,enqueue}() refactor In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17282 ) Change subject: llc_queue::{dequeue,enqueue}() refactor ...................................................................... llc_queue::{dequeue,enqueue}() refactor As seen in OS#4420, setting the MetaInfo.recv_time outside of llc_queue before calling llc_queue::enqueue() and later on using that value in llc_queue itself at dequeue time is not a good idea, since it can provoke errors if the recv_time was not set correctly. For instance, LlcTest was not setting the value for recv_time on some test, which ended up with a huge millisec value when substracting now() from it: """ llc.cpp:215:29: runtime error: signed integer overflow: 1582738663 * 1000 cannot be represented in type 'long int' """ This issue only appeared when started building on a raspberrypi4. Let's better set/store the MetaInfo.recv_time internally during llc_queue::enqueue(). Then, enqueue() only needs the MetaInfo.expire_time, so let's change its arg list to only receive that to avoid confusions. Take the chance to move the llc_queue APIs to use osmo_gettimeofday, since we need to fake the time now that the API itself sets that time. Also take the chance during this refactor to disallow passing null pointer by default since no user needs that. Finally, update the LlcTest accordingly with all API/behavior changes. Related: OS#4420 Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce --- M src/llc.cpp M src/llc.h M src/tbf_dl.cpp M tests/llc/LlcTest.cpp 4 files changed, 57 insertions(+), 47 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, approved diff --git a/src/llc.cpp b/src/llc.cpp index b155063..4cd0cc4 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -103,18 +103,19 @@ m_avg_queue_delay = 0; } -void gprs_llc_queue::enqueue(struct msgb *llc_msg, const MetaInfo *info) + +void gprs_llc_queue::enqueue(struct msgb *llc_msg, const struct timeval *expire_time) { - static const MetaInfo def_meta = {{0}}; MetaInfo *meta_storage; - osmo_static_assert(sizeof(*info) <= sizeof(llc_msg->cb), info_does_not_fit); + osmo_static_assert(sizeof(*meta_storage) <= sizeof(llc_msg->cb), info_does_not_fit); m_queue_size += 1; m_queue_octets += msgb_length(llc_msg); meta_storage = (MetaInfo *)&llc_msg->cb[0]; - *meta_storage = info ? *info : def_meta; + osmo_gettimeofday(&meta_storage->recv_time, NULL); + meta_storage->expire_time = *expire_time; msgb_enqueue(&m_queue, llc_msg); } @@ -208,7 +209,7 @@ m_queue_octets -= msgb_length(msg); /* take the second time */ - gettimeofday(&tv_now, NULL); + osmo_gettimeofday(&tv_now, NULL); tv = (struct timeval *)&msg->data[sizeof(*tv)]; timersub(&tv_now, &meta_storage->recv_time, &tv_result); @@ -234,7 +235,7 @@ /* calculate timestamp of timeout */ struct timeval now, csec; - gettimeofday(&now, NULL); + osmo_gettimeofday(&now, NULL); csec.tv_usec = (delay_csec % 100) * 10000; csec.tv_sec = delay_csec / 100; diff --git a/src/llc.h b/src/llc.h index 2e7229c..8667e00 100644 --- a/src/llc.h +++ b/src/llc.h @@ -75,7 +75,7 @@ void init(); - void enqueue(struct msgb *llc_msg, const MetaInfo *info = 0); + void enqueue(struct msgb *llc_msg, const struct timeval *expire_time); struct msgb *dequeue(const MetaInfo **info = 0); void clear(BTS *bts); void move_and_merge(gprs_llc_queue *o); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 7113d65..5c0fd9d 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -108,16 +108,17 @@ const uint16_t pdu_delay_csec, const uint8_t *data, const uint16_t len) { + struct timeval expire_time; + LOGPTBFDL(this, LOGL_DEBUG, "appending %u bytes\n", len); - gprs_llc_queue::MetaInfo info; + struct msgb *llc_msg = msgb_alloc(len, "llc_pdu_queue"); if (!llc_msg) return -ENOMEM; - gprs_llc_queue::calc_pdu_lifetime(bts, pdu_delay_csec, &info.expire_time); - gettimeofday(&info.recv_time, NULL); + gprs_llc_queue::calc_pdu_lifetime(bts, pdu_delay_csec, &expire_time); memcpy(msgb_put(llc_msg, len), data, len); - llc_queue()->enqueue(llc_msg, &info); + llc_queue()->enqueue(llc_msg, &expire_time); tbf_update_ms_class(this, ms_class); start_llc_timer(); diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index 8163f34..d6dd5fb 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include } @@ -43,7 +44,7 @@ bool spoof_mnc_3_digits = false; static void enqueue_data(gprs_llc_queue *queue, const uint8_t *data, size_t len, - gprs_llc_queue::MetaInfo *info = 0) + const struct timeval *expire_time) { struct timeval *tv; uint8_t *msg_data; @@ -54,11 +55,11 @@ memcpy(msg_data, data, len); - queue->enqueue(llc_msg, info); + queue->enqueue(llc_msg, expire_time); } static void dequeue_and_check(gprs_llc_queue *queue, const uint8_t *exp_data, - size_t len, const gprs_llc_queue::MetaInfo *exp_info = 0) + size_t len, const gprs_llc_queue::MetaInfo *exp_info) { struct msgb *llc_msg; const gprs_llc_queue::MetaInfo *info_res; @@ -72,16 +73,17 @@ if (!msgb_eq_data_print(llc_msg, exp_data, len)) fprintf(stderr, "check failed!\n"); - if (exp_info) - OSMO_ASSERT(memcmp(exp_info, info_res, sizeof(*exp_info)) == 0); - + if (exp_info) { + OSMO_ASSERT(memcmp(&exp_info->recv_time, &info_res->recv_time, sizeof(info_res->recv_time)) == 0); + OSMO_ASSERT(memcmp(&exp_info->expire_time, &info_res->expire_time, sizeof(info_res->expire_time)) == 0); + } msgb_free(llc_msg); } static void enqueue_data(gprs_llc_queue *queue, const char *message, - gprs_llc_queue::MetaInfo *info = 0) + const struct timeval *expire_time) { - enqueue_data(queue, (uint8_t *)(message), strlen(message), info); + enqueue_data(queue, (uint8_t *)(message), strlen(message), expire_time); } static void dequeue_and_check(gprs_llc_queue *queue, const char *exp_message, @@ -94,6 +96,7 @@ static void test_llc_queue() { gprs_llc_queue queue; + struct timeval expire_time = {0}; printf("=== start %s ===\n", __func__); @@ -101,11 +104,11 @@ OSMO_ASSERT(queue.size() == 0); OSMO_ASSERT(queue.octets() == 0); - enqueue_data(&queue, "LLC message"); + enqueue_data(&queue, "LLC message", &expire_time); OSMO_ASSERT(queue.size() == 1); OSMO_ASSERT(queue.octets() == 11); - enqueue_data(&queue, "other LLC message"); + enqueue_data(&queue, "other LLC message", &expire_time); OSMO_ASSERT(queue.size() == 2); OSMO_ASSERT(queue.octets() == 28); @@ -117,7 +120,7 @@ OSMO_ASSERT(queue.size() == 0); OSMO_ASSERT(queue.octets() == 0); - enqueue_data(&queue, "LLC"); + enqueue_data(&queue, "LLC", &expire_time); OSMO_ASSERT(queue.size() == 1); OSMO_ASSERT(queue.octets() == 3); @@ -131,18 +134,8 @@ static void test_llc_meta() { gprs_llc_queue queue; - gprs_llc_queue::MetaInfo info1; - gprs_llc_queue::MetaInfo info2; - - info1.recv_time.tv_sec = 123456777; - info1.recv_time.tv_usec = 123456; - info1.expire_time.tv_sec = 123456789; - info1.expire_time.tv_usec = 987654; - - info2.recv_time.tv_sec = 987654321; - info2.recv_time.tv_usec = 547352; - info2.expire_time.tv_sec = 987654327; - info2.expire_time.tv_usec = 867252; + gprs_llc_queue::MetaInfo info1 = {0}; + gprs_llc_queue::MetaInfo info2 = {0}; printf("=== start %s ===\n", __func__); @@ -150,8 +143,19 @@ OSMO_ASSERT(queue.size() == 0); OSMO_ASSERT(queue.octets() == 0); - enqueue_data(&queue, "LLC message 1", &info1); - enqueue_data(&queue, "LLC message 2", &info2); + info1.recv_time.tv_sec = 123456777; + info1.recv_time.tv_usec = 123456; + info1.expire_time.tv_sec = 123456789; + info1.expire_time.tv_usec = 987654; + osmo_gettimeofday_override_time = info1.recv_time; + enqueue_data(&queue, "LLC message 1", &info1.expire_time); + + info2.recv_time.tv_sec = 987654321; + info2.recv_time.tv_usec = 547352; + info2.expire_time.tv_sec = 987654327; + info2.expire_time.tv_usec = 867252; + osmo_gettimeofday_override_time = info2.recv_time; + enqueue_data(&queue, "LLC message 2", &info2.expire_time); dequeue_and_check(&queue, "LLC message 1", &info1); dequeue_and_check(&queue, "LLC message 2", &info2); @@ -167,27 +171,27 @@ { gprs_llc_queue queue1; gprs_llc_queue queue2; - gprs_llc_queue::MetaInfo info = {0}; + struct timeval expire_time = {0}; printf("=== start %s ===\n", __func__); queue1.init(); queue2.init(); - info.recv_time.tv_sec += 1; - enqueue_data(&queue1, "*A*", &info); + osmo_gettimeofday_override_time.tv_sec += 1; + enqueue_data(&queue1, "*A*", &expire_time); - info.recv_time.tv_sec += 1; - enqueue_data(&queue1, "*B*", &info); + osmo_gettimeofday_override_time.tv_sec += 1; + enqueue_data(&queue1, "*B*", &expire_time); - info.recv_time.tv_sec += 1; - enqueue_data(&queue2, "*C*", &info); + osmo_gettimeofday_override_time.tv_sec += 1; + enqueue_data(&queue2, "*C*", &expire_time); - info.recv_time.tv_sec += 1; - enqueue_data(&queue1, "*D*", &info); + osmo_gettimeofday_override_time.tv_sec += 1; + enqueue_data(&queue1, "*D*", &expire_time); - info.recv_time.tv_sec += 1; - enqueue_data(&queue2, "*E*", &info); + osmo_gettimeofday_override_time.tv_sec += 1; + enqueue_data(&queue2, "*E*", &expire_time); OSMO_ASSERT(queue1.size() == 3); OSMO_ASSERT(queue1.octets() == 9); @@ -231,6 +235,10 @@ vty_init(&pcu_vty_info); pcu_vty_init(); + osmo_gettimeofday_override = true; + osmo_gettimeofday_override_time.tv_sec = 123456777; + osmo_gettimeofday_override_time.tv_usec = 123456; + test_llc_queue(); test_llc_meta(); test_llc_merge(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief6b1464dc779ff22adc2b02da7a006cd772ebce Gerrit-Change-Number: 17282 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 Mon Mar 2 13:23:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 13:23:00 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17313 ) Change subject: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy ...................................................................... ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89 --- M ansible/roles/gsm-tester/tasks/main.yml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/13/17313/1 diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index fc3def9..c4be6ef 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -216,6 +216,7 @@ - python3-yaml - python3-mako - python3-gi + - python3-numpy - ofono - patchelf - libcap2-bin -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89 Gerrit-Change-Number: 17313 Gerrit-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 Mar 2 13:28:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:28:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3_makefilegen: Generate gnu make files (we use Linux...) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17314 ) Change subject: ttcn3_makefilegen: Generate gnu make files (we use Linux...) ...................................................................... ttcn3_makefilegen: Generate gnu make files (we use Linux...) Change-Id: I21de4dd375139ad24c742c12a948f7ba0b0ade76 --- M regen-makefile.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/17314/1 diff --git a/regen-makefile.sh b/regen-makefile.sh index 7be47bb..a2aa946 100755 --- a/regen-makefile.sh +++ b/regen-makefile.sh @@ -40,7 +40,7 @@ USE_CCACHE=1 fi -ttcn3_makefilegen -p -l -U 5 -f $* +ttcn3_makefilegen -g -p -l -U 5 -f $* TITAN_VERSION=$(ttcn3_makefilegen -v 2>&1 |grep "Product number" |cut --delimiter="/" -f 2-| sed -e "s/[A-Z ]//g") -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21de4dd375139ad24c742c12a948f7ba0b0ade76 Gerrit-Change-Number: 17314 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 Mar 2 13:29:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:29:32 +0000 Subject: Change in simtrace2[master]: cardem: Fix infinite loop + watchdog reset on long OUT message In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17305 ) Change subject: cardem: Fix infinite loop + watchdog reset on long OUT message ...................................................................... cardem: Fix infinite loop + watchdog reset on long OUT message In dispatch_received_usb_msg(), we ran into an infinite loop if a too long messages was received on the OUT EP. Let's break the loop. Change-Id: I5325ed15d3dd79a42f8dac34d618e86b9334c301 Closes: OS#4429 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index c5c173f..5b17f86 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -682,6 +682,7 @@ TRACE_ERROR("%u: Unexpected large message (%u bytes)\n", ci->num, mh->msg_len); usb_buf_free(segm); + break; } else { uint8_t *cur = msgb_put(segm, mh->msg_len); segm->l1h = segm->head; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5325ed15d3dd79a42f8dac34d618e86b9334c301 Gerrit-Change-Number: 17305 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 Mon Mar 2 13:30:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:30:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSGP/IuUP: Fix license disclaimer copy+paste In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17307 ) Change subject: BSSGP/IuUP: Fix license disclaimer copy+paste ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673c5c177a8e4010921f1fed747ce376f274da54 Gerrit-Change-Number: 17307 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13: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 Mon Mar 2 13:30:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:30:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3_makefilegen: Generate gnu make files (we use Linux...) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17314 ) Change subject: ttcn3_makefilegen: Generate gnu make files (we use Linux...) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21de4dd375139ad24c742c12a948f7ba0b0ade76 Gerrit-Change-Number: 17314 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:30: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 Mar 2 13:30:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:30:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSSGP/IuUP: Fix license disclaimer copy+paste In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17307 ) Change subject: BSSGP/IuUP: Fix license disclaimer copy+paste ...................................................................... BSSGP/IuUP: Fix license disclaimer copy+paste The license disclaimer already stated GPLv2-or-later, it just stated confusingly you should look at the AGPL for reference. Fix that. Change-Id: I673c5c177a8e4010921f1fed747ce376f274da54 --- M library/BSSGP_Helper.cc M library/IuUP_EncDec.cc 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/BSSGP_Helper.cc b/library/BSSGP_Helper.cc index 6a98eb4..2783d46 100644 --- a/library/BSSGP_Helper.cc +++ b/library/BSSGP_Helper.cc @@ -230,9 +230,9 @@ * 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. + * GNU General Public License for more details. * - * You should have received a copy of the GNU Affero General Public License + * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ diff --git a/library/IuUP_EncDec.cc b/library/IuUP_EncDec.cc index 81742e8..ac1e3f0 100644 --- a/library/IuUP_EncDec.cc +++ b/library/IuUP_EncDec.cc @@ -195,9 +195,9 @@ * 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. + * GNU General Public License for more details. * - * You should have received a copy of the GNU Affero General Public License + * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I673c5c177a8e4010921f1fed747ce376f274da54 Gerrit-Change-Number: 17307 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 Mar 2 13:30:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:30:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3_makefilegen: Generate gnu make files (we use Linux...) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17314 ) Change subject: ttcn3_makefilegen: Generate gnu make files (we use Linux...) ...................................................................... ttcn3_makefilegen: Generate gnu make files (we use Linux...) Change-Id: I21de4dd375139ad24c742c12a948f7ba0b0ade76 --- M regen-makefile.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/regen-makefile.sh b/regen-makefile.sh index 7be47bb..a2aa946 100755 --- a/regen-makefile.sh +++ b/regen-makefile.sh @@ -40,7 +40,7 @@ USE_CCACHE=1 fi -ttcn3_makefilegen -p -l -U 5 -f $* +ttcn3_makefilegen -g -p -l -U 5 -f $* TITAN_VERSION=$(ttcn3_makefilegen -v 2>&1 |grep "Product number" |cut --delimiter="/" -f 2-| sed -e "s/[A-Z ]//g") -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21de4dd375139ad24c742c12a948f7ba0b0ade76 Gerrit-Change-Number: 17314 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 Mar 2 13:30:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:30:45 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17313 ) Change subject: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89 Gerrit-Change-Number: 17313 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:30: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 Mar 2 13:32:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:32:14 +0000 Subject: Change in osmo-ggsn[master]: add Linux network namespace support for TUN device In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17253 ) Change subject: add Linux network namespace support for TUN device ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Idd0ad8fa9c8e7ba0aeec1b52947598d4d297b620 Gerrit-Change-Number: 17253 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 13: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 Mon Mar 2 13:32:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:32:16 +0000 Subject: Change in osmo-ggsn[master]: netns: Improve error checking In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17254 ) Change subject: netns: Improve error checking ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708 Gerrit-Change-Number: 17254 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:32: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 Mar 2 13:32:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:32:23 +0000 Subject: Change in osmo-ggsn[master]: add Linux network namespace support for TUN device In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17253 ) Change subject: add Linux network namespace support for TUN device ...................................................................... add Linux network namespace support for TUN device Change-Id: Idd0ad8fa9c8e7ba0aeec1b52947598d4d297b620 --- M lib/Makefile.am A lib/netns.c A lib/netns.h M sgsnemu/cmdline.c M sgsnemu/cmdline.ggo M sgsnemu/cmdline.h M sgsnemu/sgsnemu.c 7 files changed, 294 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/lib/Makefile.am b/lib/Makefile.am index 533d777..f2c5dc9 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,10 +1,10 @@ noinst_LIBRARIES = libmisc.a -noinst_HEADERS = gnugetopt.h ippool.h lookup.h syserr.h tun.h in46_addr.h netdev.h gtp-kernel.h util.h +noinst_HEADERS = gnugetopt.h ippool.h lookup.h syserr.h tun.h in46_addr.h netdev.h gtp-kernel.h netns.h util.h AM_CFLAGS = -O2 -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb $(LIBOSMOCORE_CFLAGS) -libmisc_a_SOURCES = getopt1.c getopt.c ippool.c lookup.c tun.c debug.c in46_addr.c netdev.c util.c +libmisc_a_SOURCES = getopt1.c getopt.c ippool.c lookup.c tun.c debug.c in46_addr.c netdev.c netns.c util.c if ENABLE_GTP_KERNEL AM_CFLAGS += -DGTP_KERNEL $(LIBGTPNL_CFLAGS) diff --git a/lib/netns.c b/lib/netns.c new file mode 100644 index 0000000..6734b5d --- /dev/null +++ b/lib/netns.c @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2014-2017, Travelping GmbH + * + * 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 . + * + */ + +#if defined(__linux__) + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "netns.h" + +#define NETNS_PATH "/var/run/netns" + +static int default_nsfd; + +int switch_ns(int nsfd, sigset_t *oldmask) +{ + sigset_t intmask; + + sigfillset(&intmask); + sigprocmask(SIG_BLOCK, &intmask, oldmask); + + return setns(nsfd, CLONE_NEWNET); +} + +void restore_ns(sigset_t *oldmask) +{ + setns(default_nsfd, CLONE_NEWNET); + + sigprocmask(SIG_SETMASK, oldmask, NULL); +} + +int open_ns(int nsfd, const char *pathname, int flags) +{ + sigset_t intmask, oldmask; + int fd; + int errsv; + + sigfillset(&intmask); + sigprocmask(SIG_BLOCK, &intmask, &oldmask); + + setns(nsfd, CLONE_NEWNET); + fd = open(pathname, flags); + errsv = errno; + setns(default_nsfd, CLONE_NEWNET); + + sigprocmask(SIG_SETMASK, &oldmask, NULL); + + errno = errsv; + return fd; +} + +int socket_ns(int nsfd, int domain, int type, int protocol) +{ + sigset_t intmask, oldmask; + int sk; + int errsv; + + sigfillset(&intmask); + sigprocmask(SIG_BLOCK, &intmask, &oldmask); + + setns(nsfd, CLONE_NEWNET); + sk = socket(domain, type, protocol); + errsv = errno; + setns(default_nsfd, CLONE_NEWNET); + + sigprocmask(SIG_SETMASK, &oldmask, NULL); + + errno = errsv; + return sk; +} + +void init_netns() +{ + if ((default_nsfd = open("/proc/self/ns/net", O_RDONLY)) < 0) { + perror("init_netns"); + exit(EXIT_FAILURE); + } +} + +int get_nsfd(const char *name) +{ + int r; + sigset_t intmask, oldmask; + char path[MAXPATHLEN] = NETNS_PATH; + + r = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); + if (r < 0 && errno != EEXIST) + return r; + + snprintf(path, sizeof(path), "%s/%s", NETNS_PATH, name); + r = open(path, O_RDONLY|O_CREAT|O_EXCL, 0); + if (r < 0) { + if (errno == EEXIST) + return open(path, O_RDONLY); + + return r; + } + close(r); + + sigfillset(&intmask); + sigprocmask(SIG_BLOCK, &intmask, &oldmask); + + unshare(CLONE_NEWNET); + mount("/proc/self/ns/net", path, "none", MS_BIND, NULL); + + setns(default_nsfd, CLONE_NEWNET); + + sigprocmask(SIG_SETMASK, &oldmask, NULL); + + return open(path, O_RDONLY); +} + +#endif diff --git a/lib/netns.h b/lib/netns.h new file mode 100644 index 0000000..168e44f --- /dev/null +++ b/lib/netns.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2014-2017, Travelping GmbH + * + * 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 . + * + */ + +#ifndef __NETNS_H +#define __NETNS_H + +#if defined(__linux__) + +void init_netns(void); + +int switch_ns(int nsfd, sigset_t *oldmask); +void restore_ns(sigset_t *oldmask); + +int open_ns(int nsfd, const char *pathname, int flags); +int socket_ns(int nsfd, int domain, int type, int protocol); +int get_nsfd(const char *name); + +#endif + +#endif diff --git a/sgsnemu/cmdline.c b/sgsnemu/cmdline.c index b062533..13d0295 100644 --- a/sgsnemu/cmdline.c +++ b/sgsnemu/cmdline.c @@ -72,6 +72,7 @@ " --ipup=STRING Script to run after link-up", " --ipdown=STRING Script to run after link-down", " --tun-device=STRING Name of the local network interface", + " --netns=STRING Network namespace to use", "\n Mode: pinghost\n generate ICMP payload inside G-PDU without setting up tun interface", " --pinghost=STRING Ping remote host", " --pingrate=INT Number of ping req per second (default=`1')", @@ -163,6 +164,7 @@ args_info->ipup_given = 0; args_info->ipdown_given = 0; args_info->tun_device_given = 0; + args_info->netns_given = 0; args_info->pinghost_given = 0; args_info->pingrate_given = 0; args_info->pingsize_given = 0; @@ -244,6 +246,8 @@ args_info->ipdown_orig = NULL; args_info->tun_device_arg = NULL; args_info->tun_device_orig = NULL; + args_info->netns_arg = NULL; + args_info->netns_orig = NULL; args_info->pinghost_arg = NULL; args_info->pinghost_orig = NULL; args_info->pingrate_arg = 1; @@ -300,13 +304,14 @@ args_info->ipup_help = gengetopt_args_info_help[35]; args_info->ipdown_help = gengetopt_args_info_help[36]; args_info->tun_device_help = gengetopt_args_info_help[37]; - args_info->pinghost_help = gengetopt_args_info_help[39]; - args_info->pingrate_help = gengetopt_args_info_help[40]; - args_info->pingsize_help = gengetopt_args_info_help[41]; - args_info->pingcount_help = gengetopt_args_info_help[42]; - args_info->pingquiet_help = gengetopt_args_info_help[43]; - args_info->no_tx_gpdu_seq_help = gengetopt_args_info_help[44]; - args_info->pdp_type_help = gengetopt_args_info_help[45]; + args_info->netns_help = gengetopt_args_info_help[38]; + args_info->pinghost_help = gengetopt_args_info_help[40]; + args_info->pingrate_help = gengetopt_args_info_help[41]; + args_info->pingsize_help = gengetopt_args_info_help[42]; + args_info->pingcount_help = gengetopt_args_info_help[43]; + args_info->pingquiet_help = gengetopt_args_info_help[44]; + args_info->no_tx_gpdu_seq_help = gengetopt_args_info_help[45]; + args_info->pdp_type_help = gengetopt_args_info_help[46]; } @@ -432,6 +437,8 @@ free_string_field(&(args_info->ipdown_orig)); free_string_field(&(args_info->tun_device_arg)); free_string_field(&(args_info->tun_device_orig)); + free_string_field(&(args_info->netns_arg)); + free_string_field(&(args_info->netns_orig)); free_string_field(&(args_info->pinghost_arg)); free_string_field(&(args_info->pinghost_orig)); free_string_field(&(args_info->pingrate_orig)); @@ -545,6 +552,8 @@ if (args_info->tun_device_given) write_into_file(outfile, "tun-device", args_info->tun_device_orig, 0); + if (args_info->netns_given) + write_into_file(outfile, "netns", args_info->netns_orig, 0); if (args_info->pinghost_given) write_into_file(outfile, "pinghost", args_info->pinghost_orig, 0); @@ -709,6 +718,12 @@ prog_name, (additional_error ? additional_error : "")); error_occurred = 1; } + if (args_info->netns_given && !args_info->createif_given) { + fprintf(stderr, + "%s: '--netns' option depends on option 'createif'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } if (args_info->pingrate_given && !args_info->pinghost_given) { fprintf(stderr, "%s: '--pingrate' option depends on option 'pinghost'%s\n", @@ -954,6 +969,7 @@ {"ipup", 1, NULL, 0}, {"ipdown", 1, NULL, 0}, {"tun-device", 1, NULL, 0}, + {"netns", 1, NULL, 0}, {"pinghost", 1, NULL, 0}, {"pingrate", 1, NULL, 0}, {"pingsize", 1, NULL, 0}, @@ -1494,6 +1510,22 @@ goto failure; } + /* Network namespace to use. */ + else if (strcmp + (long_options[option_index].name, + "netns") == 0) { + args_info->createif_mode_counter += 1; + + if (update_arg((void *)&(args_info->netns_arg), + &(args_info->netns_orig), + &(args_info->netns_given), + &(local_args_info.netns_given), + optarg, 0, 0, ARG_STRING, + check_ambiguity, override, 0, 0, + "netns", '-', additional_error)) + goto failure; + + } /* Ping remote host. */ else if (strcmp (long_options[option_index].name, @@ -1609,11 +1641,12 @@ int createif_given[] = { args_info->createif_given, args_info->net_given, args_info->defaultroute_given, args_info->ipup_given, - args_info->ipdown_given, args_info->tun_device_given, -1 + args_info->ipdown_given, args_info->tun_device_given, + args_info->netns_given, -1 }; const char *createif_desc[] = { "--createif", "--net", "--defaultroute", "--ipup", - "--ipdown", "--tun-device", 0 + "--ipdown", "--tun-device", "--netns", 0 }; int pinghost_given[] = { args_info->pinghost_given, args_info->pingrate_given, diff --git a/sgsnemu/cmdline.ggo b/sgsnemu/cmdline.ggo index 0f415f5..0d074aa 100644 --- a/sgsnemu/cmdline.ggo +++ b/sgsnemu/cmdline.ggo @@ -59,6 +59,7 @@ modeoption "ipup" - "Script to run after link-up" string dependon="createif" no mode="createif" modeoption "ipdown" - "Script to run after link-down" string dependon="createif" no mode="createif" modeoption "tun-device" - "Name of the local network interface" string dependon="createif" no mode="createif" +modeoption "netns" - "Network namespace to use" string dependon="createif" no mode="createif" modeoption "pinghost" - "Ping remote host" string no mode="pinghost" modeoption "pingrate" - "Number of ping req per second" int default="1" dependon="pinghost" no mode="pinghost" diff --git a/sgsnemu/cmdline.h b/sgsnemu/cmdline.h index 24f772b..c7c8521 100644 --- a/sgsnemu/cmdline.h +++ b/sgsnemu/cmdline.h @@ -242,6 +242,12 @@ /**< @brief Name of the local network interface original value given at command line. */ const char *tun_device_help; /**< @brief Name of the local network interface help description. */ + char *netns_arg; + /**< @brief Network namespace to use. */ + char *netns_orig; + /**< @brief Network namespace to use original value given at command line. */ + const char *netns_help; + /**< @brief Network namespace to use help description. */ char *pinghost_arg; /**< @brief Ping remote host. */ char *pinghost_orig; @@ -355,6 +361,8 @@ /**< @brief Whether ipdown was given. */ unsigned int tun_device_given; /**< @brief Whether tun-device was given. */ + unsigned int netns_given; + /**< @brief Whether netns was given. */ unsigned int pinghost_given; /**< @brief Whether pinghost was given. */ unsigned int pingrate_given; diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 7904c49..2c0ce1b 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -50,6 +50,7 @@ #include "../lib/tun.h" #include "../lib/ippool.h" #include "../lib/syserr.h" +#include "../lib/netns.h" #include "../gtp/pdp.h" #include "../gtp/gtp.h" #include "cmdline.h" @@ -81,12 +82,16 @@ int maxfd = 0; /* For select() */ int echoversion = 1; /* First try this version */ void *tall_sgsnemu_ctx; /* root talloc ctx */ +#if defined(__linux__) +int netns = -1; /* network namespace */ +#endif /* Struct with local versions of gengetopt options */ struct { int debug; /* Print debug messages */ int createif; /* Create local network interface */ char *tun_dev_name; + char *netns; struct in46_addr netaddr, destaddr, net; /* Network interface */ size_t prefixlen; char *ipup, *ipdown; /* Filename of scripts */ @@ -294,6 +299,8 @@ printf("createif: %d\n", args_info.createif_flag); if (args_info.tun_device_arg) printf("tun-device: %s\n", args_info.tun_device_arg); + if (args_info.netns_arg) + printf("netns: %s\n", args_info.netns_arg); if (args_info.ipup_arg) printf("ipup: %s\n", args_info.ipup_arg); if (args_info.ipdown_arg) @@ -352,6 +359,8 @@ printf("createif: %d\n", args_info.createif_flag); if (args_info.tun_device_arg) printf("tun-device: %s\n", args_info.tun_device_arg); + if (args_info.netns_arg) + printf("netns: %s\n", args_info.netns_arg); if (args_info.ipup_arg) printf("ipup: %s\n", args_info.ipup_arg); if (args_info.ipdown_arg) @@ -870,6 +879,7 @@ /* createif */ options.createif = args_info.createif_flag; options.tun_dev_name = args_info.tun_device_arg; + options.netns = args_info.netns_arg; /* net */ /* Store net as in_addr net and mask */ @@ -1313,10 +1323,23 @@ static int delete_context(struct pdp_t *pdp) { + if (tun && options.ipdown) { +#if defined(__linux__) + sigset_t oldmask; - if (tun && options.ipdown) + if ((options.netns)) { + switch_ns(netns, &oldmask); + } +#endif tun_runscript(tun, options.ipdown); +#if defined(__linux__) + if ((options.netns)) { + restore_ns(&oldmask); + } +#endif + } + ipdel((struct iphash_t *)pdp->peer[0]); memset(pdp->peer[0], 0, sizeof(struct iphash_t)); /* To be sure */ @@ -1377,6 +1400,9 @@ static int create_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { struct in46_addr addr; +#if defined(__linux__) + sigset_t oldmask; +#endif struct iphash_t *iph = (struct iphash_t *)cbp; @@ -1430,6 +1456,12 @@ break; } +#if defined(__linux__) + if ((options.createif) && (options.netns)) { + switch_ns(netns, &oldmask); + } +#endif + if ((options.createif) && (!options.net.len)) { size_t prefixlen = 32; if (addr.len == 16) @@ -1470,6 +1502,12 @@ free(forwarding); } +#if defined(__linux__) + if ((options.createif) && (options.netns)) { + restore_ns(&oldmask); + } +#endif + ipset(iph, &addr); state = 2; /* Connected */ @@ -1543,6 +1581,9 @@ struct timezone tz; /* Used for calculating ping times */ struct timeval tv; int diff; +#if defined(__linux__) + sigset_t oldmask; +#endif signal(SIGTERM, signal_handler); signal(SIGHUP, signal_handler); @@ -1552,6 +1593,10 @@ msgb_talloc_ctx_init(tall_sgsnemu_ctx, 0); osmo_init_logging2(tall_sgsnemu_ctx, &log_info); +#if defined(__linux__) + init_netns(); +#endif + /* Process options given in configuration file and command line */ if (process_options(argc, argv)) exit(1); @@ -1575,6 +1620,13 @@ else gtp_set_cb_data_ind(gsn, encaps_ping); +#if defined(__linux__) + if ((options.createif) && (options.netns)) { + netns = get_nsfd(options.netns); + switch_ns(netns, &oldmask); + } +#endif + if (options.createif) { printf("Setting up interface\n"); /* Create a tunnel interface */ @@ -1600,6 +1652,12 @@ tun_runscript(tun, options.ipup); } +#if defined(__linux__) + if ((options.createif) && (options.netns)) { + restore_ns(&oldmask); + } +#endif + /* Initialise hash tables */ memset(&iphash, 0, sizeof(iphash)); memset(&iparr, 0, sizeof(iparr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Idd0ad8fa9c8e7ba0aeec1b52947598d4d297b620 Gerrit-Change-Number: 17253 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Assignee: 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 Mar 2 13:32:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:32:24 +0000 Subject: Change in osmo-ggsn[master]: netns: Improve error checking In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17254 ) Change subject: netns: Improve error checking ...................................................................... netns: Improve error checking Change-Id: I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708 --- M lib/netns.c M lib/netns.h M sgsnemu/sgsnemu.c 3 files changed, 128 insertions(+), 61 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/lib/netns.c b/lib/netns.c index 6734b5d..bd2076b 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -49,99 +49,133 @@ int switch_ns(int nsfd, sigset_t *oldmask) { sigset_t intmask; + int rc; - sigfillset(&intmask); - sigprocmask(SIG_BLOCK, &intmask, oldmask); + if (sigfillset(&intmask) < 0) + return -errno; + if ((rc = sigprocmask(SIG_BLOCK, &intmask, oldmask)) != 0) + return -rc; - return setns(nsfd, CLONE_NEWNET); + if (setns(nsfd, CLONE_NEWNET) < 0) + return -errno; + return 0; } -void restore_ns(sigset_t *oldmask) +int restore_ns(sigset_t *oldmask) { - setns(default_nsfd, CLONE_NEWNET); + int rc; + if (setns(default_nsfd, CLONE_NEWNET) < 0) + return -errno; - sigprocmask(SIG_SETMASK, oldmask, NULL); + if ((rc = sigprocmask(SIG_SETMASK, oldmask, NULL)) != 0) + return -rc; + return 0; } int open_ns(int nsfd, const char *pathname, int flags) { sigset_t intmask, oldmask; int fd; - int errsv; + int rc; - sigfillset(&intmask); - sigprocmask(SIG_BLOCK, &intmask, &oldmask); + if (sigfillset(&intmask) < 0) + return -errno; + if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) + return -rc; - setns(nsfd, CLONE_NEWNET); - fd = open(pathname, flags); - errsv = errno; - setns(default_nsfd, CLONE_NEWNET); + if (setns(nsfd, CLONE_NEWNET) < 0) + return -errno; + if ((fd = open(pathname, flags)) < 0) + return -errno; + if (setns(default_nsfd, CLONE_NEWNET) < 0) { + close(fd); + return -errno; + } + if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { + close(fd); + return -rc; + } - sigprocmask(SIG_SETMASK, &oldmask, NULL); - - errno = errsv; - return fd; + return 0; } int socket_ns(int nsfd, int domain, int type, int protocol) { sigset_t intmask, oldmask; int sk; - int errsv; + int rc; - sigfillset(&intmask); - sigprocmask(SIG_BLOCK, &intmask, &oldmask); + if (sigfillset(&intmask) < 0) + return -errno; + if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) + return -rc; - setns(nsfd, CLONE_NEWNET); - sk = socket(domain, type, protocol); - errsv = errno; - setns(default_nsfd, CLONE_NEWNET); + if (setns(nsfd, CLONE_NEWNET) < 0) + return -errno; + if ((sk = socket(domain, type, protocol)) < 0) + return -errno; + if (setns(default_nsfd, CLONE_NEWNET) < 0) { + close(sk); + return -errno; + } - sigprocmask(SIG_SETMASK, &oldmask, NULL); - - errno = errsv; + if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) { + close(sk); + return -rc; + } return sk; } -void init_netns() +int init_netns() { - if ((default_nsfd = open("/proc/self/ns/net", O_RDONLY)) < 0) { - perror("init_netns"); - exit(EXIT_FAILURE); - } + if ((default_nsfd = open("/proc/self/ns/net", O_RDONLY)) < 0) + return -errno; + return 0; } int get_nsfd(const char *name) { - int r; + int rc; + int fd; sigset_t intmask, oldmask; char path[MAXPATHLEN] = NETNS_PATH; - r = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); - if (r < 0 && errno != EEXIST) - return r; + rc = mkdir(path, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); + if (rc < 0 && errno != EEXIST) + return rc; snprintf(path, sizeof(path), "%s/%s", NETNS_PATH, name); - r = open(path, O_RDONLY|O_CREAT|O_EXCL, 0); - if (r < 0) { - if (errno == EEXIST) - return open(path, O_RDONLY); - - return r; + fd = open(path, O_RDONLY|O_CREAT|O_EXCL, 0); + if (fd < 0) { + if (errno == EEXIST) { + if ((fd = open(path, O_RDONLY)) < 0) + return -errno; + return fd; + } + return -errno; } - close(r); + if (close(fd) < 0) + return -errno; - sigfillset(&intmask); - sigprocmask(SIG_BLOCK, &intmask, &oldmask); + if (sigfillset(&intmask) < 0) + return -errno; + if ((rc = sigprocmask(SIG_BLOCK, &intmask, &oldmask)) != 0) + return -rc; - unshare(CLONE_NEWNET); - mount("/proc/self/ns/net", path, "none", MS_BIND, NULL); + if (unshare(CLONE_NEWNET) < 0) + return -errno; + if (mount("/proc/self/ns/net", path, "none", MS_BIND, NULL) < 0) + return -errno; - setns(default_nsfd, CLONE_NEWNET); + if (setns(default_nsfd, CLONE_NEWNET) < 0) + return -errno; - sigprocmask(SIG_SETMASK, &oldmask, NULL); + if ((rc = sigprocmask(SIG_SETMASK, &oldmask, NULL)) != 0) + return -rc; - return open(path, O_RDONLY); + if ((fd = open(path, O_RDONLY)) < 0) + return -errno; + return fd; } #endif diff --git a/lib/netns.h b/lib/netns.h index 168e44f..3b91ba3 100644 --- a/lib/netns.h +++ b/lib/netns.h @@ -21,10 +21,10 @@ #if defined(__linux__) -void init_netns(void); +int init_netns(void); int switch_ns(int nsfd, sigset_t *oldmask); -void restore_ns(sigset_t *oldmask); +int restore_ns(sigset_t *oldmask); int open_ns(int nsfd, const char *pathname, int flags); int socket_ns(int nsfd, int domain, int type, int protocol); diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 2c0ce1b..fce5059 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1323,19 +1323,29 @@ static int delete_context(struct pdp_t *pdp) { + int rc; + if (tun && options.ipdown) { #if defined(__linux__) sigset_t oldmask; if ((options.netns)) { - switch_ns(netns, &oldmask); + if ((rc = switch_ns(netns, &oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to netns %s: %s\n", + options.netns, strerror(-rc)); + } } #endif tun_runscript(tun, options.ipdown); #if defined(__linux__) if ((options.netns)) { - restore_ns(&oldmask); + if ((rc = restore_ns(&oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to original netns: %s\n", + strerror(-rc)); + } } #endif } @@ -1399,6 +1409,7 @@ static int create_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { + int rc; struct in46_addr addr; #if defined(__linux__) sigset_t oldmask; @@ -1458,7 +1469,11 @@ #if defined(__linux__) if ((options.createif) && (options.netns)) { - switch_ns(netns, &oldmask); + if ((rc = switch_ns(netns, &oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, + "Failed to switch to netns %s: %s\n", + options.netns, strerror(-rc)); + } } #endif @@ -1504,7 +1519,10 @@ #if defined(__linux__) if ((options.createif) && (options.netns)) { - restore_ns(&oldmask); + if ((rc = restore_ns(&oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to switch to original netns: %s\n", + strerror(-rc)); + } } #endif @@ -1572,7 +1590,7 @@ fd_set fds; /* For select() */ struct timeval idleTime; /* How long to select() */ struct pdp_t *pdp; - int n; + int n, rc; int starttime = time(NULL); /* Time program was started */ int stoptime = 0; /* Time to exit */ int pingtimeout = 0; /* Time to print ping statistics */ @@ -1594,7 +1612,10 @@ osmo_init_logging2(tall_sgsnemu_ctx, &log_info); #if defined(__linux__) - init_netns(); + if ((rc = init_netns()) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to initialize netns: %s", strerror(-rc)); + exit(1); + } #endif /* Process options given in configuration file and command line */ @@ -1622,8 +1643,16 @@ #if defined(__linux__) if ((options.createif) && (options.netns)) { - netns = get_nsfd(options.netns); - switch_ns(netns, &oldmask); + if ((netns = get_nsfd(options.netns)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to obtain fd for netns %s: %s\n", + options.netns, strerror(-netns)); + exit(1); + } + if ((rc = switch_ns(netns, &oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to switch to netns %s: %s\n", + options.netns, strerror(-rc)); + exit(1); + } } #endif @@ -1654,7 +1683,11 @@ #if defined(__linux__) if ((options.createif) && (options.netns)) { - restore_ns(&oldmask); + if ((rc = restore_ns(&oldmask)) < 0) { + SYS_ERR(DSGSN, LOGL_ERROR, 0, "Failed to switch to original netns: %s\n", + strerror(-rc)); + exit(1); + } } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708 Gerrit-Change-Number: 17254 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 2 13:33:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:33:12 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: also verify encoding of MS RA Capability In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17245 ) Change subject: tests/rlcmac: also verify encoding of MS RA Capability ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic46d6e56768f516203d27d8e7a5adb77afdf32b7 Gerrit-Change-Number: 17245 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 13:33: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 Mar 2 13:33:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:33:24 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: also verify encoding of MS RA Capability In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17245 ) Change subject: tests/rlcmac: also verify encoding of MS RA Capability ...................................................................... tests/rlcmac: also verify encoding of MS RA Capability The main idea of this change is to demonstrate a weakness of the CSN.1 codec that most likely causes a unit test breakage in [1]. The problem seems to be that the transitional structures, where the CSN.1 decoder stores the results, do not contain any details about presence of the optional fields (such as M_UINT_OR_NULL). In other words, it's impossible to know whether some optional field is omitted in the encoded message (NULL), or is it just set to 0. This means that the encoder will always include all optional fields, even if they're not present in the original message. [1] Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Change-Id: Ic46d6e56768f516203d27d8e7a5adb77afdf32b7 --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 58 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 09a46e8..e60ccc7 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -5766,3 +5766,27 @@ } return ret; } + +/* This function is not actually used by osmo-pcu itself, and only needed for + * the RLCMAC unit test. Having it here is better than making the internal + * CSN.1 definitions (in particular, MS_Radio_Access_capability_t) non-static. */ +int encode_gsm_ra_cap(bitvec *vector, MS_Radio_Access_capability_t *data) +{ + unsigned writeIndex = 0; + csnStream_t ar; + int ret; + + csnStreamInit(&ar, 0, vector->data_len * 8); + + /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ + LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (RAcap): "); + ret = csnStreamEncoder(&ar, CSNDESCR(MS_Radio_Access_capability_t), vector, &writeIndex, data); + LOGPC(DCSN1, LOGL_INFO, "\n"); + + if (ret > 0) { + LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); + ret = 0; + } + + return ret; +} diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index de63fe6..b8506b1 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -214,12 +214,16 @@ msgb_free(m); } +int encode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t * data); + void testRAcap(void *test_ctx) { printf("*** %s ***\n", __func__); MS_Radio_Access_capability_t data; memset(&data, 0, sizeof(data)); - bitvec *vector = bitvec_alloc(23, test_ctx); + bitvec *bv_dec = bitvec_alloc(23, test_ctx); + bitvec *bv_enc = bitvec_alloc(23, test_ctx); + unsigned int len_dec, len_enc; int rc; /* MS RA capability 1 @@ -235,9 +239,10 @@ .... ..00 011. .... = GPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) ...0 .... = GPRS Extended Dynamic Allocation Capability: Not Implemented */ - bitvec_unhex(vector, "13a5146200"); + bitvec_unhex(bv_dec, "13a5146200"); - rc = decode_gsm_ra_cap(vector, &data); + printf("=== Test decoding of MS RA Capability ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); OSMO_ASSERT(rc == 0); /* Make sure there's 1 value (currently fails due to failed decoding) */ @@ -247,14 +252,30 @@ printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); + /* Test encoding of decoded MS RA Capability */ + printf("=== Test encoding of MS RA Capability ===\n"); + rc = encode_gsm_ra_cap(bv_enc, &data); + printf("encode_gsm_ra_cap() returns %d\n", rc); + + bv_dec->cur_bit = 4; + len_dec = bitvec_get_uint(bv_dec, 7); + bv_enc->cur_bit = 4; + len_enc = bitvec_get_uint(bv_enc, 7); + + /* NOTE: vector2 is expected to be different because there is actually no + * way to distinguish between NULL and 0 in MS_Radio_Access_capability_t. + * The difference is in length indicator: 29 bits vs 50 bits. */ + printf("vector1 (len_ind=%u) = %s\n", len_dec, osmo_hexdump(bv_dec->data, bv_dec->data_len)); + printf("vector2 (len_ind=%u) = %s\n", len_enc, osmo_hexdump(bv_enc->data, bv_enc->data_len)); + /* Mangle the length indicator (set it to 21) */ unsigned int writeIndex = 4; - rc = bitvec_write_field(vector, &writeIndex, 21, 7); + rc = bitvec_write_field(bv_dec, &writeIndex, 21, 7); OSMO_ASSERT(rc == 0); /* Make sure decoding attempt fails */ - printf("Test decoding of a malformed vector (short length indicator)\n"); - rc = decode_gsm_ra_cap(vector, &data); + printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); printf("decode_gsm_ra_cap() returns %d\n", rc); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 52a3cc3..a7e501e 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -30,4 +30,5 @@ DCSN1 INFO csnStreamEncoder (type=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=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 = 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 | MS_RA_capability_value } | +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 = 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 = 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 | u.Content length = 50 | MS_RA_capability_value } | 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 | diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 96c1bfb..2aea569 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -124,7 +124,12 @@ vector1 == vector2 : TRUE *** testCsnLeftAlignedVarBmpBounds *** *** testRAcap *** +=== Test decoding of MS RA Capability === GPRS multislot class = 3 EGPRS multislot class = 0 -Test decoding of a malformed vector (short length indicator) +=== Test encoding of MS RA Capability === +encode_gsm_ra_cap() returns 0 +vector1 (len_ind=29) = 13 a5 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector2 (len_ind=50) = 16 45 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=== Test decoding of a malformed vector (short length indicator) === decode_gsm_ra_cap() returns -5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic46d6e56768f516203d27d8e7a5adb77afdf32b7 Gerrit-Change-Number: 17245 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 Mon Mar 2 13:33:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:33:24 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: fix Packet_Resource_Request_t: s/Slot/I_LEVEL_TN/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17246 ) Change subject: gsm_rlcmac: fix Packet_Resource_Request_t: s/Slot/I_LEVEL_TN/ ...................................................................... gsm_rlcmac: fix Packet_Resource_Request_t: s/Slot/I_LEVEL_TN/ This is how this field is named in Wireshark. Change-Id: I140443c48af8e4bb1b6279e6de986879b7d9c276 --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M src/pdch.cpp M tests/rlcmac/RLCMACTest.err 4 files changed, 8 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/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index e60ccc7..92466f5 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -1294,7 +1294,7 @@ M_NEXT_EXIST (Packet_Resource_Request_t, Exist_SIGN_VAR, 1), M_UINT (Packet_Resource_Request_t, SIGN_VAR, 6), - M_TYPE_ARRAY (Packet_Resource_Request_t, Slot, InterferenceMeasurementReport_t, 8), + M_TYPE_ARRAY (Packet_Resource_Request_t, I_LEVEL_TN, InterferenceMeasurementReport_t, 8), M_NEXT_EXIST_OR_NULL(Packet_Resource_Request_t, Exist_AdditionsR99, 1), M_TYPE (Packet_Resource_Request_t, AdditionsR99, PRR_AdditionsR99_t), diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 4ba03fe..9db6a99 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1607,7 +1607,7 @@ guint8 Exist_SIGN_VAR; guint8 SIGN_VAR; - InterferenceMeasurementReport_t Slot[8]; + InterferenceMeasurementReport_t I_LEVEL_TN[8]; guint8 Exist_AdditionsR99; PRR_AdditionsR99_t AdditionsR99; diff --git a/src/pdch.cpp b/src/pdch.cpp index f4544b2..7cf75c5 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -80,13 +80,13 @@ if (qr->Exist_SIGN_VAR) meas->set_ms_sign_var((qr->SIGN_VAR + 2) / 4); /* SIGN_VAR * 0.25 dB */ - for (i = 0; i < OSMO_MIN(ARRAY_SIZE(qr->Slot), ARRAY_SIZE(meas->ts)); i++) + for (i = 0; i < OSMO_MIN(ARRAY_SIZE(qr->I_LEVEL_TN), ARRAY_SIZE(meas->ts)); i++) { - if (qr->Slot[i].Exist) { + if (qr->I_LEVEL_TN[i].Exist) { LOGP(DRLCMAC, LOGL_INFO, "Packet resource request: i_level[%d] = %d\n", - i, qr->Slot[i].I_LEVEL); - meas->set_ms_i_level(i, -2 * qr->Slot[i].I_LEVEL); + i, qr->I_LEVEL_TN[i].I_LEVEL); + meas->set_ms_i_level(i, -2 * qr->I_LEVEL_TN[i].I_LEVEL); } } } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index a7e501e..5b89ec8 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -22,8 +22,8 @@ DCSN1 INFO csnStreamEncoder (type=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=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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 | Slot | Exist = 0 | Slot | Exist = 0 | Slot | Exist = 0 | Slot | Exist = 0 | Slot | Exist = 0 | Slot | Exist = 0 | Slot | Exist = 0 | Slot | 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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 | Slot : | Exist = 0 | Slot : | Exist = 0 | Slot : | Exist = 0 | Slot : | Exist = 0 | Slot : | Exist = 0 | Slot : | Exist = 0 | Slot : | Exist = 0 | Slot : | 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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=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=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| -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I140443c48af8e4bb1b6279e6de986879b7d9c276 Gerrit-Change-Number: 17246 Gerrit-PatchSet: 3 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 Mon Mar 2 13:33:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:33:54 +0000 Subject: Change in osmo-gsm-tester[master]: junit: Replace invalid xml characters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 ) Change subject: junit: Replace invalid xml characters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713 Gerrit-Change-Number: 17308 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:33: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 Mar 2 13:34:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:34:06 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Remove old comment not longer applying In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17309 ) Change subject: srsue: Remove old comment not longer applying ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1718dbb701c5dcd5a4081d3d91ae9f192418e7df Gerrit-Change-Number: 17309 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13: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 Mon Mar 2 13:34:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:34:28 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable metrics csv file generation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 ) Change subject: srsue: Enable metrics csv file generation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60 Gerrit-Change-Number: 17310 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:34:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 2 13:34:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:34:45 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable pcap through config file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 ) Change subject: srsue: Enable pcap through config file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15219d707aea778fefa8911362278442fa09550c Gerrit-Change-Number: 17311 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:34: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 Mar 2 13:35:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:35:04 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Fix zmq base_rate calculation and share value In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 ) Change subject: srsue,srsenb: Fix zmq base_rate calculation and share value ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 Gerrit-Change-Number: 17312 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:35: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 Mar 2 13:37:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 13:37:08 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Don't attempt libulfius x86_64 pkg install on... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17276 ) Change subject: debian-stretch-jenkins: Don't attempt libulfius x86_64 pkg install on different archs ...................................................................... Patch Set 3: we are building ulfius as part of the OBS builds, AFAIR for all architectures we support. Maybe simply use those instead? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Mar 2020 13:37:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 2 15:34:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 15:34:41 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support configuring data direction (dl vs ul) References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17315 ) Change subject: iperf3: Support configuring data direction (dl vs ul) ...................................................................... iperf3: Support configuring data direction (dl vs ul) Change-Id: I6b5b740beac22015c952ce826c034031ad4c4465 --- M src/osmo_gsm_tester/iperf3.py M suites/4g/iperf3.py M suites/gprs/lib/testlib.py 3 files changed, 13 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/15/17315/1 diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index 1b13ffe..78dc140 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -154,17 +154,17 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, netns=None): + def prepare_test_proc(self, downlink=False, netns=None): self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port())) self.log_copied = False self.run_dir = util.Dir(self.suite_run.get_test_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(netns) + return self.prepare_test_proc_locally(downlink, netns) else: - return self.prepare_test_proc_remotely(netns) + return self.prepare_test_proc_remotely(downlink, netns) - def prepare_test_proc_remotely(self, netns): + def prepare_test_proc_remotely(self, downlink, netns): 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) @@ -176,19 +176,25 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', '--logfile', self.remote_log_file) + if downlink: + popen_args += ('-R',) + if netns: self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={}) else: self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, netns): + def prepare_test_proc_locally(self, downlink, netns): pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', '--logfile', os.path.abspath(self.log_file)) + if downlink: + popen_args += ('-R',) + if netns: self.process = process.NetNSProcess(self.name(), self.run_dir, netns, popen_args, env={}) else: diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3.py index 5ccc922..cc7bca0 100755 --- a/suites/4g/iperf3.py +++ b/suites/4g/iperf3.py @@ -32,7 +32,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(ue.netns()) +proc = iperf3cli.prepare_test_proc(False, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/suites/gprs/lib/testlib.py b/suites/gprs/lib/testlib.py index 284ca63..c0af372 100644 --- a/suites/gprs/lib/testlib.py +++ b/suites/gprs/lib/testlib.py @@ -16,7 +16,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(ms_li[i].netns())) + procs.append(iperf3clients[i].prepare_test_proc(False, ms_li[i].netns())) try: for proc in procs: proc.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6b5b740beac22015c952ce826c034031ad4c4465 Gerrit-Change-Number: 17315 Gerrit-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 Mar 2 15:34:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 15:34:41 +0000 Subject: Change in osmo-gsm-tester[master]: tests: Improve logging of iperf3 results References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17316 ) Change subject: tests: Improve logging of iperf3 results ...................................................................... tests: Improve logging of iperf3 results Change-Id: I6563c11f4ad6e9519400268e63944cdf8973dad0 --- M suites/4g/iperf3.py M suites/gprs/lib/testlib.py 2 files changed, 18 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/16/17316/1 diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3.py index cc7bca0..371376f 100755 --- a/suites/4g/iperf3.py +++ b/suites/4g/iperf3.py @@ -1,16 +1,16 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_results(cli_res, srv_res): - cli_sent = cli_res['end']['sum_sent'] - cli_recv = cli_res['end']['sum_received'] - print("RESULT client:") - print("\tSEND: %d KB, %d kbps, %d seconds (%d retrans)" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'], cli_sent['retransmits'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) - print("RESULT server:") - print("\tSEND: %d KB, %d kbps, %d seconds" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) +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 = suite.epc() enb = suite.enb() diff --git a/suites/gprs/lib/testlib.py b/suites/gprs/lib/testlib.py index c0af372..c1a1bc1 100644 --- a/suites/gprs/lib/testlib.py +++ b/suites/gprs/lib/testlib.py @@ -1,15 +1,16 @@ #!/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): - cli_sent = cli_res['end']['sum_sent'] - cli_recv = cli_res['end']['sum_received'] - print("RESULT client:") - print("\tSEND: %d KB, %d kbps, %d seconds (%d retrans)" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'], cli_sent['retransmits'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) - print("RESULT server:") - print("\tSEND: %d KB, %d kbps, %d seconds" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) + print_result_node(cli_res, 'client') + print_result_node(srv_res, 'server') def run_iperf3_cli_parallel(iperf3clients, ms_li, ready_cb): assert len(iperf3clients) == len(ms_li) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6563c11f4ad6e9519400268e63944cdf8973dad0 Gerrit-Change-Number: 17316 Gerrit-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 Mar 2 15:39:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 15:39:58 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: new versions require python3-numpy References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17317 ) Change subject: osmo-gsm-tester: new versions require python3-numpy ...................................................................... osmo-gsm-tester: new versions require python3-numpy Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0 --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/17/17317/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 40e7e1a..cd42daa 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -20,6 +20,7 @@ python3-yaml \ python3-mako \ python3-gi \ + python3-numpy \ python3-wheel \ ofono \ patchelf \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0 Gerrit-Change-Number: 17317 Gerrit-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 Mar 2 16:55:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 16:55:39 +0000 Subject: Change in osmo-gsm-tester[master]: utils: Add limits.d dir with sample config files References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17318 ) Change subject: utils: Add limits.d dir with sample config files ...................................................................... utils: Add limits.d dir with sample config files Same as the ones described in osmo-gsm-tester User Manual and same as ones deployed by ansible scripts. Let's rather keep them here. Change-Id: I8b124a8a1637666536772439b920e7b91e61533c --- A utils/limits.d/osmo-gsm-tester_allow-rtprio.conf A utils/limits.d/osmo-gsm-tester_allowcore.conf 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/18/17318/1 diff --git a/utils/limits.d/osmo-gsm-tester_allow-rtprio.conf b/utils/limits.d/osmo-gsm-tester_allow-rtprio.conf new file mode 100644 index 0000000..7fa6136 --- /dev/null +++ b/utils/limits.d/osmo-gsm-tester_allow-rtprio.conf @@ -0,0 +1 @@ + at osmo-gsm-tester - rtprio 99 diff --git a/utils/limits.d/osmo-gsm-tester_allowcore.conf b/utils/limits.d/osmo-gsm-tester_allowcore.conf new file mode 100644 index 0000000..5eee2f9 --- /dev/null +++ b/utils/limits.d/osmo-gsm-tester_allowcore.conf @@ -0,0 +1 @@ + at osmo-gsm-tester - core unlimited -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8b124a8a1637666536772439b920e7b91e61533c Gerrit-Change-Number: 17318 Gerrit-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 Mar 2 17:04:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 17:04:58 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17319 ) Change subject: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) ...................................................................... osmo-gsm-tester: Add missing srsLTE dependencies (soapy) Currently srsLTE trials link against soapySDR library to have LimeSDR support. We need to move installation of those new packages further below in the Dockerfiler because that lib version is only available with osmocom repositories (which were added at a later point in the file). Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436 --- M osmo-gsm-tester/Dockerfile 1 file changed, 16 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/19/17319/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index cd42daa..6ed992e 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -38,19 +38,6 @@ pyusb \ pysispm -# install srsLTE runtime dependencies -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - cmake \ - libfftw3-dev \ - libmbedtls-dev \ - libboost-program-options-dev \ - libconfig++-dev \ - libsctp-dev \ - libpcsclite-dev \ - libuhd-dev \ - libczmq-dev - # Intall sshd: RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd @@ -109,6 +96,22 @@ libasn1c-dev && \ apt-get clean +# install srsLTE runtime dependencies +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + cmake \ + libfftw3-dev \ + libmbedtls-dev \ + libboost-program-options-dev \ + libconfig++-dev \ + libsctp-dev \ + libpcsclite-dev \ + libuhd-dev \ + libczmq-dev \ + libsoapysdr-dev \ + soapysdr0.7-module-lms7 && \ + apt-get clean + WORKDIR /tmp ARG OSMO_GSM_TESTER_BRANCH="master" -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436 Gerrit-Change-Number: 17319 Gerrit-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 Mar 2 17:04:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 17:04:59 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17320 ) Change subject: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version ...................................................................... osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version * Fix wrong KI. * Add an extra IP address to slave so that ENB and EPC can be run on different IP addresses and their GTP ports don't collide. * Add required rf parameters to resources.conf Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9 --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh R osmo-gsm-tester/osmo-gsm-tester-master.sh A osmo-gsm-tester/osmo-gsm-tester-slave.sh M osmo-gsm-tester/resources.conf 5 files changed, 14 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/20/17320/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 6ed992e..859f0b1 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -134,6 +134,6 @@ ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/example WORKDIR /data -CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester.sh >/data/osmo-gsm-tester.log 2>&1"] +CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"] EXPOSE 22/tcp diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 16552f9..248a10b 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -21,9 +21,10 @@ network_create 172.18.50.0/24 mkdir $VOL_BASE_DIR/ogt-slave +cp osmo-gsm-tester-slave.sh $VOL_BASE_DIR/ogt-slave/ mkdir $VOL_BASE_DIR/ogt-master -cp osmo-gsm-tester.sh $VOL_BASE_DIR/ogt-master/ +cp osmo-gsm-tester-master.sh $VOL_BASE_DIR/ogt-master/ echo Starting container with osmo-gsm-tester slave docker run --rm \ @@ -35,7 +36,7 @@ -v $VOL_BASE_DIR/ogt-slave:/data \ --name ${BUILD_TAG}-ogt-slave -d \ $REPO_USER/osmo-gsm-tester \ - /bin/sh -c "/usr/sbin/sshd -D -e >/data/sshd.log 2>&1" + /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit docker run --rm \ diff --git a/osmo-gsm-tester/osmo-gsm-tester.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh similarity index 100% rename from osmo-gsm-tester/osmo-gsm-tester.sh rename to osmo-gsm-tester/osmo-gsm-tester-master.sh diff --git a/osmo-gsm-tester/osmo-gsm-tester-slave.sh b/osmo-gsm-tester/osmo-gsm-tester-slave.sh new file mode 100755 index 0000000..3170922 --- /dev/null +++ b/osmo-gsm-tester/osmo-gsm-tester-slave.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Add local IP addresses required by osmo-gsm-tester resources: +ip addr add 172.18.50.101/24 dev eth0 + +/usr/sbin/sshd -D -e diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index 1120178..a81d92a 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -36,8 +36,9 @@ enb: - label: srsENB-zmq type: srsenb + rf_dev_type: zmq remote_user: jenkins - addr: 172.18.50.100 + addr: 172.18.50.101 arfcn: - arfcn: 512 @@ -53,8 +54,9 @@ - label: srsUE-zmq_1 type: srsue + rf_dev_type: zmq remote_user: jenkins addr: 172.18.50.100 imsi: '001010123456789' - ki: '8CCBE85A62C6DC7AC2A9886F4BBC3146' + ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9 Gerrit-Change-Number: 17320 Gerrit-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 Mar 2 17:04:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 17:04:59 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Copy limits.d files to docker image References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17321 ) Change subject: osmo-gsm-tester: Copy limits.d files to docker image ...................................................................... osmo-gsm-tester: Copy limits.d files to docker image These are required to allow setting rt prio for jenkins user inside the docker container, as well as for being allowed to create coredump files. Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/21/17321/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 859f0b1..bed641c 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -127,6 +127,7 @@ # Copy several scripts and permission for osmo-gsm-tester: RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/ RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/ +RUN mkdir -p /etc/security/limits.d/ && cp osmo-gsm-tester/utils/limits.d/* /etc/security/limits.d/ VOLUME /data COPY resources.conf /tmp/osmo-gsm-tester/example/resources.conf -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a Gerrit-Change-Number: 17321 Gerrit-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 Mar 2 17:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 17:52:24 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support setting run time References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17322 ) Change subject: iperf3: Support setting run time ...................................................................... iperf3: Support setting run time Change-Id: I93e857bd682c733c3ba36234b9bf1e1cc85eddef --- M src/osmo_gsm_tester/iperf3.py 1 file changed, 9 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/22/17322/1 diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index 78dc140..be4dd6f 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -154,17 +154,17 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None): + def prepare_test_proc(self, downlink=False, netns=None, time_sec=10): self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port())) self.log_copied = False self.run_dir = util.Dir(self.suite_run.get_test_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) + return self.prepare_test_proc_locally(downlink, netns, time_sec) else: - return self.prepare_test_proc_remotely(downlink, netns) + return self.prepare_test_proc_remotely(downlink, netns, time_sec) - def prepare_test_proc_remotely(self, downlink, netns): + def prepare_test_proc_remotely(self, downlink, netns, time_sec): 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) @@ -175,7 +175,8 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', self.remote_log_file) + '--logfile', self.remote_log_file, + '-t', str(time_sec)) if downlink: popen_args += ('-R',) @@ -185,13 +186,14 @@ self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, downlink, netns): + def prepare_test_proc_locally(self, downlink, netns, time_sec): pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', os.path.abspath(self.log_file)) + '--logfile', os.path.abspath(self.log_file), + '-t', str(time_sec)) if downlink: popen_args += ('-R',) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I93e857bd682c733c3ba36234b9bf1e1cc85eddef Gerrit-Change-Number: 17322 Gerrit-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 Mar 2 17:52:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 17:52:25 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Introduce metrics verification procedures References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 ) Change subject: srsue: Introduce metrics verification procedures ...................................................................... srsue: Introduce metrics verification procedures Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508 --- M check_dependencies.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M suites/4g/iperf3.py M suites/4g/suite.conf 5 files changed, 122 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/23/17323/1 diff --git a/check_dependencies.py b/check_dependencies.py index 28bfdf7..c3b1d64 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -28,5 +28,6 @@ import smpplib import urllib.request import xml.etree.ElementTree +import numpy print('dependencies ok') diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 1cfd212..1fb2db1 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -76,6 +76,7 @@ self.remote_config_drb_file = None self.remote_log_file = None self._num_prb = 0 + self._txmode = 0 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -179,10 +180,13 @@ config.overlay(values, dict(enb=self._conf)) config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + self._txmode = int(values['enb'].get('transmission_mode', None)) + assert self._txmode + # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - self._num_prb = int(values['enb'].get('num_prb', None)) - assert self._num_prb base_srate = num_prb2base_srate(self._num_prb) rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \ + ':2000,rx_port=tcp://' + self.ue.addr() \ @@ -222,4 +226,31 @@ def num_prb(self): return self._num_prb + def ue_max_rate(self, downlink=True): + # The max rate for a single UE per PRB in TM1 + max_phy_rate_tm1_dl = { 6 : 2.3e6, + 15 : 8e6, + 25 : 16e6, + 50 : 36e6, + 75 : 54e6, + 100 : 75e6 } + # TODO: proper values for this table: + max_phy_rate_tm1_ul = { 6 : 0.23e6, + 15 : 0.8e6, + 25 : 1.6e6, + 50 : 3.6e6, + 75 : 5.4e6, + 100 : 7.5e6 } + 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 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 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index cbd8a68..f90ea32 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -22,6 +22,7 @@ from . import log, util, config, template, process, remote from .run_node import RunNode +from .event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): @@ -91,10 +92,6 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) - try: - self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) - except Exception as e: - self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -102,6 +99,9 @@ def netns(self): return "srsue1" + def stop(self): + self.suite_run.stop_process(self.process) + def connect(self, enb): self.log('Starting srsue') self.enb = enb @@ -247,4 +247,80 @@ proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) proc.launch_sync() + 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(): + 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 + metrics = srsUEMetrics(self.metrics_file) + return metrics.verify(value, operation, metric, criterion) + +import numpy + +class srsUEMetrics(log.Origin): + + VALID_OPERATIONS = ['avg', 'sum'] + VALID_CRITERION = ['eq','gt','lt'] + CRITERION_TO_SYM = { 'eq' : '==', 'gt' : '>', 'lt' : '<' } + CRYTERION_TO_SYM_OPPOSITE = { 'eq' : '!=', 'gt' : '<=', 'lt' : '>=' } + + + def __init__(self, metrics_file): + super().__init__(log.C_RUN, 'srsue_metrics') + self.raw_data = None + self.metrics_file = metrics_file + # 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) + except (ValueError, IndexError, IOError) as error: + self.err("Error parsing metrics CSV file %s" % self.metrics_file) + raise error + + def verify(self, value, operation='avg', metric='dl_brate', criterion='gt'): + 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 + + if operation == 'avg': + result = numpy.average(sel_data) + elif operation == 'sum': + result = numpy.sum(sel_data) + self.dbg(result=result, value=value) + + success = False + if criterion == 'eq' and result == value or \ + criterion == 'gt' and result > value or \ + criterion == 'lt' and result < value: + success = True + + # Convert bitrate in Mbit/s: + if metric.find('brate') > 0: + result /= 1e6 + value /= 1e6 + mbit_str = ' Mbit/s' + else: + mbit_str = '' + + if not success: + result_msg = "{:.2f}{} {} {:.2f}{}".format(result, mbit_str, self.CRYTERION_TO_SYM_OPPOSITE[criterion], value, mbit_str) + raise log.Error(result_msg) + result_msg = "{:.2f}{} {} {:.2f}{}".format(result, mbit_str, self.CRITERION_TO_SYM[criterion], value, mbit_str) + # TODO: overwrite test system-out with this text. + return result_msg + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3.py index 371376f..20489b5 100755 --- a/suites/4g/iperf3.py +++ b/suites/4g/iperf3.py @@ -32,7 +32,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns()) +proc = iperf3cli.prepare_test_proc(False, ue.netns(), time_sec=60) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -42,3 +42,7 @@ proc.launch_sync() iperf3srv.stop() print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +max_rate = enb.ue_max_rate(downlink=False) +res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='ul_brate', criterion='gt') +print(res_str + '\n') diff --git a/suites/4g/suite.conf b/suites/4g/suite.conf index 352293a..59e393a 100644 --- a/suites/4g/suite.conf +++ b/suites/4g/suite.conf @@ -7,3 +7,6 @@ modem: - times: 1 type: srsue + +defaults: + timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508 Gerrit-Change-Number: 17323 Gerrit-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 Mar 2 18:10:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 18:10:39 +0000 Subject: Change in osmo-gsm-tester[master]: junit: Replace invalid xml characters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 ) Change subject: junit: Replace invalid xml characters ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713 Gerrit-Change-Number: 17308 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 18:10: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 Mar 2 18:10:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 18:10:44 +0000 Subject: Change in osmo-gsm-tester[master]: junit: Replace invalid xml characters In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 ) Change subject: junit: Replace invalid xml characters ...................................................................... junit: Replace invalid xml characters Otherwise junit parser in jenkins fails: org.dom4j.DocumentException: Error on line 20231 of document : An invalid XML character (Unicode: 0x1b) was found in the element content of the document. Fixes: 5bbdab8d95dc739112a6d6999d438b5e142392b8 Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713 --- M src/osmo_gsm_tester/report.py 1 file changed, 22 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 6ee3464..8718d0e 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -18,11 +18,32 @@ # along with this program. If not, see . import math +import sys +import re from datetime import datetime import xml.etree.ElementTree as et from xml.sax.saxutils import escape from . import test +invalid_xml_char_ranges = [(0x00, 0x08), (0x0B, 0x0C), (0x0E, 0x1F), (0x7F, 0x84), + (0x86, 0x9F), (0xFDD0, 0xFDDF), (0xFFFE, 0xFFFF)] +if sys.maxunicode >= 0x10000: # not narrow build + invalid_xml_char_ranges.extend([(0x1FFFE, 0x1FFFF), (0x2FFFE, 0x2FFFF), + (0x3FFFE, 0x3FFFF), (0x4FFFE, 0x4FFFF), + (0x5FFFE, 0x5FFFF), (0x6FFFE, 0x6FFFF), + (0x7FFFE, 0x7FFFF), (0x8FFFE, 0x8FFFF), + (0x9FFFE, 0x9FFFF), (0xAFFFE, 0xAFFFF), + (0xBFFFE, 0xBFFFF), (0xCFFFE, 0xCFFFF), + (0xDFFFE, 0xDFFFF), (0xEFFFE, 0xEFFFF), + (0xFFFFE, 0xFFFFF), (0x10FFFE, 0x10FFFF)]) +invalid_xml_char_ranges_str = ['%s-%s' % (chr(low), chr(high)) + for (low, high) in invalid_xml_char_ranges] +invalid_xml_char_ranges_regex = re.compile('[%s]' % ''.join(invalid_xml_char_ranges_str)) + +def escape_xml_invalid_characters(str): + replacement_char = '\uFFFD' # Unicode replacement character + return invalid_xml_char_ranges_regex.sub(replacement_char, escape(str)) + def trial_to_junit_write(trial, junit_path): elements = et.ElementTree(element=trial_to_junit(trial)) elements.write(junit_path) @@ -68,7 +89,7 @@ log_file = t.log_file_path() if log_file is not None: with open(log_file, 'r') as myfile: - sout.text = escape(myfile.read()) + sout.text = escape_xml_invalid_characters(myfile.read()) else: sout.text = 'test log file not available' return testcase -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713 Gerrit-Change-Number: 17308 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 Mon Mar 2 18:11:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 18:11:08 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: new versions require python3-numpy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17317 ) Change subject: osmo-gsm-tester: new versions require python3-numpy ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0 Gerrit-Change-Number: 17317 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 18:11: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 Mar 2 18:11:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 18:11:12 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17319 ) Change subject: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436 Gerrit-Change-Number: 17319 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 18:11: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 Mar 2 18:11:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 18:11:16 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17320 ) Change subject: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9 Gerrit-Change-Number: 17320 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 18:11:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 2 18:11:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Mar 2020 18:11:20 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Copy limits.d files to docker image In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17321 ) Change subject: osmo-gsm-tester: Copy limits.d files to docker image ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a Gerrit-Change-Number: 17321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 18:11: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 Mar 2 22:07:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 22:07:44 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Copy limits.d files to docker image In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17321 ) Change subject: osmo-gsm-tester: Copy limits.d files to docker image ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a Gerrit-Change-Number: 17321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 22:07: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 Mar 2 22:07:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 22:07:55 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: new versions require python3-numpy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17317 ) Change subject: osmo-gsm-tester: new versions require python3-numpy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0 Gerrit-Change-Number: 17317 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 22:07: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 Mar 2 22:08:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 22:08:06 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17319 ) Change subject: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436 Gerrit-Change-Number: 17319 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 22:08:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 2 22:08:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Mar 2020 22:08:27 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17320 ) Change subject: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9 Gerrit-Change-Number: 17320 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Mar 2020 22:08:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 08:40:55 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 3 Mar 2020 08:40:55 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: fix open_ns(): return fd from open() References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17324 ) Change subject: lib/netns: fix open_ns(): return fd from open() ...................................................................... lib/netns: fix open_ns(): return fd from open() Looks like a bug introduced by I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708. Change-Id: I38caf5541ca90638ed10714adfbb08120e5397b9 Fixes: CID#208656 --- M lib/netns.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/24/17324/1 diff --git a/lib/netns.c b/lib/netns.c index bd2076b..58ae036 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -96,7 +96,7 @@ return -rc; } - return 0; + return fd; } int socket_ns(int nsfd, int domain, int type, int protocol) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I38caf5541ca90638ed10714adfbb08120e5397b9 Gerrit-Change-Number: 17324 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 Tue Mar 3 08:54:24 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 08:54:24 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17325 ) Change subject: parity: add amr crc14 definition ...................................................................... parity: add amr crc14 definition AMR not only specifies a 6 bit CRC for regular voice information. It also specifies a 16 bit CRC to protect the comfort noise updates contained in the SID_UPDATE frames. Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Related: OS#2978 --- M include/osmocom/coding/gsm0503_parity.h M src/coding/gsm0503_parity.c M src/coding/libosmocoding.map 3 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/17325/1 diff --git a/include/osmocom/coding/gsm0503_parity.h b/include/osmocom/coding/gsm0503_parity.h index 28a5444..c35477f 100644 --- a/include/osmocom/coding/gsm0503_parity.h +++ b/include/osmocom/coding/gsm0503_parity.h @@ -19,5 +19,6 @@ const struct osmo_crc8gen_code gsm0503_tch_fr_crc3; const struct osmo_crc8gen_code gsm0503_tch_efr_crc8; const struct osmo_crc8gen_code gsm0503_amr_crc6; +const struct osmo_crc16gen_code gsm0503_amr_crc14; /*! @} */ diff --git a/src/coding/gsm0503_parity.c b/src/coding/gsm0503_parity.c index 874114f..a8daacc 100644 --- a/src/coding/gsm0503_parity.c +++ b/src/coding/gsm0503_parity.c @@ -134,4 +134,15 @@ .remainder = 0x3f, }; +/*! GSM AMR parity (SID_UPDATE) + * + * g(x) = x^14 + x^13 + x^5 + x^3 + x^2 + 1 + */ +const struct osmo_crc16gen_code gsm0503_amr_crc14 = { + .bits = 14, + .poly = 0x202d, + .init = 0x0000, + .remainder = 0x3fff, +}; + /*! @} */ diff --git a/src/coding/libosmocoding.map b/src/coding/libosmocoding.map index 87b3886..7f88111 100644 --- a/src/coding/libosmocoding.map +++ b/src/coding/libosmocoding.map @@ -56,6 +56,7 @@ gsm0503_tch_fr_crc3; gsm0503_tch_efr_crc8; gsm0503_amr_crc6; +gsm0503_amr_crc14; gsm0503_xcch_burst_unmap; gsm0503_xcch_burst_map; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 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 Mar 3 08:54:25 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 08:54:25 +0000 Subject: Change in libosmocore[master]: conv: add convolutional coder for AMR SID UPDATE frames References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17326 ) Change subject: conv: add convolutional coder for AMR SID UPDATE frames ...................................................................... conv: add convolutional coder for AMR SID UPDATE frames AMR SID update frames are protected using an 1/4 convolutional coder, wich is similar to the one used with 6,7 kbit voice frames. Except that there is no puncturing and the length is differen. Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Related: OS#2978 --- M src/gsm/libosmogsm.map M tests/conv/conv_gsm0503_test.ok M utils/conv_codes_gsm.py 3 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/17326/1 diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index efca0a5..a518b28 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -135,6 +135,7 @@ gsm0503_tch_ahs_5_9; gsm0503_tch_ahs_5_15; gsm0503_tch_ahs_4_75; +gsm0503_tch_axs_sid_update; gsm0503_mcs1_dl_hdr; gsm0503_mcs1_ul_hdr; gsm0503_mcs1; diff --git a/tests/conv/conv_gsm0503_test.ok b/tests/conv/conv_gsm0503_test.ok index 39480ca..764bd43 100644 --- a/tests/conv/conv_gsm0503_test.ok +++ b/tests/conv/conv_gsm0503_test.ok @@ -190,6 +190,14 @@ [..] Encoding / Decoding cycle : OK [..] Encoding / Decoding cycle : OK +[+] Testing: gsm0503_tch_axs_sid_update +[.] Input length : ret = 49 exp = 49 -> OK +[.] Output length : ret = 212 exp = 212 -> OK +[.] Random vector checks: +[..] Encoding / Decoding cycle : OK +[..] Encoding / Decoding cycle : OK +[..] Encoding / Decoding cycle : OK + [+] Testing: gsm0503_mcs1_dl_hdr [.] Input length : ret = 36 exp = 36 -> OK [.] Output length : ret = 108 exp = 108 -> OK diff --git a/utils/conv_codes_gsm.py b/utils/conv_codes_gsm.py index e189985..42f340b 100644 --- a/utils/conv_codes_gsm.py +++ b/utils/conv_codes_gsm.py @@ -522,6 +522,25 @@ description = ["TCH/AHS 4.75 kbits convolutional code"] ), + # TCH_AXS SID UPDATE definition + ConvolutionalCode( + 49, + [ + ( G1, G3 ), + ( G2, G3 ), + ( 1, 1 ), + ( 1, 1 ), + ], + name = 'tch_axs_sid_update', + description = [ + "TCH/AFS and TCH/AHS SID UPDATE convolutional code:", + "G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4", + "G2/G3 = 1 + D2 + D4 / 1 + D + D2 + D3 + D4", + "G3/G3 = 1", + "G3/G3 = 1", + ] + ), + # EDGE MCS1_DL_HDR definition ConvolutionalCode( 36, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Gerrit-Change-Number: 17326 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 Mar 3 09:20:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:20:33 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: new versions require python3-numpy In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17317 ) Change subject: osmo-gsm-tester: new versions require python3-numpy ...................................................................... osmo-gsm-tester: new versions require python3-numpy Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0 --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Verified laforge: Looks good to me, approved diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 40e7e1a..cd42daa 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -20,6 +20,7 @@ python3-yaml \ python3-mako \ python3-gi \ + python3-numpy \ python3-wheel \ ofono \ patchelf \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0 Gerrit-Change-Number: 17317 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 Mar 3 09:20:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:20:34 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17319 ) Change subject: osmo-gsm-tester: Add missing srsLTE dependencies (soapy) ...................................................................... osmo-gsm-tester: Add missing srsLTE dependencies (soapy) Currently srsLTE trials link against soapySDR library to have LimeSDR support. We need to move installation of those new packages further below in the Dockerfiler because that lib version is only available with osmocom repositories (which were added at a later point in the file). Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436 --- M osmo-gsm-tester/Dockerfile 1 file changed, 16 insertions(+), 13 deletions(-) Approvals: pespin: Verified laforge: Looks good to me, approved diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index cd42daa..6ed992e 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -38,19 +38,6 @@ pyusb \ pysispm -# install srsLTE runtime dependencies -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - cmake \ - libfftw3-dev \ - libmbedtls-dev \ - libboost-program-options-dev \ - libconfig++-dev \ - libsctp-dev \ - libpcsclite-dev \ - libuhd-dev \ - libczmq-dev - # Intall sshd: RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd @@ -109,6 +96,22 @@ libasn1c-dev && \ apt-get clean +# install srsLTE runtime dependencies +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + cmake \ + libfftw3-dev \ + libmbedtls-dev \ + libboost-program-options-dev \ + libconfig++-dev \ + libsctp-dev \ + libpcsclite-dev \ + libuhd-dev \ + libczmq-dev \ + libsoapysdr-dev \ + soapysdr0.7-module-lms7 && \ + apt-get clean + WORKDIR /tmp ARG OSMO_GSM_TESTER_BRANCH="master" -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436 Gerrit-Change-Number: 17319 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 Mar 3 09:20:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:20:35 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17320 ) Change subject: osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version ...................................................................... osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version * Fix wrong KI. * Add an extra IP address to slave so that ENB and EPC can be run on different IP addresses and their GTP ports don't collide. * Add required rf parameters to resources.conf Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9 --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh R osmo-gsm-tester/osmo-gsm-tester-master.sh A osmo-gsm-tester/osmo-gsm-tester-slave.sh M osmo-gsm-tester/resources.conf 5 files changed, 14 insertions(+), 5 deletions(-) Approvals: pespin: Verified laforge: Looks good to me, approved diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 6ed992e..859f0b1 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -134,6 +134,6 @@ ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/example WORKDIR /data -CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester.sh >/data/osmo-gsm-tester.log 2>&1"] +CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"] EXPOSE 22/tcp diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 16552f9..248a10b 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -21,9 +21,10 @@ network_create 172.18.50.0/24 mkdir $VOL_BASE_DIR/ogt-slave +cp osmo-gsm-tester-slave.sh $VOL_BASE_DIR/ogt-slave/ mkdir $VOL_BASE_DIR/ogt-master -cp osmo-gsm-tester.sh $VOL_BASE_DIR/ogt-master/ +cp osmo-gsm-tester-master.sh $VOL_BASE_DIR/ogt-master/ echo Starting container with osmo-gsm-tester slave docker run --rm \ @@ -35,7 +36,7 @@ -v $VOL_BASE_DIR/ogt-slave:/data \ --name ${BUILD_TAG}-ogt-slave -d \ $REPO_USER/osmo-gsm-tester \ - /bin/sh -c "/usr/sbin/sshd -D -e >/data/sshd.log 2>&1" + /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit docker run --rm \ diff --git a/osmo-gsm-tester/osmo-gsm-tester.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh similarity index 100% rename from osmo-gsm-tester/osmo-gsm-tester.sh rename to osmo-gsm-tester/osmo-gsm-tester-master.sh diff --git a/osmo-gsm-tester/osmo-gsm-tester-slave.sh b/osmo-gsm-tester/osmo-gsm-tester-slave.sh new file mode 100755 index 0000000..3170922 --- /dev/null +++ b/osmo-gsm-tester/osmo-gsm-tester-slave.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Add local IP addresses required by osmo-gsm-tester resources: +ip addr add 172.18.50.101/24 dev eth0 + +/usr/sbin/sshd -D -e diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index 1120178..a81d92a 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -36,8 +36,9 @@ enb: - label: srsENB-zmq type: srsenb + rf_dev_type: zmq remote_user: jenkins - addr: 172.18.50.100 + addr: 172.18.50.101 arfcn: - arfcn: 512 @@ -53,8 +54,9 @@ - label: srsUE-zmq_1 type: srsue + rf_dev_type: zmq remote_user: jenkins addr: 172.18.50.100 imsi: '001010123456789' - ki: '8CCBE85A62C6DC7AC2A9886F4BBC3146' + ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9 Gerrit-Change-Number: 17320 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 Mar 3 09:20:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:20:35 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Copy limits.d files to docker image In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17321 ) Change subject: osmo-gsm-tester: Copy limits.d files to docker image ...................................................................... osmo-gsm-tester: Copy limits.d files to docker image These are required to allow setting rt prio for jenkins user inside the docker container, as well as for being allowed to create coredump files. Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Verified laforge: Looks good to me, approved diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 859f0b1..bed641c 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -127,6 +127,7 @@ # Copy several scripts and permission for osmo-gsm-tester: RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/ RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/ +RUN mkdir -p /etc/security/limits.d/ && cp osmo-gsm-tester/utils/limits.d/* /etc/security/limits.d/ VOLUME /data COPY resources.conf /tmp/osmo-gsm-tester/example/resources.conf -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a Gerrit-Change-Number: 17321 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 Mar 3 09:20:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:20:58 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable metrics csv file generation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 ) Change subject: srsue: Enable metrics csv file generation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60 Gerrit-Change-Number: 17310 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09: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 Tue Mar 3 09:21:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:01 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable pcap through config file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 ) Change subject: srsue: Enable pcap through config file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15219d707aea778fefa8911362278442fa09550c Gerrit-Change-Number: 17311 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:21: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 Mar 3 09:21:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:04 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Fix zmq base_rate calculation and share value In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 ) Change subject: srsue,srsenb: Fix zmq base_rate calculation and share value ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 Gerrit-Change-Number: 17312 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:21: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 Mar 3 09:21:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:07 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support configuring data direction (dl vs ul) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17315 ) Change subject: iperf3: Support configuring data direction (dl vs ul) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6b5b740beac22015c952ce826c034031ad4c4465 Gerrit-Change-Number: 17315 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:21: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 Mar 3 09:21:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:13 +0000 Subject: Change in osmo-gsm-tester[master]: tests: Improve logging of iperf3 results In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17316 ) Change subject: tests: Improve logging of iperf3 results ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6563c11f4ad6e9519400268e63944cdf8973dad0 Gerrit-Change-Number: 17316 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:21: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 Mar 3 09:21:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:17 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support setting run time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17322 ) Change subject: iperf3: Support setting run time ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I93e857bd682c733c3ba36234b9bf1e1cc85eddef Gerrit-Change-Number: 17322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09: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 Mar 3 09:21:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:25 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Remove old comment not longer applying In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17309 ) Change subject: srsue: Remove old comment not longer applying ...................................................................... srsue: Remove old comment not longer applying Change-Id: I1718dbb701c5dcd5a4081d3d91ae9f192418e7df --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 0accaea..38e2baf 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -211,7 +211,6 @@ return self._addr def run_node(self): - # TODO: move to an object return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) def run_netns_wait(self, name, popen_args): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1718dbb701c5dcd5a4081d3d91ae9f192418e7df Gerrit-Change-Number: 17309 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 Mar 3 09:21:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:25 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable metrics csv file generation In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 ) Change subject: srsue: Enable metrics csv file generation ...................................................................... srsue: Enable metrics csv file generation Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60 --- M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 14 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 38e2baf..11a6966 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -34,6 +34,7 @@ CFGFILE = 'srsue.conf' PCAPFILE = 'srsue.pcap' LOGFILE = 'srsue.log' + METRICSFILE = 'srsue_metrics.csv' def __init__(self, suite_run, conf): self._addr = conf.get('addr', None) @@ -45,11 +46,13 @@ self.config_file = None self.log_file = None self.pcap_file = None + self.metrics_file = None self.process = None self.rem_host = None self.remote_config_file = None self.remote_log_file = None self.remote_pcap_file = None + self.remote_metrics_file = None self.suite_run = suite_run self.nof_prb=50 if self.nof_prb == 75: @@ -74,6 +77,10 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) + try: + self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) + except Exception as e: + self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -106,6 +113,7 @@ 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.rem_host.recreate_remote_dir(remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) @@ -134,7 +142,8 @@ '--gw.netns=' + self.netns(), '--log.filename=' + 'stdout', #self.remote_log_file, '--pcap.enable=true', - '--pcap.filename=' + self.remote_pcap_file) + '--pcap.filename=' + self.remote_pcap_file, + '--general.metrics_csv_filename=' + self.remote_metrics_file) self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) @@ -170,7 +179,8 @@ '--gw.netns=' + self.netns(), '--log.filename=' + self.log_file, '--pcap.enable=true', - '--pcap.filename=' + self.pcap_file) + '--pcap.filename=' + self.pcap_file, + '--general.metrics_csv_filename=' + self.metrics_file) self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -181,6 +191,7 @@ self.config_file = self.run_dir.new_file(srsUE.CFGFILE) self.log_file = self.run_dir.child(srsUE.LOGFILE) self.pcap_file = self.run_dir.new_file(srsUE.PCAPFILE) + self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) self.dbg(config_file=self.config_file) values = dict(ue=config.get_defaults('srsue')) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index eef5a7e..5cca60c 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -344,6 +344,6 @@ # ##################################################################### [general] -#metrics_csv_enable = false +metrics_csv_enable = true #metrics_period_secs = 1 #metrics_csv_filename = /tmp/ue_metrics.csv -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60 Gerrit-Change-Number: 17310 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 Mar 3 09:21:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:26 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Enable pcap through config file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 ) Change subject: srsue: Enable pcap through config file ...................................................................... srsue: Enable pcap through config file Change-Id: I15219d707aea778fefa8911362278442fa09550c --- M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 1 insertion(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 11a6966..8c6f73a 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -141,7 +141,6 @@ '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + 'stdout', #self.remote_log_file, - '--pcap.enable=true', '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file) @@ -178,7 +177,6 @@ '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.log_file, - '--pcap.enable=true', '--pcap.filename=' + self.pcap_file, '--general.metrics_csv_filename=' + self.metrics_file) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 5cca60c..627f592 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -71,7 +71,7 @@ # nas_filename: File path to use for NAS packet captures ##################################################################### [pcap] -enable = false +enable = true filename = /tmp/ue.pcap nas_enable = false nas_filename = /tmp/nas.pcap -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I15219d707aea778fefa8911362278442fa09550c Gerrit-Change-Number: 17311 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 Mar 3 09:21:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:26 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Fix zmq base_rate calculation and share value In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 ) Change subject: srsue,srsenb: Fix zmq base_rate calculation and share value ...................................................................... srsue,srsenb: Fix zmq base_rate calculation and share value Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 52 insertions(+), 14 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_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 85180e4..1cfd212 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -25,6 +25,25 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF') +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + class srsENB(log.Origin): REMOTE_DIR = '/osmo-gsm-tester-srsenb' @@ -56,6 +75,7 @@ self.remote_config_rr_file = None self.remote_config_drb_file = None self.remote_log_file = None + self._num_prb = 0 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -161,15 +181,12 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - num_prb = values['enb'].get('num_prb', None) - assert num_prb - if num_prb == 75: - base_srate=15.36e6 - else: - base_srate=23.04e6 + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + base_srate = num_prb2base_srate(self._num_prb) rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \ - + ':2000,rx_port=tcp://'+ self.ue.addr() \ - + ':2001,id=enb,base_srate='+ str(base_srate) + + ':2000,rx_port=tcp://' + self.ue.addr() \ + + ':2001,id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) @@ -202,4 +219,7 @@ def addr(self): return self._addr + def num_prb(self): + return self._num_prb + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 8c6f73a..cbd8a68 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -27,6 +27,25 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF') +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + class srsUE(MS): REMOTE_DIR = '/osmo-gsm-tester-srsue' @@ -54,11 +73,6 @@ self.remote_pcap_file = None self.remote_metrics_file = None self.suite_run = suite_run - self.nof_prb=50 - if self.nof_prb == 75: - self.base_srate=15.36e6 - else: - self.base_srate=23.04e6 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)) @@ -198,7 +212,11 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://'+ self.addr() +':2001,rx_port=tcp://'+ self.enb.addr() +':2000,id=ue,base_srate='+ str(self.base_srate)))) + base_srate = num_prb2base_srate(self.enb.num_prb()) + config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://' + self.addr() + +':2001,rx_port=tcp://' + self.enb.addr() + +':2000,id=ue,base_srate='+ str(base_srate) + ))) self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 Gerrit-Change-Number: 17312 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 Mar 3 09:21:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:27 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support configuring data direction (dl vs ul) In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17315 ) Change subject: iperf3: Support configuring data direction (dl vs ul) ...................................................................... iperf3: Support configuring data direction (dl vs ul) Change-Id: I6b5b740beac22015c952ce826c034031ad4c4465 --- M src/osmo_gsm_tester/iperf3.py M suites/4g/iperf3.py M suites/gprs/lib/testlib.py 3 files changed, 13 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index 1b13ffe..78dc140 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -154,17 +154,17 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, netns=None): + def prepare_test_proc(self, downlink=False, netns=None): self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port())) self.log_copied = False self.run_dir = util.Dir(self.suite_run.get_test_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(netns) + return self.prepare_test_proc_locally(downlink, netns) else: - return self.prepare_test_proc_remotely(netns) + return self.prepare_test_proc_remotely(downlink, netns) - def prepare_test_proc_remotely(self, netns): + def prepare_test_proc_remotely(self, downlink, netns): 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) @@ -176,19 +176,25 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', '--logfile', self.remote_log_file) + if downlink: + popen_args += ('-R',) + if netns: self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={}) else: self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, netns): + def prepare_test_proc_locally(self, downlink, netns): pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', '--logfile', os.path.abspath(self.log_file)) + if downlink: + popen_args += ('-R',) + if netns: self.process = process.NetNSProcess(self.name(), self.run_dir, netns, popen_args, env={}) else: diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3.py index 5ccc922..cc7bca0 100755 --- a/suites/4g/iperf3.py +++ b/suites/4g/iperf3.py @@ -32,7 +32,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(ue.netns()) +proc = iperf3cli.prepare_test_proc(False, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/suites/gprs/lib/testlib.py b/suites/gprs/lib/testlib.py index 284ca63..c0af372 100644 --- a/suites/gprs/lib/testlib.py +++ b/suites/gprs/lib/testlib.py @@ -16,7 +16,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(ms_li[i].netns())) + procs.append(iperf3clients[i].prepare_test_proc(False, ms_li[i].netns())) try: for proc in procs: proc.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6b5b740beac22015c952ce826c034031ad4c4465 Gerrit-Change-Number: 17315 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 Mar 3 09:21:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:27 +0000 Subject: Change in osmo-gsm-tester[master]: tests: Improve logging of iperf3 results In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17316 ) Change subject: tests: Improve logging of iperf3 results ...................................................................... tests: Improve logging of iperf3 results Change-Id: I6563c11f4ad6e9519400268e63944cdf8973dad0 --- M suites/4g/iperf3.py M suites/gprs/lib/testlib.py 2 files changed, 18 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3.py index cc7bca0..371376f 100755 --- a/suites/4g/iperf3.py +++ b/suites/4g/iperf3.py @@ -1,16 +1,16 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_results(cli_res, srv_res): - cli_sent = cli_res['end']['sum_sent'] - cli_recv = cli_res['end']['sum_received'] - print("RESULT client:") - print("\tSEND: %d KB, %d kbps, %d seconds (%d retrans)" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'], cli_sent['retransmits'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) - print("RESULT server:") - print("\tSEND: %d KB, %d kbps, %d seconds" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) +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 = suite.epc() enb = suite.enb() diff --git a/suites/gprs/lib/testlib.py b/suites/gprs/lib/testlib.py index c0af372..c1a1bc1 100644 --- a/suites/gprs/lib/testlib.py +++ b/suites/gprs/lib/testlib.py @@ -1,15 +1,16 @@ #!/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): - cli_sent = cli_res['end']['sum_sent'] - cli_recv = cli_res['end']['sum_received'] - print("RESULT client:") - print("\tSEND: %d KB, %d kbps, %d seconds (%d retrans)" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'], cli_sent['retransmits'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) - print("RESULT server:") - print("\tSEND: %d KB, %d kbps, %d seconds" % (cli_sent['bytes']/1000, cli_sent['bits_per_second']/1000, cli_sent['seconds'])) - print("\tRECV: %d KB, %d kbps, %d seconds" % (cli_recv['bytes']/1000, cli_recv['bits_per_second']/1000, cli_recv['seconds'])) + print_result_node(cli_res, 'client') + print_result_node(srv_res, 'server') def run_iperf3_cli_parallel(iperf3clients, ms_li, ready_cb): assert len(iperf3clients) == len(ms_li) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6563c11f4ad6e9519400268e63944cdf8973dad0 Gerrit-Change-Number: 17316 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 Mar 3 09:21:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:27 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support setting run time In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17322 ) Change subject: iperf3: Support setting run time ...................................................................... iperf3: Support setting run time Change-Id: I93e857bd682c733c3ba36234b9bf1e1cc85eddef --- M src/osmo_gsm_tester/iperf3.py 1 file changed, 9 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index 78dc140..be4dd6f 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -154,17 +154,17 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None): + def prepare_test_proc(self, downlink=False, netns=None, time_sec=10): self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port())) self.log_copied = False self.run_dir = util.Dir(self.suite_run.get_test_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) + return self.prepare_test_proc_locally(downlink, netns, time_sec) else: - return self.prepare_test_proc_remotely(downlink, netns) + return self.prepare_test_proc_remotely(downlink, netns, time_sec) - def prepare_test_proc_remotely(self, downlink, netns): + def prepare_test_proc_remotely(self, downlink, netns, time_sec): 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) @@ -175,7 +175,8 @@ popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', self.remote_log_file) + '--logfile', self.remote_log_file, + '-t', str(time_sec)) if downlink: popen_args += ('-R',) @@ -185,13 +186,14 @@ self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, downlink, netns): + def prepare_test_proc_locally(self, downlink, netns, time_sec): pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) popen_args = ('iperf3', '-c', self.server.addr(), '-p', str(self.server.port()), '-J', - '--logfile', os.path.abspath(self.log_file)) + '--logfile', os.path.abspath(self.log_file), + '-t', str(time_sec)) if downlink: popen_args += ('-R',) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I93e857bd682c733c3ba36234b9bf1e1cc85eddef Gerrit-Change-Number: 17322 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 Mar 3 09:21:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:41 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17313 ) Change subject: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89 Gerrit-Change-Number: 17313 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:21:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 09:21:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:43 +0000 Subject: Change in osmo-ci[master]: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17313 ) Change subject: ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy ...................................................................... ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89 --- M ansible/roles/gsm-tester/tasks/main.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index fc3def9..c4be6ef 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -216,6 +216,7 @@ - python3-yaml - python3-mako - python3-gi + - python3-numpy - ofono - patchelf - libcap2-bin -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89 Gerrit-Change-Number: 17313 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 Mar 3 09:21:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:21:57 +0000 Subject: Change in osmo-ci[master]: update-osmo-ci-slaves: Fail jenkins jobs on script failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17275 ) Change subject: update-osmo-ci-slaves: Fail jenkins jobs on script failure ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab9bc49eebee0f42657ff3ab5ffaa10315446440 Gerrit-Change-Number: 17275 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09: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 Tue Mar 3 09:22:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:22:01 +0000 Subject: Change in osmo-ci[master]: update-osmo-ci-slaves: Fail jenkins jobs on script failure In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17275 ) Change subject: update-osmo-ci-slaves: Fail jenkins jobs on script failure ...................................................................... update-osmo-ci-slaves: Fail jenkins jobs on script failure It's been noted that jenkins job update-osmo-ci-on-slaves succeeds even if make script called by some children function fails: """ ../make/Makefile:57: recipe for target 'docker-build' failed make: *** [docker-build] Terminated make: Leaving directory '/home/osmocom-build/osmo-ci/_docker_playground/debian-stretch-jenkins' + exit 1 Finished: SUCCESS """ Change-Id: Iab9bc49eebee0f42657ff3ab5ffaa10315446440 --- M scripts/common.sh M scripts/osmo-ci-docker-rebuild.sh 2 files changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve pespin: Verified diff --git a/scripts/common.sh b/scripts/common.sh index 1c2dfe0..af7c354 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -153,6 +153,7 @@ # Subshell: run docker_images_require from jenkins-common.sh, pass all arguments (. ../jenkins-common.sh; docker_images_require "$@") - + ret=$? cd "$oldpwd" + return $ret } diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 943b5a0..6a1cc27 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -1,4 +1,5 @@ #!/bin/sh +set -e -x cd "$(dirname "$0")/.." . scripts/common.sh docker_images_require \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iab9bc49eebee0f42657ff3ab5ffaa10315446440 Gerrit-Change-Number: 17275 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Mar 3 09:22:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:22:14 +0000 Subject: Change in osmo-gsm-tester[master]: utils: Add limits.d dir with sample config files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17318 ) Change subject: utils: Add limits.d dir with sample config files ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8b124a8a1637666536772439b920e7b91e61533c Gerrit-Change-Number: 17318 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:22: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 Mar 3 09:22:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:22:17 +0000 Subject: Change in osmo-gsm-tester[master]: utils: Add limits.d dir with sample config files In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17318 ) Change subject: utils: Add limits.d dir with sample config files ...................................................................... utils: Add limits.d dir with sample config files Same as the ones described in osmo-gsm-tester User Manual and same as ones deployed by ansible scripts. Let's rather keep them here. Change-Id: I8b124a8a1637666536772439b920e7b91e61533c --- A utils/limits.d/osmo-gsm-tester_allow-rtprio.conf A utils/limits.d/osmo-gsm-tester_allowcore.conf 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/limits.d/osmo-gsm-tester_allow-rtprio.conf b/utils/limits.d/osmo-gsm-tester_allow-rtprio.conf new file mode 100644 index 0000000..7fa6136 --- /dev/null +++ b/utils/limits.d/osmo-gsm-tester_allow-rtprio.conf @@ -0,0 +1 @@ + at osmo-gsm-tester - rtprio 99 diff --git a/utils/limits.d/osmo-gsm-tester_allowcore.conf b/utils/limits.d/osmo-gsm-tester_allowcore.conf new file mode 100644 index 0000000..5eee2f9 --- /dev/null +++ b/utils/limits.d/osmo-gsm-tester_allowcore.conf @@ -0,0 +1 @@ + at osmo-gsm-tester - core unlimited -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8b124a8a1637666536772439b920e7b91e61533c Gerrit-Change-Number: 17318 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 Mar 3 09:23:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:23:14 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: fix open_ns(): return fd from open() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17324 ) Change subject: lib/netns: fix open_ns(): return fd from open() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I38caf5541ca90638ed10714adfbb08120e5397b9 Gerrit-Change-Number: 17324 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 09:23: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 Mar 3 09:23:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 09:23:17 +0000 Subject: Change in osmo-ggsn[master]: lib/netns: fix open_ns(): return fd from open() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17324 ) Change subject: lib/netns: fix open_ns(): return fd from open() ...................................................................... lib/netns: fix open_ns(): return fd from open() Looks like a bug introduced by I9b9c8fd6eeaaa7d190b8e2a34ca82088904c7708. Change-Id: I38caf5541ca90638ed10714adfbb08120e5397b9 Fixes: CID#208656 --- M lib/netns.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/lib/netns.c b/lib/netns.c index bd2076b..58ae036 100644 --- a/lib/netns.c +++ b/lib/netns.c @@ -96,7 +96,7 @@ return -rc; } - return 0; + return fd; } int socket_ns(int nsfd, int domain, int type, int protocol) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I38caf5541ca90638ed10714adfbb08120e5397b9 Gerrit-Change-Number: 17324 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 Tue Mar 3 10:18:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 10:18:12 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17325 ) Change subject: parity: add amr crc14 definition ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17325/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/17325/1//COMMIT_MSG at 10 PS1, Line 10: specifies a 16 bit CRC to protect the comfort noise updates contained in it says 16 here but 14 in the first line. One of them is wrong? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 10:18: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 Tue Mar 3 10:19:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 10:19:22 +0000 Subject: Change in libosmocore[master]: conv: add convolutional coder for AMR SID UPDATE frames In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17326 ) Change subject: conv: add convolutional coder for AMR SID UPDATE frames ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17326/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/17326/1//COMMIT_MSG at 11 PS1, Line 11: there is no puncturing and the length is differen. typo: different. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Gerrit-Change-Number: 17326 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 10:19: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 Tue Mar 3 10:27:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 10:27:06 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: initalize tlv_parsed structure with zeros 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/+/17269 to look at the new patch set (#2). Change subject: osmo-sim-test: initalize tlv_parsed structure with zeros ...................................................................... osmo-sim-test: initalize tlv_parsed structure with zeros The variable struct tlv_parsed tp in dump_file() is not pre-initalized. Lets make sure that it is pre-initalized to avoid accessing uninitalized memory in error/corner cases. Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Fixes: CID#208435 --- M utils/osmo-sim-test.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/17269/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Gerrit-Change-Number: 17269 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 Tue Mar 3 10:30:41 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 10:30:41 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: check tlv_parsed struct tp before access 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/+/17269 to look at the new patch set (#3). Change subject: osmo-sim-test: check tlv_parsed struct tp before access ...................................................................... osmo-sim-test: check tlv_parsed struct tp before access The variable struct tlv_parsed tp in dump_file() conditionally initalized by tlv_parse() but later it is accessed under a different condition without a check that makes sure that tp is only accessed when tlv_parse() was called beforehand. Lets introduce a check that makes sure tp can not be accessed when it is uninitalized. Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Fixes: CID#208435 --- M utils/osmo-sim-test.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/17269/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Gerrit-Change-Number: 17269 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 Tue Mar 3 10:33:03 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 10:33:03 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: check tlv_parsed struct tp before access 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/+/17269 to look at the new patch set (#4). Change subject: osmo-sim-test: check tlv_parsed struct tp before access ...................................................................... osmo-sim-test: check tlv_parsed struct tp before access The variable struct tlv_parsed tp in dump_file() conditionally initalized by tlv_parse() but later it is accessed under a different condition without a check that makes sure that tp is only accessed when tlv_parse() was called beforehand. Lets introduce a check that makes sure tp can not be accessed when it is uninitalized. Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Fixes: CID#208435 --- M utils/osmo-sim-test.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/17269/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Gerrit-Change-Number: 17269 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 Tue Mar 3 10:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 10:37:40 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition 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/+/17325 to look at the new patch set (#2). Change subject: parity: add amr crc14 definition ...................................................................... parity: add amr crc14 definition AMR not only specifies a 6 bit CRC for regular voice information. It also specifies a 14 bit CRC to protect the comfort noise updates contained in the SID_UPDATE frames. Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Related: OS#2978 --- M include/osmocom/coding/gsm0503_parity.h M src/coding/gsm0503_parity.c M src/coding/libosmocoding.map 3 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/17325/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 10:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Mar 2020 10:37:40 +0000 Subject: Change in libosmocore[master]: conv: add convolutional coder for AMR SID UPDATE frames 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/+/17326 to look at the new patch set (#2). Change subject: conv: add convolutional coder for AMR SID UPDATE frames ...................................................................... conv: add convolutional coder for AMR SID UPDATE frames AMR SID update frames are protected using an 1/4 convolutional coder, wich is similar to the one used with 6,7 kbit voice frames. Except that there is no puncturing and the length is different. Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Related: OS#2978 --- M src/gsm/libosmogsm.map M tests/conv/conv_gsm0503_test.ok M utils/conv_codes_gsm.py 3 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/17326/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Gerrit-Change-Number: 17326 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 Tue Mar 3 10:39:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 10:39:23 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: check tlv_parsed struct tp before access In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17269 ) Change subject: osmo-sim-test: check tlv_parsed struct tp before access ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Gerrit-Change-Number: 17269 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 10:39: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 Mar 3 11:03:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:03:14 +0000 Subject: Change in osmo-ci[master]: jobs: jenkins simtest node is named simtester References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17327 ) Change subject: jobs: jenkins simtest node is named simtester ...................................................................... jobs: jenkins simtest node is named simtester simtest node doesn't exist, it's called simtester. Fixes: 3935743127633815b068cd57469775722c3710e3 Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4 --- M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/27/17327/1 diff --git a/jobs/update-osmo-ci-on-slaves.yml b/jobs/update-osmo-ci-on-slaves.yml index 0a42f6b..16c4ceb 100644 --- a/jobs/update-osmo-ci-on-slaves.yml +++ b/jobs/update-osmo-ci-on-slaves.yml @@ -6,7 +6,7 @@ type: slave name: label values: - - simtest + - simtester - admin2-deb8build - admin2-deb9build - host2-deb8build-ansible diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index 91113b3..5ef3fd5 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -6,7 +6,7 @@ type: slave name: label values: - - simtest + - simtester - admin2-deb8build - admin2-deb9build - host2-deb8build-ansible -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4 Gerrit-Change-Number: 17327 Gerrit-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 Mar 3 11:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 11:06:29 +0000 Subject: Change in osmo-ci[master]: jobs: jenkins simtest node is named simtester In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17327 ) Change subject: jobs: jenkins simtest node is named simtester ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4 Gerrit-Change-Number: 17327 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 03 Mar 2020 11:06: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 Mar 3 11:06:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:06:46 +0000 Subject: Change in osmo-ci[master]: jobs: jenkins simtest node is named simtester In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17327 ) Change subject: jobs: jenkins simtest node is named simtester ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4 Gerrit-Change-Number: 17327 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 11:06: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 Mar 3 11:06:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:06:50 +0000 Subject: Change in osmo-ci[master]: jobs: jenkins simtest node is named simtester In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17327 ) Change subject: jobs: jenkins simtest node is named simtester ...................................................................... jobs: jenkins simtest node is named simtester simtest node doesn't exist, it's called simtester. Fixes: 3935743127633815b068cd57469775722c3710e3 Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4 --- M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Verified diff --git a/jobs/update-osmo-ci-on-slaves.yml b/jobs/update-osmo-ci-on-slaves.yml index 0a42f6b..16c4ceb 100644 --- a/jobs/update-osmo-ci-on-slaves.yml +++ b/jobs/update-osmo-ci-on-slaves.yml @@ -6,7 +6,7 @@ type: slave name: label values: - - simtest + - simtester - admin2-deb8build - admin2-deb9build - host2-deb8build-ansible diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index 91113b3..5ef3fd5 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -6,7 +6,7 @@ type: slave name: label values: - - simtest + - simtester - admin2-deb8build - admin2-deb9build - host2-deb8build-ansible -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4 Gerrit-Change-Number: 17327 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 11:21:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:21:32 +0000 Subject: Change in osmo-ci[master]: jobs: update-osmo-python-on-slaves: osmo-python not required in simte... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17328 ) Change subject: jobs: update-osmo-python-on-slaves: osmo-python not required in simtester node ...................................................................... jobs: update-osmo-python-on-slaves: osmo-python not required in simtester node Change-Id: Ia3728cf9296eab8db49274e4da64249e497726d1 --- M jobs/update-osmo-python-on-slaves.yml 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/28/17328/1 diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index 5ef3fd5..ab433a6 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -6,7 +6,6 @@ type: slave name: label values: - - simtester - admin2-deb8build - admin2-deb9build - host2-deb8build-ansible -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia3728cf9296eab8db49274e4da64249e497726d1 Gerrit-Change-Number: 17328 Gerrit-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 Mar 3 11:27:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 11:27:15 +0000 Subject: Change in osmo-ci[master]: jobs: update-osmo-python-on-slaves: osmo-python not required in simte... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17328 ) Change subject: jobs: update-osmo-python-on-slaves: osmo-python not required in simtester node ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia3728cf9296eab8db49274e4da64249e497726d1 Gerrit-Change-Number: 17328 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 03 Mar 2020 11:27: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 Mar 3 11:27:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 11:27:22 +0000 Subject: Change in osmo-ci[master]: jobs: update-osmo-python-on-slaves: osmo-python not required in simte... In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17328 ) Change subject: jobs: update-osmo-python-on-slaves: osmo-python not required in simtester node ...................................................................... jobs: update-osmo-python-on-slaves: osmo-python not required in simtester node Change-Id: Ia3728cf9296eab8db49274e4da64249e497726d1 --- M jobs/update-osmo-python-on-slaves.yml 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved; Verified diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index 5ef3fd5..ab433a6 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -6,7 +6,6 @@ type: slave name: label values: - - simtester - admin2-deb8build - admin2-deb9build - host2-deb8build-ansible -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia3728cf9296eab8db49274e4da64249e497726d1 Gerrit-Change-Number: 17328 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 11:28:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:28:52 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 Some jenkins slaves may not need docker (or even have it installed). Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/29/17329/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 275fc69..e8716c4 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -10,6 +10,6 @@ git rev-parse HEAD git status -if [ `uname` = "Linux" ]; then +if [ `uname` = "Linux" ] && [ "x${OSMO_CI_NO_DOCKER}" = "x1" ]; then scripts/osmo-ci-docker-rebuild.sh fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 Gerrit-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 Mar 3 11:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:35:00 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 Some jenkins slaves may not need docker (or even have it installed). Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/29/17329/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 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 Tue Mar 3 11:35:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 11:35:50 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 11:35: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 Mar 3 11:40:10 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 3 Mar 2020 11:40:10 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... Patch Set 2: Code-Review+1 I was wondering whether it makes sense to run the job at all for these slaves, because what else does it do? But the remaining bit is checking out osmo-ci scripts to ~/osmo-ci, so it makes sense. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 11:40: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 Mar 3 11:49:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 11:49:45 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 11:49: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 Mar 3 11:52:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 11:52:30 +0000 Subject: Change in libosmocore[master]: conv: add convolutional coder for AMR SID UPDATE frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17326 ) Change subject: conv: add convolutional coder for AMR SID UPDATE frames ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Gerrit-Change-Number: 17326 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 11:52: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 Mar 3 11:54:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 11:54:11 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17325 ) Change subject: parity: add amr crc14 definition ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 11:54:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 12:46:49 2020 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Tue, 3 Mar 2020 12:46:49 +0000 Subject: Change in osmo-ccid-firmware[master]: generic improvements for the testsbed In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 to look at the new patch set (#2). Change subject: generic improvements for the testsbed ...................................................................... generic improvements for the testsbed * fix run-tests so it can return != 0 * bail out if prepare fails * add more sanity checks to prepare * generalize usb-ids, paths * add test for flashing from application mode * add test reading simcards via pysim Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 --- M tests/run-tests M tests/sysmo-octsim/01_check_rig.sh M tests/sysmo-octsim/02_flash_dfu.sh M tests/sysmo-octsim/03_check_lsusb.sh M tests/sysmo-octsim/04_check_dfu_lsusb.sh A tests/sysmo-octsim/05_flash_dfu_from_app.out A tests/sysmo-octsim/05_flash_dfu_from_app.sh A tests/sysmo-octsim/06_test_simcards.out A tests/sysmo-octsim/06_test_simcards.sh M tests/sysmo-octsim/README A tests/sysmo-octsim/ctl_get_relay_sn.sh M tests/sysmo-octsim/ctl_reset_target.sh M tests/sysmo-octsim/ctl_reset_to_dfu.sh M tests/sysmo-octsim/fetch_image.sh M tests/sysmo-octsim/flash_octsim_dfu.sh M tests/sysmo-octsim/get_installed_version.sh M tests/sysmo-octsim/prepare M tests/sysmo-octsim/regen M tests/sysmo-octsim/run-tests M tests/sysmo-octsim/test-data 20 files changed, 214 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/57/17257/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 Gerrit-Change-Number: 17257 Gerrit-PatchSet: 2 Gerrit-Owner: roh 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 Mar 3 12:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Tue, 3 Mar 2020 12:54:03 +0000 Subject: Change in osmo-ccid-firmware[master]: generic improvements for the testsbed In-Reply-To: References: Message-ID: roh has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 ) Change subject: generic improvements for the testsbed ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257/1//COMMIT_MSG at 7 PS1, Line 7: generic improvements for the testsbed: > first line of the commit log message should be brief one-line summary followed by empty line before [?] done https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257/1/tests/sysmo-octsim/05_flash_dfu_from_app.out File tests/sysmo-octsim/05_flash_dfu_from_app.out: https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257/1/tests/sysmo-octsim/05_flash_dfu_from_app.out at 12 PS1, Line 12: Run-time device DFU version 0100 > this kind of matching of the full stdout will break every time the distribution updates dfu-util... [?] i think this is ok, since we do not update that often (0.9 is in there for ages) and the output lets us find out which way dfu was run (from app mode or from bootloader - we test both) https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257/1/tests/sysmo-octsim/05_flash_dfu_from_app.sh File tests/sysmo-octsim/05_flash_dfu_from_app.sh: https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257/1/tests/sysmo-octsim/05_flash_dfu_from_app.sh at 3 PS1, Line 3: > is it intentional that we continue this script even if one of the called scripts return error? Othe [?] changed all scripts but the main testwalker to use set -e -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 Gerrit-Change-Number: 17257 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 03 Mar 2020 12:54:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 15:13:37 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 15:13:37 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... gb: Fix typos in gprs_ns.c comments Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore.git refs/changes/30/17330/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index ac39e4a..2701d72 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -51,7 +51,7 @@ * * There can be multiple BSSGP virtual connections over one (group of) NSVC's. BSSGP will * therefore identify the BSSGP virtual connection by a BVCI passed down to NS. - * NS then has to firgure out which NSVC's are responsible for this BVCI. + * NS then has to figure out which NSVC's are responsible for this BVCI. * Those mappings are administratively configured. * * This implementation has the following limitations: @@ -1078,7 +1078,7 @@ * \param[in] msg struct msgb to be trasnmitted * * This function obtains the NS-VC by the msgb_nsei(msg) and then checks - * if the NS-VC is ALIVEV and not BLOCKED. After that, it adds a NS + * if the NS-VC is ALIVE and not BLOCKED. After that, it adds a NS * header for the NS-UNITDATA message type and sends it off. * * Section 9.2.10: transmit side / NS-UNITDATA-REQUEST primitive -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 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 Mar 3 15:13:38 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 15:13:38 +0000 Subject: Change in libosmocore.git[master]: gb: Logging improvements. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Logging improvements. ...................................................................... gb: Logging improvements. 1. Print signalling and data weights on NS-VC creation. 2. Print an INFO message when we receive a NS-ALIVE from an unknown IP:port. Before that it was ignored silently which was making configuration debugging difficult for standard-compliant Gb over IP. Now you can easily see that an SGSN is trying to connect to us. Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 --- M src/gb/gprs_ns.c 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore.git refs/changes/31/17331/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 2701d72..26c80c4 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -318,7 +318,8 @@ return NULL; } - LOGP(DNS, LOGL_INFO, "NSVCI=%u Creating NS-VC\n", nsvci); + LOGP(DNS, LOGL_INFO, "NSVCI=%u Creating NS-VC Signal weight %d, Data weight %d\n", + nsvci, sig_weight, data_weight); nsvc = talloc_zero(nsi, struct gprs_nsvc); if (!nsvc) @@ -1632,6 +1633,14 @@ return GPRS_NS_CS_SKIPPED; } + if (nsh->pdu_type == NS_PDUT_ALIVE) { + /* Ignore this, see 3GPP TS 08.16, 7.4.1 */ + LOGP(DNS, LOGL_INFO, "Ignoring NS ALIVE from %s " + "for non-existing NS-VC\n", + gprs_ns_ll_str(fallback_nsvc)); + return GPRS_NS_CS_SKIPPED; + } + if (nsh->pdu_type == NS_PDUT_ALIVE_ACK) { /* Ignore this, see 3GPP TS 08.16, 7.4.1 */ LOGP(DNS, LOGL_INFO, "Ignoring NS ALIVE ACK from %s " -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 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 Mar 3 15:15:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 15:15:29 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 15:15:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 15:18:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 15:18:44 +0000 Subject: Change in libosmocore.git[master]: gb: Logging improvements. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Logging improvements. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c File src/gb/gprs_ns.c: https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c at 1678 PS1, Line 1678: return GPRS_NS_CS_REJECTED; iiuc it was returning over this path before? so it wasn't silently ignored. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 15:18: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 Tue Mar 3 15:32:14 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 15:32:14 +0000 Subject: Change in libosmocore.git[master]: gb: Logging improvements. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Logging improvements. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c File src/gb/gprs_ns.c: https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c at 1678 PS1, Line 1678: return GPRS_NS_CS_REJECTED; > iiuc it was returning over this path before? so it wasn't silently ignored. In practice, it was ignored silently, i.e. no error messages were sent. I guess because an NSVC is not yet established, so we don't know where to send them. But I haven't bug into this deep - I just observed this in Wireshark. We can change the return code above to GPRS_NS_CS_REJECTED if you think it makes more sense in the cases I haven't observed. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 15: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 Tue Mar 3 15:38:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 15:38:43 +0000 Subject: Change in libosmocore.git[master]: gb: Logging improvements. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Logging improvements. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c File src/gb/gprs_ns.c: https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c at 1678 PS1, Line 1678: return GPRS_NS_CS_REJECTED; > In practice, it was ignored silently, i.e. no error messages were sent. [?] I'm just trying to understand the patch in relation to your issue description. If you have INFO level enabled you should have seen the log message in line 1664 anyway right? I'm not very knowledgeable on gprs-ns, so I'll wait for someone else to comment. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 15:38:43 +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 Tue Mar 3 15:53:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 15:53:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore: Add *.d files References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332 ) Change subject: gitignore: Add *.d files ...................................................................... gitignore: Add *.d files my ggsn_tests directory becomes bull of those files after make ggsn_tests. Change-Id: Iece4dc883db95c2ea3b6c50a55ff34022a4c0bd6 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/17332/1 diff --git a/.gitignore b/.gitignore index 41add91..5c8caa5 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ !deps/Makefile .*.sw? *.netcat.stderr +*.d -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iece4dc883db95c2ea3b6c50a55ff34022a4c0bd6 Gerrit-Change-Number: 17332 Gerrit-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 Mar 3 15:53:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Mar 2020 15:53:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: Terminate immediately on pipong altstep failure References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17333 ) Change subject: ggsn: Terminate immediately on pipong altstep failure ...................................................................... ggsn: Terminate immediately on pipong altstep failure Change-Id: I1ae66afc562c6bf968b0b3bfa9a254fac0bd7404 --- M ggsn_tests/GGSN_Tests.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/17333/1 diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 40506df..be0e565 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -14,6 +14,7 @@ import from General_Types all; import from Osmocom_Types all; + import from Misc_Helpers all; import from IPL4asp_PortType all; import from IPL4asp_Types all; import from GTP_CodecPort all; @@ -209,9 +210,13 @@ repeat; }; [not g_use_echo] GTPC.receive(tr_GTPC_PING(?)) { - setverdict(fail, "GTP Echo Req rceived but not enabled in VTY"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "GTP Echo Req rceived but not enabled in VTY"); }; - [] T_default.timeout { setverdict(fail); }; + [] T_default.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "pinpong T_default timeout"); + }; } /* 'internet' in DNS encoding */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ae66afc562c6bf968b0b3bfa9a254fac0bd7404 Gerrit-Change-Number: 17333 Gerrit-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 Mar 3 16:04:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:04:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore: Add *.d files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332 ) Change subject: gitignore: Add *.d files ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332/1//COMMIT_MSG at 9 PS1, Line 9: bull and what about horses? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iece4dc883db95c2ea3b6c50a55ff34022a4c0bd6 Gerrit-Change-Number: 17332 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Mar 2020 16:04:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 16:05:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:05:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: Terminate immediately on pipong altstep failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17333 ) Change subject: ggsn: Terminate immediately on pipong altstep failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ae66afc562c6bf968b0b3bfa9a254fac0bd7404 Gerrit-Change-Number: 17333 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Mar 2020 16:05: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 Mar 3 16:05:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:05:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore: Add *.d files In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332 ) Change subject: gitignore: Add *.d files ...................................................................... gitignore: Add *.d files my ggsn_tests directory becomes bull of those files after make ggsn_tests. Change-Id: Iece4dc883db95c2ea3b6c50a55ff34022a4c0bd6 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 41add91..5c8caa5 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ !deps/Makefile .*.sw? *.netcat.stderr +*.d -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iece4dc883db95c2ea3b6c50a55ff34022a4c0bd6 Gerrit-Change-Number: 17332 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 16:05:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:05:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ggsn: Terminate immediately on pipong altstep failure In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17333 ) Change subject: ggsn: Terminate immediately on pipong altstep failure ...................................................................... ggsn: Terminate immediately on pipong altstep failure Change-Id: I1ae66afc562c6bf968b0b3bfa9a254fac0bd7404 --- M ggsn_tests/GGSN_Tests.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 40506df..be0e565 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -14,6 +14,7 @@ import from General_Types all; import from Osmocom_Types all; + import from Misc_Helpers all; import from IPL4asp_PortType all; import from IPL4asp_Types all; import from GTP_CodecPort all; @@ -209,9 +210,13 @@ repeat; }; [not g_use_echo] GTPC.receive(tr_GTPC_PING(?)) { - setverdict(fail, "GTP Echo Req rceived but not enabled in VTY"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "GTP Echo Req rceived but not enabled in VTY"); }; - [] T_default.timeout { setverdict(fail); }; + [] T_default.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "pinpong T_default timeout"); + }; } /* 'internet' in DNS encoding */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ae66afc562c6bf968b0b3bfa9a254fac0bd7404 Gerrit-Change-Number: 17333 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 16:05:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:05:27 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:05: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 Mar 3 16:15:48 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 16:15:48 +0000 Subject: Change in libosmocore.git[master]: gb: Logging improvements. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Logging improvements. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c File src/gb/gprs_ns.c: https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c at 1678 PS1, Line 1678: return GPRS_NS_CS_REJECTED; > I'm just trying to understand the patch in relation to your issue description. [?] Good point. I now also wonder why didn't I see this, maybe several things got combined. I'll re-submit this patch without the NS-ALIVE specific logging . -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:15:48 +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 Tue Mar 3 16:23:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:23:21 +0000 Subject: Change in libosmocore.git[master]: gb: Logging improvements. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Logging improvements. ...................................................................... Patch Set 1: Code-Review-1 (2 comments) unless I'm missing something, this actually removes useful features (like sending a NS-STATUS in response to the unexpected NS-ALIVE) and just moves the loggign around? https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c File src/gb/gprs_ns.c: https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c at 321 PS1, Line 321: %d, Data weight % formally correct would be %u as it's unsigned integers. Sure, with uint8_t an int should never overflow, so no practical issue. https://gerrit.osmocom.org/c/libosmocore.git/+/17331/1/src/gb/gprs_ns.c at 1678 PS1, Line 1678: return GPRS_NS_CS_REJECTED; > I'm just trying to understand the patch in relation to your issue description. [?] I agree with pespin here, from INFO level it should have shown up exactly in line 1655 above "Rejecting NS PDU type ...". The advantage of the old log line is that you could use the log filters (as it sets the nsvc context). Also, it actually returns a NS-STATUS informing the peer about the cause of the reject. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:23:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Tue Mar 3 16:24:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:24:04 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: I wonder why the jenkins build verification hasn't kicked in yet? -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:24: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 Mar 3 16:24:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:24:43 +0000 Subject: Change in libosmocore[master]: conv: add convolutional coder for AMR SID UPDATE frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17326 ) Change subject: conv: add convolutional coder for AMR SID UPDATE frames ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Gerrit-Change-Number: 17326 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:24: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 Mar 3 16:25:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:25:12 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17325 ) Change subject: parity: add amr crc14 definition ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:25:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 16:25:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:25:56 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16: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 Tue Mar 3 16:26:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:26:00 +0000 Subject: Change in osmo-ci[master]: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17329 ) Change subject: contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 ...................................................................... contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1 Some jenkins slaves may not need docker (or even have it installed). Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 275fc69..3ab942a 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -10,6 +10,6 @@ git rev-parse HEAD git status -if [ `uname` = "Linux" ]; then +if [ `uname` = "Linux" ] && [ "x${OSMO_CI_NO_DOCKER}" != "x1" ]; then scripts/osmo-ci-docker-rebuild.sh fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97 Gerrit-Change-Number: 17329 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Mar 3 16:26:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:26:43 +0000 Subject: Change in osmo-ci[master]: poky-sdk: Use first letter in caps (as in python bool) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17147 ) Change subject: poky-sdk: Use first letter in caps (as in python bool) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbfe678e89bef3acd33e562888ad81093fa1230d Gerrit-Change-Number: 17147 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:26: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 Mar 3 16:26:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 16:26:52 +0000 Subject: Change in osmo-ci[master]: poky-sdk: Use first letter in caps (as in python bool) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17147 ) Change subject: poky-sdk: Use first letter in caps (as in python bool) ...................................................................... poky-sdk: Use first letter in caps (as in python bool) Same as done in install-coverity/tasks/main.yml. Change-Id: Ifbfe678e89bef3acd33e562888ad81093fa1230d --- M ansible/roles/install-poky-sdk/tasks/main.yml 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ansible/roles/install-poky-sdk/tasks/main.yml b/ansible/roles/install-poky-sdk/tasks/main.yml index 7f95dce..ff65c1b 100644 --- a/ansible/roles/install-poky-sdk/tasks/main.yml +++ b/ansible/roles/install-poky-sdk/tasks/main.yml @@ -21,7 +21,7 @@ command: "/tmp/{{ poky_installer_file }} -y -d '{{ poky_dest }}'" args: creates: "{{ poky_dest }}" - when: poky_copy.failed == false + when: poky_copy.failed == False tags: [poky] - name: change owner/group to jenkins user @@ -30,18 +30,18 @@ owner: "{{ jenkins_user }}" group: "{{ jenkins_user }}" recurse: yes - when: poky_copy.failed == false + when: poky_copy.failed == False tags: [poky] - name: remove poky installer file: path: "/tmp/{{ poky_installer_file }}" state: absent - when: poky_copy.failed == false + when: poky_copy.failed == False tags: [poky] - name: "Please download {{ poky_installer_file }} to your ansible directory to allow ansible to install poky" debug: msg: "Ansible can not find or copy {{ poky_installer_file }}" - when: poky_copy.failed + when: poky_copy.failed == True tags: [poky] -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbfe678e89bef3acd33e562888ad81093fa1230d Gerrit-Change-Number: 17147 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 Mar 3 16:33:20 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 16:33:20 +0000 Subject: Change in libosmocore.git[master]: gb: Print signalling and data weights on NS-VC creation. In-Reply-To: References: Message-ID: Hello lynxis lazus, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 to look at the new patch set (#2). Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... gb: Print signalling and data weights on NS-VC creation. Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore.git refs/changes/31/17331/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 16:34:48 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 16:34:48 +0000 Subject: Change in libosmocore.git[master]: gb: Print signalling and data weights on NS-VC creation. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... Patch Set 2: Ok, I've removed the second chunk and replaces %d with %u. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:34: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 Tue Mar 3 16:40:51 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 16:40:51 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: > Patch Set 1: > > I wonder why the jenkins build verification hasn't kicked in yet? Not sure if this helps but Gerrit also doesn't sync with cgit - I've pushed a private brunch an hour ago and it's still not in cgit. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 16:40: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 Mar 3 18:58:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Mar 2020 18:58:32 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > I wonder why the jenkins build verification hasn't kicked in yet? > > Not sure if this helps but Gerrit also doesn't sync with cgit - I've pushed a private brunch an hour ago and it's still not in cgit. The repository name you're pushing to looks odd. It should be 'libosmocore', without '.git'. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 03 Mar 2020 18:58:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 19:50:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 19:50:36 +0000 Subject: Change in libosmocore.git[master]: gb: Print signalling and data weights on NS-VC creation. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17331 ) Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... Patch Set 2: Code-Review+2 looks good to me. As pespin stated in the other patch: You created a new project/repo called libosmocore.git here on gerrit. Please re-push to the correct repo name libosmocore and abandond the two patches for libosmocore.git. This way we'll get build verification and can actually merge it master. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Mar 2020 19:50: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 Mar 3 19:50:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 19:50:54 +0000 Subject: Change in libosmocore.git[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore.git/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: As pespin stated: You created a new project/repo called libosmocore.git here on gerrit. Please re-push to the correct repo name libosmocore and abandond the two patches for libosmocore.git. This way we'll get build verification and can actually merge it master. -- To view, visit https://gerrit.osmocom.org/c/libosmocore.git/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore.git Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 03 Mar 2020 19:50:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 20:05:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:05:02 +0000 Subject: Change in osmo-remsim[master]: update .gitignore References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17334 ) Change subject: update .gitignore ...................................................................... update .gitignore Change-Id: Ifa91ec3e8c75becd5652be29c964b0865c2e7b5a --- M .gitignore 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/34/17334/1 diff --git a/.gitignore b/.gitignore index 00378bc..e2546a0 100644 --- a/.gitignore +++ b/.gitignore @@ -30,8 +30,8 @@ m4 gen_rspro.stamp -src/osmo-remsim-client -src/osmo-remsim-client-st2 +src/client/osmo-remsim-client-shell +src/client/osmo-remsim-client-st2 src/bankd/pcsc_test src/bankd/osmo-remsim-bankd src/server/osmo-remsim-server -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifa91ec3e8c75becd5652be29c964b0865c2e7b5a Gerrit-Change-Number: 17334 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 Mar 3 20:05:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:05:02 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Migrate to ipa_client_conn_create2() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17335 ) Change subject: rspro_client_fsm: Migrate to ipa_client_conn_create2() ...................................................................... rspro_client_fsm: Migrate to ipa_client_conn_create2() libosmo-abis 0.8.0 has deprecated ipa_client_conn_create() and this follow-up patch avoids the related deprecation compiler warnings. Change-Id: I0057c5b6a79e7226e87983c14eb2b0ed2af2a131 --- M configure.ac M src/rspro_client_fsm.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/35/17335/1 diff --git a/configure.ac b/configure.ac index 1c9cd72..f8dc0c0 100644 --- a/configure.ac +++ b/configure.ac @@ -37,7 +37,7 @@ PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 1.3.0) PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 0.11.0) -PKG_CHECK_MODULES(OSMOABIS, libosmoabis) +PKG_CHECK_MODULES(OSMOABIS, libosmoabis >= 0.8.0) AC_ARG_ENABLE([remsim-server],[AS_HELP_STRING([--disable-remsim-server], [Build osmo-remsim-server])], [osmo_ac_build_server="$enableval"],[osmo_ac_build_server="yes"]) diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index b006809..2c1c029 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -289,7 +289,7 @@ } LOGPFSML(fi, LOGL_INFO, "Creating TCP connection to server at %s:%u\n", srvc->server_host, srvc->server_port); - srvc->conn = ipa_client_conn_create(fi, NULL, 0, srvc->server_host, srvc->server_port, + srvc->conn = ipa_client_conn_create2(fi, NULL, 0, NULL, 0, srvc->server_host, srvc->server_port, srvc_updown_cb, srvc_read_cb, NULL, srvc); if (!srvc->conn) { LOGPFSML(fi, LOGL_FATAL, "Unable to create socket: %s\n", strerror(errno)); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0057c5b6a79e7226e87983c14eb2b0ed2af2a131 Gerrit-Change-Number: 17335 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 Mar 3 20:15:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:15:30 +0000 Subject: Change in simtrace2[master]: extend osmo_st2_cardem_inst with fields required by osmo-remsim In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17304 ) Change subject: extend osmo_st2_cardem_inst with fields required by osmo-remsim ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib568e5212abfd1269a12c9e5672cdf23b4abff91 Gerrit-Change-Number: 17304 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Mar 2020 20:15: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 Mar 3 20:16:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:16:41 +0000 Subject: Change in osmo-remsim[master]: update .gitignore In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17334 ) Change subject: update .gitignore ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifa91ec3e8c75becd5652be29c964b0865c2e7b5a Gerrit-Change-Number: 17334 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Mar 2020 20:16: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 Mar 3 20:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:16:45 +0000 Subject: Change in osmo-remsim[master]: update .gitignore In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17334 ) Change subject: update .gitignore ...................................................................... update .gitignore Change-Id: Ifa91ec3e8c75becd5652be29c964b0865c2e7b5a --- M .gitignore 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 00378bc..e2546a0 100644 --- a/.gitignore +++ b/.gitignore @@ -30,8 +30,8 @@ m4 gen_rspro.stamp -src/osmo-remsim-client -src/osmo-remsim-client-st2 +src/client/osmo-remsim-client-shell +src/client/osmo-remsim-client-st2 src/bankd/pcsc_test src/bankd/osmo-remsim-bankd src/server/osmo-remsim-server -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifa91ec3e8c75becd5652be29c964b0865c2e7b5a Gerrit-Change-Number: 17334 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 Mar 3 20:25:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:25:03 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client 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/+/17160 to look at the new patch set (#6). Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... client: ifd_handler (PC/SC reader driver) as remsim-client This adds a "libifd_remsim_client.so" PC/SC driver that can be used to make normal PC/SC client programs (like pySim, sysmo-usim-tool, osmo-sim-test, osmo-usim-auth, ...) talk to a remote SIM bank. Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee --- M src/client/Makefile.am M src/client/client.h A src/client/user_ifdhandler.c 3 files changed, 949 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/60/17160/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 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 Tue Mar 3 20:25:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 20:25:04 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Add optional notifiation of parent on connect/disco... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17336 ) Change subject: rspro_client_fsm: Add optional notifiation of parent on connect/disconnect ...................................................................... rspro_client_fsm: Add optional notifiation of parent on connect/disconnect This will be useful once we introduce a 'main' client FSM that is a parent to the rspro_client_fsms. Change-Id: Ifddb8e0b5c991e5348392c9e44612669ce207bc4 --- M src/rspro_client_fsm.c M src/rspro_client_fsm.h 2 files changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/36/17336/1 diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index 2c1c029..e55892c 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -244,6 +244,14 @@ } } +static void srvc_st_connected_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct rspro_server_conn *srvc = (struct rspro_server_conn *) fi->priv; + + if (fi->proc.parent) + osmo_fsm_inst_dispatch(fi->proc.parent, srvc->parent_conn_evt, NULL); +} + static void srvc_st_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct rspro_server_conn *srvc = (struct rspro_server_conn *) fi->priv; @@ -263,6 +271,14 @@ } } +static void srvc_st_connected_onleave(struct osmo_fsm_inst *fi, uint32_t next_state) +{ + struct rspro_server_conn *srvc = (struct rspro_server_conn *) fi->priv; + + if (fi->proc.parent) + osmo_fsm_inst_dispatch(fi->proc.parent, srvc->parent_disc_evt, NULL); +} + static int ipa_kaepalive_timeout_cb(struct osmo_fsm_inst *ka_fi, void *conn) { struct osmo_fsm_inst *fi = ka_fi->proc.parent; @@ -396,6 +412,8 @@ .in_event_mask = S(SRVC_E_TCP_DOWN) | S(SRVC_E_KA_TIMEOUT) | S(SRVC_E_RSPRO_TX), .out_state_mask = S(SRVC_ST_REESTABLISH) | S(SRVC_ST_INIT), .action = srvc_st_connected, + .onenter = srvc_st_connected_onenter, + .onleave = srvc_st_connected_onleave, }, [SRVC_ST_REESTABLISH] = { .name = "REESTABLISH", diff --git a/src/rspro_client_fsm.h b/src/rspro_client_fsm.h index c1ae764..029fcd9 100644 --- a/src/rspro_client_fsm.h +++ b/src/rspro_client_fsm.h @@ -41,6 +41,10 @@ char *server_host; uint16_t server_port; + /* FSM events we are to sent to the parent FSM on connect / disconnect */ + uint32_t parent_conn_evt; + uint32_t parent_disc_evt; + /* only in case we are representing a bankd client */ struct { uint16_t bank_id; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifddb8e0b5c991e5348392c9e44612669ce207bc4 Gerrit-Change-Number: 17336 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 Mar 3 22:02:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 22:02:20 +0000 Subject: Change in simtrace2[master]: extend osmo_st2_cardem_inst with fields required by osmo-remsim In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17304 ) Change subject: extend osmo_st2_cardem_inst with fields required by osmo-remsim ...................................................................... extend osmo_st2_cardem_inst with fields required by osmo-remsim Change-Id: Ib568e5212abfd1269a12c9e5672cdf23b4abff91 --- M host/include/osmocom/simtrace2/simtrace2_api.h 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/host/include/osmocom/simtrace2/simtrace2_api.h b/host/include/osmocom/simtrace2/simtrace2_api.h index 012b96c..aa1637d 100644 --- a/host/include/osmocom/simtrace2/simtrace2_api.h +++ b/host/include/osmocom/simtrace2/simtrace2_api.h @@ -33,6 +33,10 @@ const struct osim_cla_ins_card_profile *card_prof; /* libosmosim SIM card channel */ struct osim_chan_hdl *chan; + /* path of the underlying USB device */ + char *usb_path; + /* opaque data TBD by user */ + void *priv; }; int osmo_st2_transp_tx_msg(struct osmo_st2_transport *transp, struct msgb *msg); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib568e5212abfd1269a12c9e5672cdf23b4abff91 Gerrit-Change-Number: 17304 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 Mar 3 22:02:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Mar 2020 22:02:20 +0000 Subject: Change in simtrace2[master]: cosmetic: Add missing CR to LF in dispatch_received_usb_msg() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17306 ) Change subject: cosmetic: Add missing CR to LF in dispatch_received_usb_msg() ...................................................................... cosmetic: Add missing CR to LF in dispatch_received_usb_msg() Change-Id: Ie1fc38ed4412b806e37688e0f9719573df06fd9f --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 5b17f86..6a8d98f 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -679,7 +679,7 @@ } if (mh->msg_len > msgb_length(msg)) { - TRACE_ERROR("%u: Unexpected large message (%u bytes)\n", + TRACE_ERROR("%u: Unexpected large message (%u bytes)\r\n", ci->num, mh->msg_len); usb_buf_free(segm); break; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1fc38ed4412b806e37688e0f9719573df06fd9f Gerrit-Change-Number: 17306 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 Tue Mar 3 22:02:57 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 22:02:57 +0000 Subject: Change in libosmocore[master]: gb: Fix typos in gprs_ns.c comments References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17337 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... gb: Fix typos in gprs_ns.c comments Change-Id: I24605c8616015b5f7d45297afc65d6a93d2edbaf --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/37/17337/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index ac39e4a..2701d72 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -51,7 +51,7 @@ * * There can be multiple BSSGP virtual connections over one (group of) NSVC's. BSSGP will * therefore identify the BSSGP virtual connection by a BVCI passed down to NS. - * NS then has to firgure out which NSVC's are responsible for this BVCI. + * NS then has to figure out which NSVC's are responsible for this BVCI. * Those mappings are administratively configured. * * This implementation has the following limitations: @@ -1078,7 +1078,7 @@ * \param[in] msg struct msgb to be trasnmitted * * This function obtains the NS-VC by the msgb_nsei(msg) and then checks - * if the NS-VC is ALIVEV and not BLOCKED. After that, it adds a NS + * if the NS-VC is ALIVE and not BLOCKED. After that, it adds a NS * header for the NS-UNITDATA message type and sends it off. * * Section 9.2.10: transmit side / NS-UNITDATA-REQUEST primitive -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24605c8616015b5f7d45297afc65d6a93d2edbaf Gerrit-Change-Number: 17337 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 Mar 3 22:02:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 22:02:58 +0000 Subject: Change in libosmocore[master]: gb: Print signalling and data weights on NS-VC creation. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17338 ) Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... gb: Print signalling and data weights on NS-VC creation. Change-Id: Ieebec5487f5d995a453d15bc024931299d5cf5bf --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/17338/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 2701d72..4e584ad 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -318,7 +318,8 @@ return NULL; } - LOGP(DNS, LOGL_INFO, "NSVCI=%u Creating NS-VC\n", nsvci); + LOGP(DNS, LOGL_INFO, "NSVCI=%u Creating NS-VC with Signal weight %u, Data weight %u\n", + nsvci, sig_weight, data_weight); nsvc = talloc_zero(nsi, struct gprs_nsvc); if (!nsvc) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieebec5487f5d995a453d15bc024931299d5cf5bf Gerrit-Change-Number: 17338 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 Mar 3 22:04:10 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 22:04:10 +0000 Subject: Change in libosmocore[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: ipse has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17330 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibfb974b3bd1faf6df0c8fa7a1f7a5309c93d9e50 Gerrit-Change-Number: 17330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 3 22:04:22 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 3 Mar 2020 22:04:22 +0000 Subject: Change in libosmocore[master]: gb: Print signalling and data weights on NS-VC creation. In-Reply-To: References: Message-ID: ipse has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17331 ) Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic145bcc54e3f0779ea9e284216831b17ab22eb91 Gerrit-Change-Number: 17331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 01:36:36 2020 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Wed, 4 Mar 2020 01:36:36 +0000 Subject: Change in pysim[master]: [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: Hello fixeria, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15504 to look at the new patch set (#17). Change subject: [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 ...................................................................... [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 This also makes sure that the tests are run with python3. This shound't be merged yet as part of the code still needs to be converted to python3. While this seem to work fine with ./pySim-read.py -p 0, other transports like the the serial and the osmocom tranports still depend on having python2 string encoding. This is for instance visible mostly in the PDU encoding where it depends on ord() which is different between python2 and python3. For python2 we have: ord(c) -> integer Return the integer ordinal of a one-character string. whereas for python3 we have: ord(c, /) Return the Unicode code point for a one-character string. Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M README.md M contrib/jenkins.sh M pySim-prog.py M pySim-read.py M pySim/card_handler.py M pySim/cards.py M pySim/commands.py M pySim/exceptions.py M pySim/transport/__init__.py M pySim/transport/calypso.py M pySim/transport/pcsc.py M pySim/transport/serial.py M pySim/ts_51_011.py M pySim/utils.py M tests/pysim-test.sh 15 files changed, 21 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/17 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 17 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 07:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 07:08:52 +0000 Subject: Change in pysim[master]: [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 ...................................................................... Patch Set 17: (2 comments) https://gerrit.osmocom.org/c/pysim/+/15504/16/README.md File README.md: https://gerrit.osmocom.org/c/pysim/+/15504/16/README.md at 43 PS16, Line 43: apt-get install python3-pyscard python3-serial python3-pip Why did you change this? https://gerrit.osmocom.org/c/pysim/+/15504/17/contrib/jenkins.sh File contrib/jenkins.sh: https://gerrit.osmocom.org/c/pysim/+/15504/17/contrib/jenkins.sh at 16 PS17, Line 16: pyscard It should be installed by apt. Installing with pip would require us to install python-dev, gcc, etc... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 17 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 04 Mar 2020 07:08: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 Wed Mar 4 07:10:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 07:10:12 +0000 Subject: Change in pysim[master]: [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: [DO NOT MERGE YET] Python2 is deprecated, switch to Python3 ...................................................................... Patch Set 17: (1 comment) https://gerrit.osmocom.org/c/pysim/+/15504/17/contrib/jenkins.sh File contrib/jenkins.sh: https://gerrit.osmocom.org/c/pysim/+/15504/17/contrib/jenkins.sh at 16 PS17, Line 16: pyscard > It should be installed by apt. Installing with pip would require us to install python-dev, gcc, etc. [?] See https://git.osmocom.org/osmo-ci/tree/ansible/setup-simtest.yml#n22. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 17 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 04 Mar 2020 07:10:12 +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 Mar 4 08:04:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 08:04:56 +0000 Subject: Change in libosmocore[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17337 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24605c8616015b5f7d45297afc65d6a93d2edbaf Gerrit-Change-Number: 17337 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 08:04:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 08:05:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 08:05:05 +0000 Subject: Change in libosmocore[master]: gb: Fix typos in gprs_ns.c comments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17337 ) Change subject: gb: Fix typos in gprs_ns.c comments ...................................................................... gb: Fix typos in gprs_ns.c comments Change-Id: I24605c8616015b5f7d45297afc65d6a93d2edbaf --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index ac39e4a..2701d72 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -51,7 +51,7 @@ * * There can be multiple BSSGP virtual connections over one (group of) NSVC's. BSSGP will * therefore identify the BSSGP virtual connection by a BVCI passed down to NS. - * NS then has to firgure out which NSVC's are responsible for this BVCI. + * NS then has to figure out which NSVC's are responsible for this BVCI. * Those mappings are administratively configured. * * This implementation has the following limitations: @@ -1078,7 +1078,7 @@ * \param[in] msg struct msgb to be trasnmitted * * This function obtains the NS-VC by the msgb_nsei(msg) and then checks - * if the NS-VC is ALIVEV and not BLOCKED. After that, it adds a NS + * if the NS-VC is ALIVE and not BLOCKED. After that, it adds a NS * header for the NS-UNITDATA message type and sends it off. * * Section 9.2.10: transmit side / NS-UNITDATA-REQUEST primitive -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24605c8616015b5f7d45297afc65d6a93d2edbaf Gerrit-Change-Number: 17337 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 Mar 4 08:05:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 08:05:03 +0000 Subject: Change in libosmocore[master]: gb: Print signalling and data weights on NS-VC creation. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17338 ) Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieebec5487f5d995a453d15bc024931299d5cf5bf Gerrit-Change-Number: 17338 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 08:05: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 Mar 4 08:05:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 08:05:06 +0000 Subject: Change in libosmocore[master]: gb: Print signalling and data weights on NS-VC creation. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17338 ) Change subject: gb: Print signalling and data weights on NS-VC creation. ...................................................................... gb: Print signalling and data weights on NS-VC creation. Change-Id: Ieebec5487f5d995a453d15bc024931299d5cf5bf --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 2701d72..4e584ad 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -318,7 +318,8 @@ return NULL; } - LOGP(DNS, LOGL_INFO, "NSVCI=%u Creating NS-VC\n", nsvci); + LOGP(DNS, LOGL_INFO, "NSVCI=%u Creating NS-VC with Signal weight %u, Data weight %u\n", + nsvci, sig_weight, data_weight); nsvc = talloc_zero(nsi, struct gprs_nsvc); if (!nsvc) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieebec5487f5d995a453d15bc024931299d5cf5bf Gerrit-Change-Number: 17338 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 Mar 4 08:05:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 08:05:33 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17325 ) Change subject: parity: add amr crc14 definition ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 04 Mar 2020 08:05:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 08:07:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 08:07:55 +0000 Subject: Change in osmo-ccid-firmware[master]: generic improvements for the testsbed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 ) Change subject: generic improvements for the testsbed ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 Gerrit-Change-Number: 17257 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-Comment-Date: Wed, 04 Mar 2020 08:07:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 10:24:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:24:30 +0000 Subject: Change in osmo-remsim[master]: contrib: Add owhw-event-script.sh for osmo-remsim-client References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17339 ) Change subject: contrib: Add owhw-event-script.sh for osmo-remsim-client ...................................................................... contrib: Add owhw-event-script.sh for osmo-remsim-client This is a sample event-script that can be used in conjunction with osmo-resim-client to trigger certain board-specific functions such as modem reset on the OWHW. Change-Id: I69f7f9b0c09421b8c14b909627ffe7b9f1acec77 --- A contrib/owhw-event-script.sh 1 file changed, 64 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/39/17339/1 diff --git a/contrib/owhw-event-script.sh b/contrib/owhw-event-script.sh new file mode 100755 index 0000000..8d4a33f --- /dev/null +++ b/contrib/owhw-event-script.sh @@ -0,0 +1,64 @@ +#!/bin/bash -e + +# Helper script for osmo-remsim-client-st2 on OWHW hardware. It performs the hardware-specific +# functions required by remsim-client. + +# environment variables available: +# REMSIM_CLIENT_VERSION +# REMSIM_SERVER_ADDR +# REMSIM_SERVER_STATE +# REMSIM_BANKD_ADDR +# REMSIM_BANKD_STATE +# REMSIM_CLIENT_SLOT +# REMSIM_BANKD_SLOT +# REMSIM_SIM_VCC +# REMSIM_SIM_RST +# REMSIM_CAUSE +# REMSIM_USB_PATH +# REMSIM_USB_INTERFACE + +CAUSE="$1" + +# derive the modem (1/2) from the USB interface of the SIMTRACE2 firmware (0/1) +case "${REMSIM_USB_INTERFACE}" in + 0) + MODEM=1 + ;; + 1) + MODEM=2 + ;; + *) + echo "Unknown REMSIM_USB_INTERFACE ${REMSIM_USB_INTERFACE}" + exit 1 + ;; +esac + + + +case "${CAUSE}" in + event-server-connect) + ;; + event-bankd-connect) + ;; + event-config-bankd) + ;; + event-modem-status) + ;; + request-card-insert) + echo "Enabling Remote SIM for ${MODEM}" + echo "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" + ;; + request-modem-reset) + echo "Resetting Modem ${MODEM}" + echo "1" > "/dev/gpio/mdm${MODEM}_rst/value" + sleep 1 + echo "0" > "/dev/gpio/mdm${MODEM}_rst/value" + ;; + *) + echo "Unknown CAUSE ${CAUSE}: ignoring" + ;; +esac -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I69f7f9b0c09421b8c14b909627ffe7b9f1acec77 Gerrit-Change-Number: 17339 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 Mar 4 10:24:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:24:31 +0000 Subject: Change in osmo-remsim[master]: src/Makefile.am: Build src directory (libosmo-rspro) before sub-direc... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17340 ) Change subject: src/Makefile.am: Build src directory (libosmo-rspro) before sub-directories ...................................................................... src/Makefile.am: Build src directory (libosmo-rspro) before sub-directories This ensures that libosmo-rspro is first built/installed, before the programs that depend on it are. This resolves warnings like libtool: warning: '../../src/libosmo-rspro.la' has not been installed in '/tmp/osmo-remsim/osmo-remsim-0.2.2.59-2f5c/_inst/lib' during the build process. Change-Id: I928ff36406986cd0d3fe493f258864a38ce37798 --- M src/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/40/17340/1 diff --git a/src/Makefile.am b/src/Makefile.am index c954db2..6fff228 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = rspro +SUBDIRS = rspro . if BUILD_BANKD SUBDIRS += bankd endif -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I928ff36406986cd0d3fe493f258864a38ce37798 Gerrit-Change-Number: 17340 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 Mar 4 10:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 10:26:11 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Migrate to ipa_client_conn_create2() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17335 ) Change subject: rspro_client_fsm: Migrate to ipa_client_conn_create2() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0057c5b6a79e7226e87983c14eb2b0ed2af2a131 Gerrit-Change-Number: 17335 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Mar 2020 10:26: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 Mar 4 10:27:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:27:13 +0000 Subject: Change in osmo-remsim[master]: remsim_client: move to 'client' subdirectory; add --disable-remsim-cl... In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/16624 ) Change subject: remsim_client: move to 'client' subdirectory; add --disable-remsim-client ...................................................................... Abandoned alternative patch has long been merged (I67a3a5941434f09f7099c2cdb19c126cea305a73) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/16624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7541a0b6c698896f3f039a1daa49d869e78b374f Gerrit-Change-Number: 16624 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 Wed Mar 4 10:27:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:27:26 +0000 Subject: Change in osmo-remsim[master]: contrib: Add owhw-event-script.sh for osmo-remsim-client In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17339 ) Change subject: contrib: Add owhw-event-script.sh for osmo-remsim-client ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I69f7f9b0c09421b8c14b909627ffe7b9f1acec77 Gerrit-Change-Number: 17339 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 10: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 Wed Mar 4 10:28:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:28:31 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17160 ) Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... Patch Set 7: Code-Review-1 needs: * documentation update * installation to 'correct' directory * associated readers.conf[.d] entry * debian packaging -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 10:28: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 Mar 4 10:29:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:29:14 +0000 Subject: Change in osmo-remsim[master]: src/Makefile.am: Build src directory (libosmo-rspro) before sub-direc... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17340 ) Change subject: src/Makefile.am: Build src directory (libosmo-rspro) before sub-directories ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I928ff36406986cd0d3fe493f258864a38ce37798 Gerrit-Change-Number: 17340 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 10:29:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 10:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:29:18 +0000 Subject: Change in osmo-remsim[master]: contrib: Add owhw-event-script.sh for osmo-remsim-client In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17339 ) Change subject: contrib: Add owhw-event-script.sh for osmo-remsim-client ...................................................................... contrib: Add owhw-event-script.sh for osmo-remsim-client This is a sample event-script that can be used in conjunction with osmo-resim-client to trigger certain board-specific functions such as modem reset on the OWHW. Change-Id: I69f7f9b0c09421b8c14b909627ffe7b9f1acec77 --- A contrib/owhw-event-script.sh 1 file changed, 64 insertions(+), 0 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 new file mode 100755 index 0000000..8d4a33f --- /dev/null +++ b/contrib/owhw-event-script.sh @@ -0,0 +1,64 @@ +#!/bin/bash -e + +# Helper script for osmo-remsim-client-st2 on OWHW hardware. It performs the hardware-specific +# functions required by remsim-client. + +# environment variables available: +# REMSIM_CLIENT_VERSION +# REMSIM_SERVER_ADDR +# REMSIM_SERVER_STATE +# REMSIM_BANKD_ADDR +# REMSIM_BANKD_STATE +# REMSIM_CLIENT_SLOT +# REMSIM_BANKD_SLOT +# REMSIM_SIM_VCC +# REMSIM_SIM_RST +# REMSIM_CAUSE +# REMSIM_USB_PATH +# REMSIM_USB_INTERFACE + +CAUSE="$1" + +# derive the modem (1/2) from the USB interface of the SIMTRACE2 firmware (0/1) +case "${REMSIM_USB_INTERFACE}" in + 0) + MODEM=1 + ;; + 1) + MODEM=2 + ;; + *) + echo "Unknown REMSIM_USB_INTERFACE ${REMSIM_USB_INTERFACE}" + exit 1 + ;; +esac + + + +case "${CAUSE}" in + event-server-connect) + ;; + event-bankd-connect) + ;; + event-config-bankd) + ;; + event-modem-status) + ;; + request-card-insert) + echo "Enabling Remote SIM for ${MODEM}" + echo "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" + ;; + request-modem-reset) + echo "Resetting Modem ${MODEM}" + echo "1" > "/dev/gpio/mdm${MODEM}_rst/value" + sleep 1 + echo "0" > "/dev/gpio/mdm${MODEM}_rst/value" + ;; + *) + echo "Unknown CAUSE ${CAUSE}: ignoring" + ;; +esac -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I69f7f9b0c09421b8c14b909627ffe7b9f1acec77 Gerrit-Change-Number: 17339 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 10:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 10:29:18 +0000 Subject: Change in osmo-remsim[master]: src/Makefile.am: Build src directory (libosmo-rspro) before sub-direc... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17340 ) Change subject: src/Makefile.am: Build src directory (libosmo-rspro) before sub-directories ...................................................................... src/Makefile.am: Build src directory (libosmo-rspro) before sub-directories This ensures that libosmo-rspro is first built/installed, before the programs that depend on it are. This resolves warnings like libtool: warning: '../../src/libosmo-rspro.la' has not been installed in '/tmp/osmo-remsim/osmo-remsim-0.2.2.59-2f5c/_inst/lib' during the build process. Change-Id: I928ff36406986cd0d3fe493f258864a38ce37798 --- M src/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index c954db2..6fff228 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = rspro +SUBDIRS = rspro . if BUILD_BANKD SUBDIRS += bankd endif -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I928ff36406986cd0d3fe493f258864a38ce37798 Gerrit-Change-Number: 17340 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 12:34:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 12:34:26 +0000 Subject: Change in osmo-gsm-tester[master]: scenarios: Use parametrized scenario for rftype References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17341 ) Change subject: scenarios: Use parametrized scenario for rftype ...................................................................... scenarios: Use parametrized scenario for rftype Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf --- M example/default-suites.conf D example/scenarios/srsenb-rftype-uhd.conf D example/scenarios/srsenb-rftype-zmq.conf A example/scenarios/srsenb-rftype at .conf D example/scenarios/srsue-rftype-uhd.conf D example/scenarios/srsue-rftype-zmq.conf A example/scenarios/srsue-rftype at .conf 7 files changed, 9 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/41/17341/1 diff --git a/example/default-suites.conf b/example/default-suites.conf index 4910dbc..5e46061 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -162,4 +162,4 @@ - smpp - encryption -- 4g:srsenb-rftype-zmq+srsue-rftype-zmq +- 4g:srsenb-rftype at zmq+srsue-rftype@zmq diff --git a/example/scenarios/srsenb-rftype-uhd.conf b/example/scenarios/srsenb-rftype-uhd.conf deleted file mode 100644 index 293c109..0000000 --- a/example/scenarios/srsenb-rftype-uhd.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - enb: - - type: srsenb - rf_dev_type: UHD diff --git a/example/scenarios/srsenb-rftype-zmq.conf b/example/scenarios/srsenb-rftype-zmq.conf deleted file mode 100644 index e0f9c9d..0000000 --- a/example/scenarios/srsenb-rftype-zmq.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - enb: - - type: srsenb - rf_dev_type: zmq diff --git a/example/scenarios/srsenb-rftype at .conf b/example/scenarios/srsenb-rftype at .conf new file mode 100644 index 0000000..bf64b19 --- /dev/null +++ b/example/scenarios/srsenb-rftype at .conf @@ -0,0 +1,4 @@ +resources: + enb: + - type: srsenb + rf_dev_type: ${param1} diff --git a/example/scenarios/srsue-rftype-uhd.conf b/example/scenarios/srsue-rftype-uhd.conf deleted file mode 100644 index fef8696..0000000 --- a/example/scenarios/srsue-rftype-uhd.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - modem: - - type: srsue - rf_dev_type: UHD diff --git a/example/scenarios/srsue-rftype-zmq.conf b/example/scenarios/srsue-rftype-zmq.conf deleted file mode 100644 index d30a84b..0000000 --- a/example/scenarios/srsue-rftype-zmq.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - modem: - - type: srsue - rf_dev_type: zmq diff --git a/example/scenarios/srsue-rftype at .conf b/example/scenarios/srsue-rftype at .conf new file mode 100644 index 0000000..85a0609 --- /dev/null +++ b/example/scenarios/srsue-rftype at .conf @@ -0,0 +1,4 @@ +resources: + modem: + - type: srsue + rf_dev_type: ${param1} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf Gerrit-Change-Number: 17341 Gerrit-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 Mar 4 12:55:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 12:55:15 +0000 Subject: Change in osmo-gsm-tester[master]: scenarios: Use parametrized scenario for rftype In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17341 ) Change subject: scenarios: Use parametrized scenario for rftype ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf Gerrit-Change-Number: 17341 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Mar 2020 12:55: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 Mar 4 12:55:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 12:55:19 +0000 Subject: Change in osmo-gsm-tester[master]: scenarios: Use parametrized scenario for rftype In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17341 ) Change subject: scenarios: Use parametrized scenario for rftype ...................................................................... scenarios: Use parametrized scenario for rftype Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf --- M example/default-suites.conf D example/scenarios/srsenb-rftype-uhd.conf D example/scenarios/srsenb-rftype-zmq.conf A example/scenarios/srsenb-rftype at .conf D example/scenarios/srsue-rftype-uhd.conf D example/scenarios/srsue-rftype-zmq.conf A example/scenarios/srsue-rftype at .conf 7 files changed, 9 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/default-suites.conf b/example/default-suites.conf index 4910dbc..5e46061 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -162,4 +162,4 @@ - smpp - encryption -- 4g:srsenb-rftype-zmq+srsue-rftype-zmq +- 4g:srsenb-rftype at zmq+srsue-rftype@zmq diff --git a/example/scenarios/srsenb-rftype-uhd.conf b/example/scenarios/srsenb-rftype-uhd.conf deleted file mode 100644 index 293c109..0000000 --- a/example/scenarios/srsenb-rftype-uhd.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - enb: - - type: srsenb - rf_dev_type: UHD diff --git a/example/scenarios/srsenb-rftype-zmq.conf b/example/scenarios/srsenb-rftype-zmq.conf deleted file mode 100644 index e0f9c9d..0000000 --- a/example/scenarios/srsenb-rftype-zmq.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - enb: - - type: srsenb - rf_dev_type: zmq diff --git a/example/scenarios/srsenb-rftype at .conf b/example/scenarios/srsenb-rftype at .conf new file mode 100644 index 0000000..bf64b19 --- /dev/null +++ b/example/scenarios/srsenb-rftype at .conf @@ -0,0 +1,4 @@ +resources: + enb: + - type: srsenb + rf_dev_type: ${param1} diff --git a/example/scenarios/srsue-rftype-uhd.conf b/example/scenarios/srsue-rftype-uhd.conf deleted file mode 100644 index fef8696..0000000 --- a/example/scenarios/srsue-rftype-uhd.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - modem: - - type: srsue - rf_dev_type: UHD diff --git a/example/scenarios/srsue-rftype-zmq.conf b/example/scenarios/srsue-rftype-zmq.conf deleted file mode 100644 index d30a84b..0000000 --- a/example/scenarios/srsue-rftype-zmq.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - modem: - - type: srsue - rf_dev_type: zmq diff --git a/example/scenarios/srsue-rftype at .conf b/example/scenarios/srsue-rftype at .conf new file mode 100644 index 0000000..85a0609 --- /dev/null +++ b/example/scenarios/srsue-rftype at .conf @@ -0,0 +1,4 @@ +resources: + modem: + - type: srsue + rf_dev_type: ${param1} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf Gerrit-Change-Number: 17341 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 Mar 4 13:43:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 13:43:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 to look at the new patch set (#3). Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... osmo-bts-virtual: do not log GSMTAP message sending failure twice Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 --- M src/osmo-bts-virtual/scheduler_virtbts.c M src/osmo-bts-virtual/virtual_um.c 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/17300/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 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 Mar 4 14:20:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:20:43 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client 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/+/17160 to look at the new patch set (#8). Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... client: ifd_handler (PC/SC reader driver) as remsim-client This adds a "libifd_remsim_client.so" PC/SC driver that can be used to make normal PC/SC client programs (like pySim, sysmo-usim-tool, osmo-sim-test, osmo-usim-auth, ...) talk to a remote SIM bank. Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee --- M doc/manuals/chapters/remsim-client.adoc M src/client/Makefile.am M src/client/client.h A src/client/user_ifdhandler.c 4 files changed, 1,069 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/60/17160/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 8 Gerrit-Owner: laforge 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 Mar 4 14:20:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:20:43 +0000 Subject: Change in osmo-remsim[master]: client: document osmo-remsim-client-shell References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17342 ) Change subject: client: document osmo-remsim-client-shell ...................................................................... client: document osmo-remsim-client-shell Change-Id: I7db510982194ae4f6b9ab8bc442587ecdbf52684 --- M doc/manuals/chapters/remsim-client.adoc 1 file changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/42/17342/1 diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index 7416b05..977a772 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -153,3 +153,69 @@ | request-sim-local | The client asks the system to switch to local SIM | request-modem-reset | The client asks the system to perform a modem reset |=== + +== osmo-remsim-client-shell + +This is a remsim-client that's mostly useful for manual debugging/testing or automatic testing. + +Instead of using hardware like the SIMtrace with cardem firmware to interface a virtual SIM card +to a real phone or modem, it simply offers and interactive way to exchange APDUs with a remote +SIM card via STDIO of the process. + +This allows testing of large parts of the osmo-remsim-client code as well as the integration with +the overall osmo-remsim network including osmo-remsim-server, osmo-remsim-bankd and any external +backend application driving the REST interface. + +=== Running + +osmo-remsim-client-shell currently has the following command-line options: + +==== SYNOPSIS + +*osmo-remsim-client-shell* [...] + +==== OPTIONS + +*-h, --help*:: + Print a short help message about the supported options +*-v, --version*:: + Print the compile-time version information +*-i, --server-ip A.B.C.D*:: + Specify the remote IP address / hostname of the `osmo-remsim-server` to + which this client shall establish its RSPRO control connection +*-p, --server-port <1-65535>*:: + Specify the remote TCP port number of the `osmo-remsim-server` to which + this client shall establish its RSPRO control connection +*-c, --client-id <1-65535>*:: + Specify the numeric client identifier of the SIM bank this bankd + instance operates. The tuple of client-id and client-slot must be + unique among all clients connecting to the same `osmo-remsim-server`. +*-n, --client-slot <0-65535>*:: + Specify the slot number served within this client. The tuple of + client-id and client-slot must be unique among all clients connecting + to the same `osmo-remsim-server`. + `osmo-remsim-bankd` once a card has been mapped to this client. +*-e, --event-script COMMAND*:: + Specify the shell command to be execute when the client wants to call its + helper script + +==== Examples + +The below example uses stderr-redirection to avoid the log output cluttering the console. + +.remsim-server is at 192.168.11.10; we are client 23 slot 0 +---- +./osmo-remsim-client-shell -i 192.168.11.10 -c 23 2>/dev/null +SET_ATR: 3b 00 +SET_ATR: 3b 7d 94 00 00 55 55 53 0a 74 86 93 0b 24 7c 4d 54 68 +a0a40000023f00 +R-APDU: 9f 17 +---- + +* The first SET_ATR is performed by osmo-remsim-client locally using a default ATR +* The second SET_ATR is performed by osmo-remsim-bankd to inform us about the ATR of the real remote card +* The `a0a40000023f00` is a command TPDU entered on STDIN by the suer +* The `9f17` is a response TPDU provided by the remote card in response to the command + +The program continues in this loop (read command APDU as hex-dump from stdin; provide response on stdout) +until it is terminated by Ctrl+C or by other means. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7db510982194ae4f6b9ab8bc442587ecdbf52684 Gerrit-Change-Number: 17342 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 Mar 4 14:20:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:20:49 +0000 Subject: Change in osmo-remsim[master]: client: Add diagram for osmo-remsim-st2 use case References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17343 ) Change subject: client: Add diagram for osmo-remsim-st2 use case ...................................................................... client: Add diagram for osmo-remsim-st2 use case Change-Id: Iddd870ddbadc2b6570deb00ea6886c3b34ea1e38 --- M doc/manuals/chapters/remsim-client.adoc 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/43/17343/1 diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index 977a772..8e26f8e 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -20,6 +20,45 @@ blocking I/O on the TCP/RSPRO side. This simplifies the code compared to a more complex async implementation. +[graphviz] +.Overall osmo-remsim architecture using osmo-remsim-client-st2 +---- +graph G { + rankdir = LR; + + subgraph cluster_0 { + label = "Client"; + modem [label="Phone/Modem",shape="rectangle"]; + cardem [label="cardem firmware\ne.g. on sysmoQMOD",shape="rectangle"]; + client [label="remsim-client-st2"]; + modem -- cardem [label="ISO 7816-3"]; + cardem -- client [label="USB ST2"]; + } + + subgraph cluster_2 { + label = "SIM Bank"; + bankd [label="remsim-bankd"]; + reader [label="Card Reader\ne.g. sysmoOCTSIM",shape="rectangle"]; + b_pcscd [label="PC/SC Daemon\nlibccid driver"]; + bankd -- b_pcscd; + b_pcscd -- reader [label = "USB CCID"]; + } + + subgraph cluster_1 { + label = "Server/Backend"; + server [label="remsim-server"]; + backend [label="Back-End Application"]; + server -- backend [label="REST Interface"]; + } + + client -- bankd [label="RSPRO Data"]; + client -- server [label="RSPRO Control"]; + bankd -- server [label="RSPRO Control"]; +} +---- + + + === Running osmo-remsim-client-st2 currently has the following command-line options: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iddd870ddbadc2b6570deb00ea6886c3b34ea1e38 Gerrit-Change-Number: 17343 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 Mar 4 14:23:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 14:23:05 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17300 ) Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Mar 2020 14: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 Wed Mar 4 14:46:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 14:46:03 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Install libulfius from osmocom OBS repos In-Reply-To: References: Message-ID: Hello osmith, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/17276 to look at the new patch set (#4). Change subject: debian-stretch-jenkins: Install libulfius from osmocom OBS repos ...................................................................... debian-stretch-jenkins: Install libulfius from osmocom OBS repos We currently build libulfius 2.5. It doesn't say anywhere in osmo-remsim that libulfius-3.6.4 is required anyway. Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d --- M debian-stretch-jenkins/Dockerfile A debian-stretch-jenkins/Release.key 2 files changed, 31 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/76/17276/4 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 14:46:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 14:46:17 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Install libulfius from osmocom OBS repos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17276 ) Change subject: debian-stretch-jenkins: Install libulfius from osmocom OBS repos ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 14:46: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 Mar 4 14:48:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Mar 2020 14:48:50 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Install libulfius from osmocom OBS repos In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17276 ) Change subject: debian-stretch-jenkins: Install libulfius from osmocom OBS repos ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 14:48:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 14:52:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:52:44 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client 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/+/17160 to look at the new patch set (#9). Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... client: ifd_handler (PC/SC reader driver) as remsim-client This adds a "libifd_remsim_client.so" PC/SC driver that can be used to make normal PC/SC client programs (like pySim, sysmo-usim-tool, osmo-sim-test, osmo-usim-auth, ...) talk to a remote SIM bank. Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee --- M configure.ac M debian/control A debian/libifd-osmo-remsim-client0.install M doc/manuals/chapters/remsim-client.adoc M src/client/Makefile.am A src/client/PkgInfo M src/client/client.h A src/client/osmo-remsim-client-reader_conf.in A src/client/user_ifdhandler.c 9 files changed, 1,099 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/60/17160/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 9 Gerrit-Owner: laforge 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 Mar 4 14:52:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:52:45 +0000 Subject: Change in osmo-remsim[master]: doc: generalize the remsim-client part in the overview section References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17344 ) Change subject: doc: generalize the remsim-client part in the overview section ...................................................................... doc: generalize the remsim-client part in the overview section Change-Id: I56f7955b05395abe70bf6ad2f0d33843bc6f77b9 --- M doc/manuals/chapters/overview.adoc 1 file changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/44/17344/1 diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 842a3c7..2798b2f 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -52,14 +52,21 @@ === osmo-remsim-client -The `osmo-remsim-client` software is co-located next to a cellular phone/modem. -It typically runs on an [embedded] computer next to the phone/modem. +The `osmo-remsim-client` software is co-located next to the _user of the card_ +which traditionally is a phone or modem. However, there are other flavors +of clients available, too. This is for example useful if existing software +wants to interface remote smart cards, rather than those physically inserted +into a local reader next to the PC running that application. + +In the classic phone / modem use case, osmo-remsim-client +typically runs on an [embedded] computer next to the phone/modem. The tasks of `osmo-remsim-client` include: -* interaction over USB with a device supported by the 'SIMtrace2 cardem' +* interaction with the user application. For phone/modem, that's + over USB with a device supported by the 'SIMtrace2 cardem' firmware, which provides the physical interface to the phone/modem SIM - interface + interface (ISO 7816-3). * establishing a TCP connection with the `osmo-remsim-server`, in order to enable the server to issue control commands * under control of `osmo-remsim-server`, establishing a TCP connection to a -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I56f7955b05395abe70bf6ad2f0d33843bc6f77b9 Gerrit-Change-Number: 17344 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 Mar 4 14:52:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:52:45 +0000 Subject: Change in osmo-remsim[master]: doc: Add WARNINGs about lack of security in protocols References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17345 ) Change subject: doc: Add WARNINGs about lack of security in protocols ...................................................................... doc: Add WARNINGs about lack of security in protocols Change-Id: I72c0b797fda220b9efcc86bd08717585063db591 --- M doc/manuals/chapters/remsim-server.adoc M doc/manuals/chapters/rspro.adoc 2 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/45/17345/1 diff --git a/doc/manuals/chapters/remsim-server.adoc b/doc/manuals/chapters/remsim-server.adoc index e5c80c7..5215b54 100644 --- a/doc/manuals/chapters/remsim-server.adoc +++ b/doc/manuals/chapters/remsim-server.adoc @@ -26,6 +26,11 @@ The API currently has version 1, and the URL prefix is /api/backend/v1 +WARNING: The RESTful/JSON Web API operates in plain-text, +There is no authentication or encryption built into the protocol. It is +assumed that the protocol is only spoken over trusted, controlled IP +networks, such as inside a VPN or a closed / private corporate network. + ==== /api/backend/v1/clients *GET* obtains a JSON list where each element represents one currently diff --git a/doc/manuals/chapters/rspro.adoc b/doc/manuals/chapters/rspro.adoc index 1ce511e..ce39b9d 100644 --- a/doc/manuals/chapters/rspro.adoc +++ b/doc/manuals/chapters/rspro.adoc @@ -8,6 +8,11 @@ `osmo-remsim` source code) and uses BER (Basic Encoding Rules) on the transport level. +WARNING: RSPRO and its underlying transport layer both operate in plain-text, +There is no authentication or encryption built into the protocol. It is +assumed that the protocol is only spoken over trusted, controlled IP +networks, such as inside a VPN or a closed / private corporate network. + === Underlying Transport Layer RSPRO uses TCP as an underlying transport protocol. As TCP doesn't -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I72c0b797fda220b9efcc86bd08717585063db591 Gerrit-Change-Number: 17345 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 Mar 4 14:52:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:52:45 +0000 Subject: Change in osmo-remsim[master]: doc: More cross-references; Expand overview slightly References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17346 ) Change subject: doc: More cross-references; Expand overview slightly ...................................................................... doc: More cross-references; Expand overview slightly Change-Id: Ic290627ec2512a2b59cb9d81704b9cec4d14ccf4 --- M doc/manuals/chapters/overview.adoc M doc/manuals/chapters/remsim-bankd.adoc M doc/manuals/chapters/remsim-client.adoc M doc/manuals/chapters/remsim-server.adoc M doc/manuals/chapters/rspro.adoc 5 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/46/17346/1 diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 2798b2f..d39a4f6 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -50,6 +50,8 @@ `osmo-remsim-bankd` instances * providing a RESTful JSON interface for external application logic to +For more information, please see <>. + === osmo-remsim-client The `osmo-remsim-client` software is co-located next to the _user of the card_ @@ -77,6 +79,8 @@ multiple phones/modems at one location, you can simply run multiple instances of `osmo-remsim-client` on the same system, one for each phone/modem. +For more information, please see <>. + === osmo-remsim-bankd The `osmo-remsim-bankd` software is co-located next to a bank of SIM cards. @@ -90,4 +94,28 @@ * running a TCP server where TCP connections from `osmo-remsim-client` instances are accepted and handled. +For more information, please see <>. +=== RSPRO + +RSPRO is the *R*emote *S*IM *PRO*tocol. It is a binary protocol +specified in ASN.1 which is spoken on any of the internal connections +between `osmo-remsim-client`, `osmo-remsim-bankd` and +`osmo-remsim-server`. + +You can find more information about RSPRO in <>. + +=== RSRES + +RSRES is the *R*emote *S*IM *RES*T protocol. It is an interface offered +by `osmo-remsim-server` towards external back-end application logic of +the operator of an osmo-remsim network. + +You can find more information about RSRES in <>. + +=== Security + +WARNING: RSPRO, RSRES and their underlying transport layer both operate in plain-text, +There is no authentication or encryption built into the protocol. It is +assumed that the protocols are only spoken over trusted, controlled IP +networks, such as inside a VPN or a closed / private corporate network. diff --git a/doc/manuals/chapters/remsim-bankd.adoc b/doc/manuals/chapters/remsim-bankd.adoc index a3a1921..e76afd5 100644 --- a/doc/manuals/chapters/remsim-bankd.adoc +++ b/doc/manuals/chapters/remsim-bankd.adoc @@ -1,3 +1,4 @@ +[[remsim-bankd]] == osmo-remsim-bankd The `osmo-remsim-bankd` (SIM Bank Daemon) manages one given SIM bank. diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index e2c43d7..5e17ec0 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -1,3 +1,4 @@ +[[remism-client]] == osmo-remsim-client-st2 The client interfaces with GSM phones / modems via dedicated "Card diff --git a/doc/manuals/chapters/remsim-server.adoc b/doc/manuals/chapters/remsim-server.adoc index 5215b54..304a7f3 100644 --- a/doc/manuals/chapters/remsim-server.adoc +++ b/doc/manuals/chapters/remsim-server.adoc @@ -1,3 +1,4 @@ +[[remsim-server]] == osmo-remsim-server === Running @@ -18,6 +19,7 @@ verbosity is not yet configurable. However, as the libosmocore logging framework is used, extending this is an easy modification. +[[rsres]] === RESTful/JSON Web API `osmo-remsim-server` provides a RESTful/JSON WEB API for application logic diff --git a/doc/manuals/chapters/rspro.adoc b/doc/manuals/chapters/rspro.adoc index ce39b9d..059182b 100644 --- a/doc/manuals/chapters/rspro.adoc +++ b/doc/manuals/chapters/rspro.adoc @@ -1,3 +1,4 @@ +[[rspro]] == RSPRO *RSPRO*, the *Remote SIM Protocol*, is an osmo-remsim specific, -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ic290627ec2512a2b59cb9d81704b9cec4d14ccf4 Gerrit-Change-Number: 17346 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 Mar 4 14:52:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:52:45 +0000 Subject: Change in osmo-remsim[master]: doc: Add documentation for remsim-apitool.py References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17347 ) Change subject: doc: Add documentation for remsim-apitool.py ...................................................................... doc: Add documentation for remsim-apitool.py Change-Id: I0e280cd4276e1aff7d6f694ac4affbca0336eba5 --- M doc/manuals/chapters/overview.adoc A doc/manuals/chapters/remsim-apitool.adoc M doc/manuals/osmo-remsim-usermanual.adoc 3 files changed, 95 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/47/17347/1 diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index d39a4f6..1e19d05 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -96,6 +96,14 @@ For more information, please see <>. +=== remsim-apitool.py + +The `remsim-apitool.py` utility is an optional tool that can be used to +manually interface with the RSRES interface of `osmo-remsim-server` in +absence of a back-end system managing this. + +For more information, please see <>. + === RSPRO RSPRO is the *R*emote *S*IM *PRO*tocol. It is a binary protocol diff --git a/doc/manuals/chapters/remsim-apitool.adoc b/doc/manuals/chapters/remsim-apitool.adoc new file mode 100644 index 0000000..3c4d858 --- /dev/null +++ b/doc/manuals/chapters/remsim-apitool.adoc @@ -0,0 +1,85 @@ +[[remsim-apitool]] +== remsim-apitool.py + +`remsim-apitool.py` is a small python script whic can be used to manually +control `osmo-remsim-server` via its RESTful interface in setups where +no external back-end application is controlling this interface. + +For more information about The RESTful inteface, see <>. + +=== Usage + +Common command line arguments that can be used with any of the commands below: + +*-H, --host HOST*:: + Specify the hostname / IP of the `osmo-remsim-server` to connect to. Default: localhost +*-P, --port PORT*:: + Specify the remote TCP port of the RSRES interface of `osmo-remsim-server`. Default: 9997 +*-v, --verbose* + Increase verbosity of output: Show the GET request generated, not just the response. + +==== Listing connected clients + +The command `remsim-apitool.py -c` can be used to list all currently connected clients. + +---- +$ remsim-apitool.py -c +/clients: {'clients': [{'peer': 'C23:0', 'state': 'CONNECTED_CLIENT', 'component_id': {'type_': 'remsimClient', 'name': 'nataraja', 'software': 'remsim-client', 'swVersion': '0.2.2.63-844b'}}]} +---- + +==== Listing connected bankds + +The command `remsim-apitool.py -b` can be used to list all currently connected bankds. + +---- +$ remsim-apitool.py -b +/banks: {'banks': [{'peer': 'B1', 'state': 'CONNECTED_BANKD', 'component_id': {'type_': 'remsimBankd', 'name': 'fixme-name', 'software': 'remsim-bankd', 'swVersion': '0.2.2.46-3598'}, 'bankId': 1, 'numberOfSlots': 5}]} +---- + +==== Listing installed slotmaps + +The command `remsim-apitool.py -s` can be used to list all currently installed slotmaps. + +---- +$ remsim-apitool.py -s +/slotmaps: {'slotmaps': [{'bank': {'bankId': 1, 'slotNr': 1}, 'client': {'clientId': 23, 'slotNr': 0}, 'state': 'ACTIVE'}]} +---- + +==== Listing all information + +The command `remsim-apitool.py -a` can be used to list all information (clients, bankds, slotmaps). + +---- +$ remsim-apitool.py -a +/clients: {'clients': [{'peer': 'C23:0', 'state': 'CONNECTED_CLIENT', 'component_id': {'type_': 'remsimClient', 'name': 'nataraja', 'software': 'remsim-client', 'swVersion': '0.2.2.63-844b'}}]} +/banks: {'banks': [{'peer': 'B1', 'state': 'CONNECTED_BANKD', 'component_id': {'type_': 'remsimBankd', 'name': 'fixme-name', 'software': 'remsim-bankd', 'swVersion': '0.2.2.46-3598'}, 'bankId': 1, 'numberOfSlots': 5}]} +/slotmaps: {'slotmaps': [{'bank': {'bankId': 1, 'slotNr': 1}, 'client': {'clientId': 23, 'slotNr': 0}, 'state': 'ACTIVE'}]} +---- + +==== Creating a slotmap + +The command `remsim-apitool.py -m bank_id bankd_slot client_id client_slot` can be used to create a new slotmap. + +.Create a slotmap between Bankd 1 Slot a (B1:1) and Client 23 Slot 0 (C23:0) +---- +$ remsim-apitool.py -m 1 1 23 0 +---- + +==== Deleting a slotmap + +The command `remsim-apitool.py -d bank_id bank_slot` can be used to create a new slotmap. + +.Remove a slotmap for Bankd 1 Slot a (B1:1) +---- +$ remsim-apitool.py -m 1 1 +---- + +==== Reset all state + +The command `remsim-apitool.py -r` can be used to reset all state in bankd, including all slotmaps. + +---- +$ remsim-apitool.py -r +---- + +WARNING: Use with extreme caution, particularly in production environments. diff --git a/doc/manuals/osmo-remsim-usermanual.adoc b/doc/manuals/osmo-remsim-usermanual.adoc index 854271a..1679db2 100644 --- a/doc/manuals/osmo-remsim-usermanual.adoc +++ b/doc/manuals/osmo-remsim-usermanual.adoc @@ -10,6 +10,8 @@ include::{srcdir}/chapters/remsim-server.adoc[] +include::{srcdir}/chapters/remsim-apitool.adoc[] + include::{srcdir}/chapters/remsim-client.adoc[] include::{srcdir}/chapters/remsim-bankd.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0e280cd4276e1aff7d6f694ac4affbca0336eba5 Gerrit-Change-Number: 17347 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 Mar 4 14:55:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:55:45 +0000 Subject: Change in osmo-remsim[master]: client: document osmo-remsim-client-shell In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17342 ) Change subject: client: document osmo-remsim-client-shell ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7db510982194ae4f6b9ab8bc442587ecdbf52684 Gerrit-Change-Number: 17342 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 14:55:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 14:55:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 14:55:52 +0000 Subject: Change in osmo-remsim[master]: client: Add diagram for osmo-remsim-st2 use case In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17343 ) Change subject: client: Add diagram for osmo-remsim-st2 use case ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iddd870ddbadc2b6570deb00ea6886c3b34ea1e38 Gerrit-Change-Number: 17343 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 14:55: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 Mar 4 15:20:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:33 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: FACCH/H: force fake measurements for 1/2 BFI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17348 ) Change subject: trxcon/scheduler: FACCH/H: force fake measurements for 1/2 BFI ...................................................................... trxcon/scheduler: FACCH/H: force fake measurements for 1/2 BFI Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f --- M src/host/trxcon/sched_lchan_tchh.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/48/17348/1 diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 8288670..ae31398 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -317,7 +317,8 @@ sched_send_dt_ind(trx, ts, lchan, l2, GSM_MACBLOCK_LEN, n_errors, false, false); - /* 1/2 BFI */ + /* 1/2 BFI, force fake measurements */ + n_errors = -1; goto bfi; } else { /* A good TCH frame received */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f Gerrit-Change-Number: 17348 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 Mar 4 15:20:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:34 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17349 ) Change subject: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn ...................................................................... trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 --- M src/host/trxcon/sched_clck.c M src/host/trxcon/scheduler.h 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/49/17349/1 diff --git a/src/host/trxcon/sched_clck.c b/src/host/trxcon/sched_clck.c index 66477b2..7c814dc 100644 --- a/src/host/trxcon/sched_clck.c +++ b/src/host/trxcon/sched_clck.c @@ -82,7 +82,7 @@ timespecadd(tv_clock, &frame_duration, tv_clock); elapsed_us -= FRAME_DURATION_uS; - sched->fn_counter_proc = TDMA_FN_INC(sched->fn_counter_proc); + TDMA_FN_INC(&sched->fn_counter_proc); /* Call frame callback */ if (sched->clock_cb) @@ -178,7 +178,7 @@ /* Transmit what we still need to transmit */ while (fn != sched->fn_counter_proc) { - sched->fn_counter_proc = TDMA_FN_INC(sched->fn_counter_proc); + TDMA_FN_INC(&sched->fn_counter_proc); /* Call frame callback */ if (sched->clock_cb) diff --git a/src/host/trxcon/scheduler.h b/src/host/trxcon/scheduler.h index 7ab17ab..36c64e5 100644 --- a/src/host/trxcon/scheduler.h +++ b/src/host/trxcon/scheduler.h @@ -16,7 +16,7 @@ #define TDMA_FN_SUB(a, b) \ ((a + GSM_HYPERFRAME - b) % GSM_HYPERFRAME) #define TDMA_FN_INC(fn) \ - TDMA_FN_SUM(fn, 1) + (*fn = TDMA_FN_SUM(*fn, 1)) #define TDMA_FN_MIN(a, b) \ (a < b ? a : b) #define TDMA_FN_DIFF(a, b) \ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 Gerrit-Change-Number: 17349 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 Mar 4 15:20:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:35 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor Downlink measurement processing References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17350 ) Change subject: trxcon/scheduler: refactor Downlink measurement processing ...................................................................... trxcon/scheduler: refactor Downlink measurement processing Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_sch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c 10 files changed, 133 insertions(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/50/17350/1 diff --git a/src/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c index 813f315..55ec7e9 100644 --- a/src/host/trxcon/sched_lchan_common.c +++ b/src/host/trxcon/sched_lchan_common.c @@ -126,9 +126,9 @@ struct trx_lchan_state *lchan, uint8_t *l2, size_t l2_len, int bit_error_count, bool dec_failed, bool traffic) { + const struct trx_meas_set *meas = &lchan->meas_avg; const struct trx_lchan_desc *lchan_desc; struct l1ctl_info_dl dl_hdr; - int dbm_avg = 0; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; @@ -140,15 +140,8 @@ dl_hdr.frame_nr = htonl(lchan->rx_first_fn); dl_hdr.num_biterr = bit_error_count; - /* Convert average RSSI to RX level */ - if (lchan->meas.num) { - /* RX level: 0 .. 63 in typical GSM notation (dBm + 110) */ - dbm_avg = lchan->meas.rssi_sum / lchan->meas.num; - dl_hdr.rx_level = dbm2rxlev(dbm_avg); - } else { - /* No measurements, assuming the worst */ - dl_hdr.rx_level = 0; - } + /* RX level: 0 .. 63 in typical GSM notation (dBm + 110) */ + dl_hdr.rx_level = dbm2rxlev(meas->rssi); /* FIXME: set proper values */ dl_hdr.snr = 0; @@ -162,7 +155,7 @@ /* Optional GSMTAP logging */ if (l2_len > 0 && (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH)) { sched_gsmtap_send(lchan->type, lchan->rx_first_fn, ts->index, - trx->band_arfcn, dbm_avg, 0, l2, l2_len); + trx->band_arfcn, meas->rssi, 0, l2, l2_len); } return 0; diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index fde4d4e..9a74a6e 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -31,35 +31,35 @@ /* Forward declaration of handlers */ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 83a6f53..4fd7d35 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018 by Vadim Yanitskiy + * (C) 2018-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -42,7 +42,7 @@ int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GPRS_L2_MAX_LEN], *mask; @@ -62,9 +62,6 @@ /* Reset internal state */ if (bid == 0) { - /* Clean up old measurements */ - memset(&lchan->meas, 0x00, sizeof(lchan->meas)); - *first_fn = fn; *mask = 0x0; } @@ -72,10 +69,8 @@ /* Update mask */ *mask |= (1 << bid); - /* Update measurements */ - lchan->meas.toa256_sum += toa256; - lchan->meas.rssi_sum += rssi; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to buffer of 4 bursts */ offset = buffer + bid * 116; @@ -86,6 +81,9 @@ if (bid != 3) return 0; + /* Calculate AVG of the measurements */ + sched_trx_meas_avg(lchan, 4); + /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " diff --git a/src/host/trxcon/sched_lchan_sch.c b/src/host/trxcon/sched_lchan_sch.c index 9eed506..17f68b0 100644 --- a/src/host/trxcon/sched_lchan_sch.c +++ b/src/host/trxcon/sched_lchan_sch.c @@ -70,7 +70,7 @@ int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { sbit_t payload[2 * 39]; struct gsm_time time; @@ -117,7 +117,7 @@ data->link_id = trx_lchan_desc[lchan->type].link_id; data->band_arfcn = htons(trx->band_arfcn); data->frame_nr = htonl(fn); - data->rx_level = -rssi; + data->rx_level = -(meas->rssi); /* FIXME: set proper values */ data->num_biterr = 0; diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 0109280..d34085b 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017 by Vadim Yanitskiy + * (C) 2017-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -44,7 +44,7 @@ int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; @@ -64,9 +64,6 @@ /* Reset internal state */ if (bid == 0) { - /* Clean up old measurements */ - memset(&lchan->meas, 0x00, sizeof(lchan->meas)); - *first_fn = fn; *mask = 0x00; } @@ -74,10 +71,8 @@ /* Update mask */ *mask |= (1 << bid); - /* Update mask and RSSI */ - lchan->meas.rssi_sum += rssi; - lchan->meas.toa256_sum += toa256; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to end of buffer of 8 bursts */ offset = buffer + bid * 116 + 464; @@ -88,6 +83,9 @@ if (bid != 3) return 0; + /* Calculate AVG of the measurements */ + sched_trx_meas_avg(lchan, 8); + /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index ae31398..9aa7cd7 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018 by Vadim Yanitskiy + * (C) 2018-2020 by Vadim Yanitskiy * (C) 2018 by Harald Welte * * All Rights Reserved @@ -200,7 +200,7 @@ int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; @@ -234,16 +234,8 @@ /* Update mask */ *mask |= (1 << bid); - /** - * FIXME: properly update measurements - * - * Since TCH/H channel is using block-diagonal interleaving, - * a single burst may carry 57 bits of one encoded frame, - * and 57 bits of another. This should be taken into account. - */ - lchan->meas.rssi_sum += rssi; - lchan->meas.toa256_sum += toa256; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to the end of buffer of 6 bursts */ offset = buffer + bid * 116 + 464; @@ -303,6 +295,9 @@ "fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), fn, lchan_desc->name, rc); + /* Calculate AVG of the measurements (assuming 4 bursts) */ + sched_trx_meas_avg(lchan, 4); + /* Send BFI */ goto bfi; } else if (rc == GSM_MACBLOCK_LEN) { @@ -313,6 +308,9 @@ lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, fn, true); /* FACCH/H */ + /* Calculate AVG of the measurements (FACCH/H takes 6 bursts) */ + sched_trx_meas_avg(lchan, 6); + /* FACCH/H received, forward to the higher layers */ sched_send_dt_ind(trx, ts, lchan, l2, GSM_MACBLOCK_LEN, n_errors, false, false); @@ -323,6 +321,9 @@ } else { /* A good TCH frame received */ l2_len = rc; + + /* Calculate AVG of the measurements (traffic takes 4 bursts) */ + sched_trx_meas_avg(lchan, 4); } /* Calculate TDMA frame number of the first burst */ @@ -342,9 +343,14 @@ *mask = *mask << 2; bfi: - /* Didn't try to decode */ - if (n_errors < 0) + /* Didn't try to decode, fake measurements */ + if (n_errors < 0) { + lchan->meas_avg = (struct trx_meas_set) { + .toa256 = 0, + .rssi = -110, + }; n_errors = 116 * 2; + } /* Calculate TDMA frame number of the first burst */ lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 34fe5ce..aa8d4dd 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017 by Vadim Yanitskiy + * (C) 2017-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -42,7 +42,7 @@ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GSM_MACBLOCK_LEN], *mask; @@ -61,9 +61,6 @@ /* Reset internal state */ if (bid == 0) { - /* Clean up old measurements */ - memset(&lchan->meas, 0x00, sizeof(lchan->meas)); - *first_fn = fn; *mask = 0x0; } @@ -71,10 +68,8 @@ /* Update mask */ *mask |= (1 << bid); - /* Update measurements */ - lchan->meas.rssi_sum += rssi; - lchan->meas.toa256_sum += toa256; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to buffer of 4 bursts */ offset = buffer + bid * 116; @@ -85,6 +80,9 @@ if (bid != 3) return 0; + /* Calculate AVG of the measurements */ + sched_trx_meas_avg(lchan, 4); + /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 6bb662d..47107c7 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -613,7 +613,7 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t burst_fn, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) + const struct trx_meas_set *meas) { struct trx_lchan_state *lchan; const struct trx_frame *frame; @@ -674,7 +674,7 @@ sched_trx_a5_burst_dec(lchan, fn, bits); /* Put burst to handler */ - handler(trx, ts, lchan, fn, bid, bits, rssi, toa256); + handler(trx, ts, lchan, fn, bid, bits, meas); } next_frame: @@ -710,3 +710,50 @@ return 0; } + +#define MEAS_HIST_FIRST(hist) \ + (&hist->buf[0]) +#define MEAS_HIST_LAST(hist) \ + (MEAS_HIST_FIRST(hist) + ARRAY_SIZE(hist->buf) - 1) + +/* Add a new set of measurements to the history */ +void sched_trx_meas_push(struct trx_lchan_state *lchan, const struct trx_meas_set *meas) +{ + struct trx_lchan_meas_hist *hist = &lchan->meas_hist; + + /* Find a new position where to store the measurements */ + if (hist->head == MEAS_HIST_LAST(hist) || hist->head == NULL) + hist->head = MEAS_HIST_FIRST(hist); + else + hist->head++; + + *hist->head = *meas; +} + +/* Calculate the AVG of n measurements from the history */ +void sched_trx_meas_avg(struct trx_lchan_state *lchan, unsigned int n) +{ + struct trx_lchan_meas_hist *hist = &lchan->meas_hist; + struct trx_meas_set *meas = hist->head; + int toa256_sum = 0; + int rssi_sum = 0; + int i; + + OSMO_ASSERT(n > 0 && n <= ARRAY_SIZE(hist->buf)); + OSMO_ASSERT(meas != NULL); + + /* Traverse backwards up to n entries, calculate the sum */ + for (i = 0; i < n; i++) { + toa256_sum += meas->toa256; + rssi_sum += meas->rssi; + + if (meas == MEAS_HIST_FIRST(hist)) + meas = MEAS_HIST_LAST(hist); + else + meas--; + } + + /* Calculate the AVG */ + lchan->meas_avg.toa256 = toa256_sum / n; + lchan->meas_avg.rssi = rssi_sum / n; +} diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 13fc678..a4fc90f 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -40,6 +40,7 @@ /* Forward declaration to avoid mutual include */ struct trx_lchan_state; +struct trx_meas_set; struct trx_instance; struct trx_ts; @@ -99,7 +100,7 @@ typedef int trx_lchan_rx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, sbit_t *bits, - int8_t rssi, int16_t toa256); + const struct trx_meas_set *meas); typedef int trx_lchan_tx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, @@ -157,6 +158,19 @@ const struct trx_frame *frames; }; +struct trx_meas_set { + /*! \brief ToA256 (Timing of Arrival, 1/256 of a symbol) */ + int16_t toa256; + /*! \brief RSSI (Received Signal Strength Indication) */ + int8_t rssi; +}; + +/* Simple ring buffer (up to 8 unique measurements) */ +struct trx_lchan_meas_hist { + struct trx_meas_set buf[8]; + struct trx_meas_set *head; +}; + /* States each channel on a multiframe */ struct trx_lchan_state { /*! \brief Channel type */ @@ -190,14 +204,10 @@ /*! \brief pending FACCH/H blocks on Uplink */ uint8_t ul_facch_blocks; - struct { - /*! \brief Number of measurements */ - unsigned int num; - /*! \brief Sum of RSSI values */ - float rssi_sum; - /*! \brief Sum of TOA values */ - int32_t toa256_sum; - } meas; + /*! \brief Downlink measurements history */ + struct trx_lchan_meas_hist meas_hist; + /*! \brief AVG measurements of the last received block */ + struct trx_meas_set meas_avg; /*! \brief SACCH state */ struct { @@ -347,7 +357,7 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t burst_fn, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); + const struct trx_meas_set *meas); int sched_trx_handle_tx_burst(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, ubit_t *bits); @@ -381,3 +391,7 @@ sched_tchh_block_map_fn(chan, fn, ul, 1, 1) #define sched_tchh_facch_end(chan, fn, ul) \ sched_tchh_block_map_fn(chan, fn, ul, 1, 0) + +/* Measurement history */ +void sched_trx_meas_push(struct trx_lchan_state *lchan, const struct trx_meas_set *meas); +void sched_trx_meas_avg(struct trx_lchan_state *lchan, unsigned int n); diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 55d7034..343c6ca 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -555,6 +555,7 @@ static int trx_data_rx_cb(struct osmo_fd *ofd, unsigned int what) { struct trx_instance *trx = ofd->data; + struct trx_meas_set meas; uint8_t buf[256]; sbit_t bits[148]; int8_t rssi, tn; @@ -595,8 +596,14 @@ LOGP(DTRXD, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa=%d\n", tn, fn, rssi, toa256); + /* Group the measurements together */ + meas = (struct trx_meas_set) { + .toa256 = toa256, + .rssi = rssi, + }; + /* Poke scheduler */ - sched_trx_handle_rx_burst(trx, tn, fn, bits, 148, rssi, toa256); + sched_trx_handle_rx_burst(trx, tn, fn, bits, 148, &meas); /* Correct local clock counter */ if (fn % 51 == 0) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef Gerrit-Change-Number: 17350 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 Mar 4 15:20:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:35 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... trxcon/scheduler: refactor TDMA frame number calculation Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c 8 files changed, 32 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/51/17351/1 diff --git a/src/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c index 55ec7e9..ae43ca9 100644 --- a/src/host/trxcon/sched_lchan_common.c +++ b/src/host/trxcon/sched_lchan_common.c @@ -137,9 +137,11 @@ dl_hdr.chan_nr = lchan_desc->chan_nr | ts->index; dl_hdr.link_id = lchan_desc->link_id; dl_hdr.band_arfcn = htons(trx->band_arfcn); - dl_hdr.frame_nr = htonl(lchan->rx_first_fn); dl_hdr.num_biterr = bit_error_count; + /* sched_trx_meas_avg() gives us TDMA frame number of the first burst */ + dl_hdr.frame_nr = htonl(meas->fn); + /* RX level: 0 .. 63 in typical GSM notation (dBm + 110) */ dl_hdr.rx_level = dbm2rxlev(meas->rssi); @@ -154,7 +156,7 @@ /* Optional GSMTAP logging */ if (l2_len > 0 && (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH)) { - sched_gsmtap_send(lchan->type, lchan->rx_first_fn, ts->index, + sched_gsmtap_send(lchan->type, meas->fn, ts->index, trx->band_arfcn, meas->rssi, 0, l2, l2_len); } diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 4fd7d35..b625d2f 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -48,12 +48,10 @@ uint8_t l2[GPRS_L2_MAX_LEN], *mask; int n_errors, n_bits_total, rc; sbit_t *buffer, *offset; - uint32_t *first_fn; size_t l2_len; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; - first_fn = &lchan->rx_first_fn; mask = &lchan->rx_burst_mask; buffer = lchan->rx_bursts; @@ -61,10 +59,8 @@ "fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); /* Reset internal state */ - if (bid == 0) { - *first_fn = fn; + if (bid == 0) *mask = 0x0; - } /* Update mask */ *mask |= (1 << bid); @@ -88,8 +84,8 @@ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " "fn=%u (%u/%u) for %s\n", - burst_mask2str(mask, 4), *first_fn, - (*first_fn) % ts->mf_layout->period, + burst_mask2str(mask, 4), lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); @@ -101,8 +97,8 @@ NULL, &n_errors, &n_bits_total); if (rc < 0) { LOGP(DSCHD, LOGL_ERROR, "Received bad packet data frame " - "at fn=%u (%u/%u) for %s\n", *first_fn, - (*first_fn) % ts->mf_layout->period, + "at fn=%u (%u/%u) for %s\n", lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); } diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index d34085b..e909151 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -50,12 +50,10 @@ int n_errors = -1, n_bits_total, rc; sbit_t *buffer, *offset; uint8_t l2[128], *mask; - uint32_t *first_fn; size_t l2_len; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; - first_fn = &lchan->rx_first_fn; mask = &lchan->rx_burst_mask; buffer = lchan->rx_bursts; @@ -63,10 +61,8 @@ lchan_desc->name, fn, ts->index, bid); /* Reset internal state */ - if (bid == 0) { - *first_fn = fn; + if (bid == 0) *mask = 0x00; - } /* Update mask */ *mask |= (1 << bid); @@ -90,8 +86,8 @@ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " "fn=%u (%u/%u) for %s\n", - burst_mask2str(mask, 8), *first_fn, - (*first_fn) % ts->mf_layout->period, + burst_mask2str(mask, 8), lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 9aa7cd7..29abb42 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -291,23 +291,19 @@ /* Check decoding result */ if (rc < 4) { - LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame (%s) ending at " - "fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), - fn, lchan_desc->name, rc); - /* Calculate AVG of the measurements (assuming 4 bursts) */ sched_trx_meas_avg(lchan, 4); + LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame (%s) " + "at fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), + lchan->meas_avg.fn, lchan_desc->name, rc); + /* Send BFI */ goto bfi; } else if (rc == GSM_MACBLOCK_LEN) { /* Skip decoding of the next 2 stolen bursts */ lchan->dl_ongoing_facch = true; - /* Calculate TDMA frame number of the first burst */ - lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, - fn, true); /* FACCH/H */ - /* Calculate AVG of the measurements (FACCH/H takes 6 bursts) */ sched_trx_meas_avg(lchan, 6); @@ -326,10 +322,6 @@ sched_trx_meas_avg(lchan, 4); } - /* Calculate TDMA frame number of the first burst */ - lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, - fn, false); /* TCH/H */ - /* Send a traffic frame to the higher layers */ return sched_send_dt_ind(trx, ts, lchan, l2, l2_len, n_errors, false, true); @@ -346,16 +338,13 @@ /* Didn't try to decode, fake measurements */ if (n_errors < 0) { lchan->meas_avg = (struct trx_meas_set) { + .fn = sched_tchh_block_dl_first_fn(lchan->type, fn, false), .toa256 = 0, .rssi = -110, }; n_errors = 116 * 2; } - /* Calculate TDMA frame number of the first burst */ - lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, - fn, false); /* TCH/H */ - /* BFI is not applicable in signalling mode */ if (lchan->tch_mode == GSM48_CMODE_SIGN) return sched_send_dt_ind(trx, ts, lchan, NULL, 0, diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index aa8d4dd..cc14d2f 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -48,11 +48,9 @@ uint8_t l2[GSM_MACBLOCK_LEN], *mask; int n_errors, n_bits_total, rc; sbit_t *buffer, *offset; - uint32_t *first_fn; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; - first_fn = &lchan->rx_first_fn; mask = &lchan->rx_burst_mask; buffer = lchan->rx_bursts; @@ -60,10 +58,8 @@ lchan_desc->name, fn, ts->index, bid); /* Reset internal state */ - if (bid == 0) { - *first_fn = fn; + if (bid == 0) *mask = 0x0; - } /* Update mask */ *mask |= (1 << bid); @@ -87,8 +83,8 @@ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " "fn=%u (%u/%u) for %s\n", - burst_mask2str(mask, 4), *first_fn, - (*first_fn) % ts->mf_layout->period, + burst_mask2str(mask, 4), lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); /* NOTE: xCCH has an insane amount of redundancy for error @@ -101,8 +97,8 @@ rc = gsm0503_xcch_decode(l2, buffer, &n_errors, &n_bits_total); if (rc) { LOGP(DSCHD, LOGL_ERROR, "Received bad data frame at fn=%u " - "(%u/%u) for %s\n", *first_fn, - (*first_fn) % ts->mf_layout->period, + "(%u/%u) for %s\n", lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 47107c7..95839f7 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -464,7 +464,6 @@ /* Reset internal state variables */ lchan->rx_burst_mask = 0x00; lchan->tx_burst_mask = 0x00; - lchan->rx_first_fn = 0; /* Free burst memory */ talloc_free(lchan->rx_bursts); @@ -747,6 +746,10 @@ toa256_sum += meas->toa256; rssi_sum += meas->rssi; + /* Do not go below the first burst */ + if (i + 1 == n) + break; + if (meas == MEAS_HIST_FIRST(hist)) meas = MEAS_HIST_LAST(hist); else @@ -756,4 +759,7 @@ /* Calculate the AVG */ lchan->meas_avg.toa256 = toa256_sum / n; lchan->meas_avg.rssi = rssi_sum / n; + + /* As a bonus, store TDMA frame number of the first burst */ + lchan->meas_avg.fn = meas->fn; } diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index a4fc90f..44f502c 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -159,6 +159,8 @@ }; struct trx_meas_set { + /*! \brief TDMA frame number of the first burst this set belongs to */ + uint32_t fn; /*! \brief ToA256 (Timing of Arrival, 1/256 of a symbol) */ int16_t toa256; /*! \brief RSSI (Received Signal Strength Indication) */ @@ -182,8 +184,6 @@ /*! \brief Burst type: GMSK or 8PSK */ enum trx_burst_type burst_type; - /*! \brief Frame number of first burst */ - uint32_t rx_first_fn; /*! \brief Mask of received bursts */ uint8_t rx_burst_mask; /*! \brief Mask of transmitted bursts */ diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 343c6ca..20c64ec 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -600,6 +600,7 @@ meas = (struct trx_meas_set) { .toa256 = toa256, .rssi = rssi, + .fn = fn, }; /* Poke scheduler */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 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 Mar 4 15:20:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:36 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... trxcon/scheduler: substitute lost TDMA frames on Downlink Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 --- M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 2 files changed, 100 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/52/17352/1 diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 95839f7..ba75b6f 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -321,9 +321,6 @@ if (ts == NULL) return -EINVAL; - /* Flush TS frame counter */ - ts->mf_last_fn = 0; - /* Undefine multiframe layout */ ts->mf_layout = NULL; @@ -491,6 +488,9 @@ /* Reset ciphering state */ memset(&lchan->a5, 0x00, sizeof(lchan->a5)); + + /* Reset TDMA frame statistics */ + memset(&lchan->tdma, 0x00, sizeof(lchan->tdma)); } int sched_trx_deactivate_lchan(struct trx_ts *ts, enum trx_lchan_type chan) @@ -610,8 +610,65 @@ } } +static int subst_frame_loss(struct trx_lchan_state *lchan, + trx_lchan_rx_func *handler, + uint32_t fn) +{ + const struct trx_multiframe *mf; + const struct trx_frame *fp; + unsigned int elapsed, i; + + /* Wait until at least one TDMA frame is processed */ + if (lchan->tdma.num_proc == 0) + return -EAGAIN; + + /* Short alias for the current multiframe */ + mf = lchan->ts->mf_layout; + + /* How many frames elapsed since the last one? */ + elapsed = TDMA_FN_SUB(fn, lchan->tdma.last_proc); + if (elapsed > mf->period) { + LOGP(DSCHD, LOGL_NOTICE, "Too many (>%u) contiguous TDMA frames elapsed (%u) " + "since the last processed fn=%u\n", mf->period, + elapsed, lchan->tdma.last_proc); + } else if (elapsed == 0) { + LOGP(DSCHD, LOGL_ERROR, "No TDMA frames elapsed since the last processed " + "fn=%u, must be a bug?\n", lchan->tdma.last_proc); + return -EIO; + } + + /* TODO: make bits constant */ + static sbit_t bits[148] = { 0 }; + struct trx_meas_set fake_meas = { + .fn = lchan->tdma.last_proc, + .rssi = -120, + .toa256 = 0, + }; + + /* Traverse from fp till the current frame */ + for (i = 0; i < elapsed - 1; i++) { + fp = &mf->frames[TDMA_FN_INC(&fake_meas.fn) % mf->period]; + if (fp->dl_chan != lchan->type) + continue; + + LOGP(DSCHD, LOGL_NOTICE, "Substituting lost TDMA frame %u on %s\n", + fake_meas.fn, trx_lchan_desc[lchan->type].name); + + handler(lchan->ts->trx, lchan->ts, lchan, + fake_meas.fn, fp->dl_bid, + bits, &fake_meas); + + /* Update TDMA frame statistics */ + lchan->tdma.last_proc = fake_meas.fn; + lchan->tdma.num_proc++; + lchan->tdma.num_lost++; + } + + return 0; +} + int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, - uint32_t burst_fn, sbit_t *bits, uint16_t nbits, + uint32_t fn, sbit_t *bits, uint16_t nbits, const struct trx_meas_set *meas) { struct trx_lchan_state *lchan; @@ -620,7 +677,6 @@ trx_lchan_rx_func *handler; enum trx_lchan_type chan; - uint32_t fn, elapsed; uint8_t offset, bid; /* Check whether required timeslot is allocated and configured */ @@ -631,61 +687,42 @@ return -EINVAL; } - /* Calculate how many frames have been elapsed */ - elapsed = TDMA_FN_SUB(burst_fn, ts->mf_last_fn); + /* Get frame from multiframe */ + offset = fn % ts->mf_layout->period; + frame = ts->mf_layout->frames + offset; - /** - * If not too many frames have been elapsed, - * start counting from last fn + 1 - */ - if (elapsed < 10) - fn = TDMA_FN_INC(ts->mf_last_fn); - else - fn = burst_fn; + /* Get required info from frame */ + bid = frame->dl_bid; + chan = frame->dl_chan; + handler = trx_lchan_desc[chan].rx_fn; - while (1) { - /* Get frame from multiframe */ - offset = fn % ts->mf_layout->period; - frame = ts->mf_layout->frames + offset; + /* Omit bursts which have no handler, like IDLE bursts. + * TODO: handle noise indications during IDLE frames. */ + if (!handler) + return -ENODEV; - /* Get required info from frame */ - bid = frame->dl_bid; - chan = frame->dl_chan; - handler = trx_lchan_desc[chan].rx_fn; + /* Find required channel state */ + lchan = sched_trx_find_lchan(ts, chan); + if (lchan == NULL) + return -ENODEV; - /* Omit bursts which have no handler, like IDLE bursts */ - if (!handler) - goto next_frame; + /* Ensure that channel is active */ + if (!lchan->active) + return 0; - /* Find required channel state */ - lchan = sched_trx_find_lchan(ts, chan); - if (lchan == NULL) - goto next_frame; + /* Compensate lost TDMA frames (if any) */ + subst_frame_loss(lchan, handler, fn); - /* Ensure that channel is active */ - if (!lchan->active) - goto next_frame; + /* Perform A5/X decryption if required */ + if (lchan->a5.algo) + sched_trx_a5_burst_dec(lchan, fn, bits); - /* Reached current fn */ - if (fn == burst_fn) { - /* Perform A5/X decryption if required */ - if (lchan->a5.algo) - sched_trx_a5_burst_dec(lchan, fn, bits); + /* Put burst to handler */ + handler(trx, ts, lchan, fn, bid, bits, meas); - /* Put burst to handler */ - handler(trx, ts, lchan, fn, bid, bits, meas); - } - -next_frame: - /* Reached current fn */ - if (fn == burst_fn) - break; - - fn = TDMA_FN_INC(fn); - } - - /* Set last processed frame number */ - ts->mf_last_fn = fn; + /* Update TDMA frame statistics */ + lchan->tdma.last_proc = fn; + lchan->tdma.num_proc++; return 0; } diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 44f502c..cf63df1 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -209,6 +209,16 @@ /*! \brief AVG measurements of the last received block */ struct trx_meas_set meas_avg; + /*! \brief TDMA loss detection state */ + struct { + /*! \brief Last processed TDMA frame number */ + uint32_t last_proc; + /*! \brief Number of processed TDMA frames */ + unsigned long num_proc; + /*! \brief Number of lost TDMA frames */ + unsigned long num_lost; + } tdma; + /*! \brief SACCH state */ struct { /*! \brief Cached measurement report (last received) */ @@ -255,8 +265,6 @@ struct trx_ts { /*! \brief Timeslot index within a frame (0..7) */ uint8_t index; - /*! \brief Last received frame number */ - uint32_t mf_last_fn; /*! \brief Pointer to multiframe layout */ const struct trx_multiframe *mf_layout; @@ -356,7 +364,7 @@ void sched_prim_flush_queue(struct llist_head *list); int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, - uint32_t burst_fn, sbit_t *bits, uint16_t nbits, + uint32_t fn, sbit_t *bits, uint16_t nbits, const struct trx_meas_set *meas); int sched_trx_handle_tx_burst(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 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 Mar 4 15:20:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:37 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: constify Downlink burst bits where possible References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17353 ) Change subject: trxcon/scheduler: constify Downlink burst bits where possible ...................................................................... trxcon/scheduler: constify Downlink burst bits where possible Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_sch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 8 files changed, 12 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/53/17353/1 diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 9a74a6e..63439d1 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -31,35 +31,35 @@ /* Forward declaration of handlers */ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index b625d2f..d965daa 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -42,7 +42,7 @@ int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GPRS_L2_MAX_LEN], *mask; diff --git a/src/host/trxcon/sched_lchan_sch.c b/src/host/trxcon/sched_lchan_sch.c index 17f68b0..18d4c58 100644 --- a/src/host/trxcon/sched_lchan_sch.c +++ b/src/host/trxcon/sched_lchan_sch.c @@ -70,7 +70,7 @@ int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { sbit_t payload[2 * 39]; struct gsm_time time; diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index e909151..d190a16 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -44,7 +44,7 @@ int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 29abb42..537611d 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -200,7 +200,7 @@ int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index cc14d2f..0818e20 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -42,7 +42,7 @@ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GSM_MACBLOCK_LEN], *mask; diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index ba75b6f..1efae24 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -637,8 +637,7 @@ return -EIO; } - /* TODO: make bits constant */ - static sbit_t bits[148] = { 0 }; + static const sbit_t bits[148] = { 0 }; struct trx_meas_set fake_meas = { .fn = lchan->tdma.last_proc, .rssi = -120, diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index cf63df1..fb7ecd4 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -99,7 +99,7 @@ typedef int trx_lchan_rx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, uint8_t bid, sbit_t *bits, + uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); typedef int trx_lchan_tx_func(struct trx_instance *trx, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a Gerrit-Change-Number: 17353 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 Mar 4 15:20:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17354 ) Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... trxcon/scheduler: align Downlink reception to the first burst Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Related: OS#3554 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_xcch.c 3 files changed, 18 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/17354/1 diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index d965daa..8de947e 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -58,9 +58,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Packet data received on %s: " "fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Reset internal state */ - if (bid == 0) - *mask = 0x0; + /* Align to the first burst of a block */ + if (*mask == 0x00 && bid != 0) + return 0; /* Update mask */ *mask |= (1 << bid); @@ -92,6 +92,9 @@ return -1; } + /* Keep the mask updated */ + *mask = *mask << 4; + /* Attempt to decode */ rc = gsm0503_pdtch_decode(l2, buffer, NULL, &n_errors, &n_bits_total); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index d190a16..06458f7 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -60,9 +60,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Traffic received on %s: fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Reset internal state */ - if (bid == 0) - *mask = 0x00; + /* Align to the first burst of a block */ + if (*mask == 0x00 && bid != 0) + return 0; /* Update mask */ *mask |= (1 << bid); @@ -95,6 +95,9 @@ goto bfi; } + /* Keep the mask updated */ + *mask = *mask << 4; + switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: case GSM48_CMODE_SPEECH_V1: /* FR */ diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 0818e20..a0b61ad 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -57,9 +57,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Data received on %s: fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Reset internal state */ - if (bid == 0) - *mask = 0x0; + /* Align to the first burst of a block */ + if (*mask == 0x00 && bid != 0) + return 0; /* Update mask */ *mask |= (1 << bid); @@ -93,6 +93,9 @@ * abort here. */ } + /* Keep the mask updated */ + *mask = *mask << 4; + /* Attempt to decode */ rc = gsm0503_xcch_decode(l2, buffer, &n_errors, &n_bits_total); if (rc) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:20:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/F: fix Downlink burst completeness check References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17355 ) Change subject: trxcon/scheduler: TCH/F: fix Downlink burst completeness check ...................................................................... trxcon/scheduler: TCH/F: fix Downlink burst completeness check A TCH/F or FACCH/F frame is interleaved over 8 bursts, not 4. Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 --- M src/host/trxcon/sched_lchan_tchf.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/55/17355/1 diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 06458f7..dda4844 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -83,7 +83,7 @@ sched_trx_meas_avg(lchan, 8); /* Check for complete set of bursts */ - if ((*mask & 0xf) != 0xf) { + if ((*mask & 0xff) != 0xff) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " "fn=%u (%u/%u) for %s\n", burst_mask2str(mask, 8), lchan->meas_avg.fn, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 Gerrit-Change-Number: 17355 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:20:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:20:48 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17356 ) Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... trxcon/scheduler: do not abort on incomplete set of bursts Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c 2 files changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/56/17356/1 diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 8de947e..250b0a2 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -88,8 +88,7 @@ lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); - - return -1; + /* NOTE: do not about here, give it a try. Maybe we're lucky ;) */ } /* Keep the mask updated */ diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index dda4844..c56f0f0 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -90,9 +90,8 @@ lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); + /* NOTE: do not about here, give it a try. Maybe we're lucky ;) */ - /* Send BFI */ - goto bfi; } /* Keep the mask updated */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:24:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:24:22 +0000 Subject: Change in osmo-remsim[master]: client: Fix 'make distcheck' bypassing pkg-config usbdropdir References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17357 ) Change subject: client: Fix 'make distcheck' bypassing pkg-config usbdropdir ...................................................................... client: Fix 'make distcheck' bypassing pkg-config usbdropdir For some strange reason, 'make distcheck' wants to do a 'make install' without using DESTDIR. In this case, asking pkg-config for the various directories as described in the libpcsclite.pc is of course not working. Change-Id: I87c68e8d14f8ddb6054178118ff1f96216483f5c --- M configure.ac 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/57/17357/1 diff --git a/configure.ac b/configure.ac index 36c469d..26c330b 100644 --- a/configure.ac +++ b/configure.ac @@ -69,13 +69,17 @@ PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) - serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` - AC_SUBST(serialconfdir) - ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` + # we cannot use the below command, as 'make distcheck' would fail due to the lack + # of ${prefix} being involved :( + #ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` + #serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` + ifd_dropdir="${libdir}/pcsc" + serialconfdir="${sysconfdir}/reader.conf.d" # allow user to override the dropdir for the PCSC driver bundle AC_ARG_WITH(usbdropdir, [--with-usbdropdir PCSC bundle location], [usbdropdir="${withval}"], [usbdropdir="${ifd_dropdir}"]) AC_SUBST(usbdropdir) + AC_SUBST(serialconfdir) fi AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") AC_SUBST(BUILD_CLIENT) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87c68e8d14f8ddb6054178118ff1f96216483f5c Gerrit-Change-Number: 17357 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 Mar 4 15:26:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:26:08 +0000 Subject: Change in osmo-remsim[master]: doc: generalize the remsim-client part in the overview section In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17344 ) Change subject: doc: generalize the remsim-client part in the overview section ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I56f7955b05395abe70bf6ad2f0d33843bc6f77b9 Gerrit-Change-Number: 17344 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:26: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 Mar 4 15:26:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:26:18 +0000 Subject: Change in osmo-remsim[master]: doc: Add WARNINGs about lack of security in protocols In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17345 ) Change subject: doc: Add WARNINGs about lack of security in protocols ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I72c0b797fda220b9efcc86bd08717585063db591 Gerrit-Change-Number: 17345 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:26: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 Mar 4 15:26:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:26:31 +0000 Subject: Change in osmo-remsim[master]: doc: More cross-references; Expand overview slightly In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17346 ) Change subject: doc: More cross-references; Expand overview slightly ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ic290627ec2512a2b59cb9d81704b9cec4d14ccf4 Gerrit-Change-Number: 17346 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:26: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 Mar 4 15:26:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:26:46 +0000 Subject: Change in osmo-remsim[master]: doc: Add documentation for remsim-apitool.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17347 ) Change subject: doc: Add documentation for remsim-apitool.py ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0e280cd4276e1aff7d6f694ac4affbca0336eba5 Gerrit-Change-Number: 17347 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:26: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 Mar 4 15:27:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:07 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17160 ) Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:27: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 Mar 4 15:27:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:11 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17160 ) Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... Patch Set 9: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:27:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:27:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:13 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17160 ) Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:27:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:21 +0000 Subject: Change in osmo-remsim[master]: client: Fix 'make distcheck' bypassing pkg-config usbdropdir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17357 ) Change subject: client: Fix 'make distcheck' bypassing pkg-config usbdropdir ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87c68e8d14f8ddb6054178118ff1f96216483f5c Gerrit-Change-Number: 17357 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:27: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 Mar 4 15:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:33 +0000 Subject: Change in osmo-remsim[master]: client: document osmo-remsim-client-shell In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17342 ) Change subject: client: document osmo-remsim-client-shell ...................................................................... client: document osmo-remsim-client-shell Change-Id: I7db510982194ae4f6b9ab8bc442587ecdbf52684 --- M doc/manuals/chapters/remsim-client.adoc 1 file changed, 66 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index 7416b05..977a772 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -153,3 +153,69 @@ | request-sim-local | The client asks the system to switch to local SIM | request-modem-reset | The client asks the system to perform a modem reset |=== + +== osmo-remsim-client-shell + +This is a remsim-client that's mostly useful for manual debugging/testing or automatic testing. + +Instead of using hardware like the SIMtrace with cardem firmware to interface a virtual SIM card +to a real phone or modem, it simply offers and interactive way to exchange APDUs with a remote +SIM card via STDIO of the process. + +This allows testing of large parts of the osmo-remsim-client code as well as the integration with +the overall osmo-remsim network including osmo-remsim-server, osmo-remsim-bankd and any external +backend application driving the REST interface. + +=== Running + +osmo-remsim-client-shell currently has the following command-line options: + +==== SYNOPSIS + +*osmo-remsim-client-shell* [...] + +==== OPTIONS + +*-h, --help*:: + Print a short help message about the supported options +*-v, --version*:: + Print the compile-time version information +*-i, --server-ip A.B.C.D*:: + Specify the remote IP address / hostname of the `osmo-remsim-server` to + which this client shall establish its RSPRO control connection +*-p, --server-port <1-65535>*:: + Specify the remote TCP port number of the `osmo-remsim-server` to which + this client shall establish its RSPRO control connection +*-c, --client-id <1-65535>*:: + Specify the numeric client identifier of the SIM bank this bankd + instance operates. The tuple of client-id and client-slot must be + unique among all clients connecting to the same `osmo-remsim-server`. +*-n, --client-slot <0-65535>*:: + Specify the slot number served within this client. The tuple of + client-id and client-slot must be unique among all clients connecting + to the same `osmo-remsim-server`. + `osmo-remsim-bankd` once a card has been mapped to this client. +*-e, --event-script COMMAND*:: + Specify the shell command to be execute when the client wants to call its + helper script + +==== Examples + +The below example uses stderr-redirection to avoid the log output cluttering the console. + +.remsim-server is at 192.168.11.10; we are client 23 slot 0 +---- +./osmo-remsim-client-shell -i 192.168.11.10 -c 23 2>/dev/null +SET_ATR: 3b 00 +SET_ATR: 3b 7d 94 00 00 55 55 53 0a 74 86 93 0b 24 7c 4d 54 68 +a0a40000023f00 +R-APDU: 9f 17 +---- + +* The first SET_ATR is performed by osmo-remsim-client locally using a default ATR +* The second SET_ATR is performed by osmo-remsim-bankd to inform us about the ATR of the real remote card +* The `a0a40000023f00` is a command TPDU entered on STDIN by the suer +* The `9f17` is a response TPDU provided by the remote card in response to the command + +The program continues in this loop (read command APDU as hex-dump from stdin; provide response on stdout) +until it is terminated by Ctrl+C or by other means. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7db510982194ae4f6b9ab8bc442587ecdbf52684 Gerrit-Change-Number: 17342 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:33 +0000 Subject: Change in osmo-remsim[master]: client: Add diagram for osmo-remsim-st2 use case In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17343 ) Change subject: client: Add diagram for osmo-remsim-st2 use case ...................................................................... client: Add diagram for osmo-remsim-st2 use case Change-Id: Iddd870ddbadc2b6570deb00ea6886c3b34ea1e38 --- M doc/manuals/chapters/remsim-client.adoc 1 file changed, 39 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index 977a772..8e26f8e 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -20,6 +20,45 @@ blocking I/O on the TCP/RSPRO side. This simplifies the code compared to a more complex async implementation. +[graphviz] +.Overall osmo-remsim architecture using osmo-remsim-client-st2 +---- +graph G { + rankdir = LR; + + subgraph cluster_0 { + label = "Client"; + modem [label="Phone/Modem",shape="rectangle"]; + cardem [label="cardem firmware\ne.g. on sysmoQMOD",shape="rectangle"]; + client [label="remsim-client-st2"]; + modem -- cardem [label="ISO 7816-3"]; + cardem -- client [label="USB ST2"]; + } + + subgraph cluster_2 { + label = "SIM Bank"; + bankd [label="remsim-bankd"]; + reader [label="Card Reader\ne.g. sysmoOCTSIM",shape="rectangle"]; + b_pcscd [label="PC/SC Daemon\nlibccid driver"]; + bankd -- b_pcscd; + b_pcscd -- reader [label = "USB CCID"]; + } + + subgraph cluster_1 { + label = "Server/Backend"; + server [label="remsim-server"]; + backend [label="Back-End Application"]; + server -- backend [label="REST Interface"]; + } + + client -- bankd [label="RSPRO Data"]; + client -- server [label="RSPRO Control"]; + bankd -- server [label="RSPRO Control"]; +} +---- + + + === Running osmo-remsim-client-st2 currently has the following command-line options: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iddd870ddbadc2b6570deb00ea6886c3b34ea1e38 Gerrit-Change-Number: 17343 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:33 +0000 Subject: Change in osmo-remsim[master]: client: ifd_handler (PC/SC reader driver) as remsim-client In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17160 ) Change subject: client: ifd_handler (PC/SC reader driver) as remsim-client ...................................................................... client: ifd_handler (PC/SC reader driver) as remsim-client This adds a "libifd_remsim_client.so" PC/SC driver that can be used to make normal PC/SC client programs (like pySim, sysmo-usim-tool, osmo-sim-test, osmo-usim-auth, ...) talk to a remote SIM bank. Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee --- M configure.ac M debian/control A debian/libifd-osmo-remsim-client0.install M doc/manuals/chapters/remsim-client.adoc M src/client/Makefile.am A src/client/PkgInfo M src/client/client.h A src/client/osmo-remsim-client-reader_conf.in A src/client/user_ifdhandler.c 9 files changed, 1,099 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/configure.ac b/configure.ac index 1c9cd72..36c469d 100644 --- a/configure.ac +++ b/configure.ac @@ -68,6 +68,14 @@ PKG_CHECK_MODULES(OSMOUSB, libosmousb) PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) + + serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` + AC_SUBST(serialconfdir) + ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` + # allow user to override the dropdir for the PCSC driver bundle + AC_ARG_WITH(usbdropdir, [--with-usbdropdir PCSC bundle location], + [usbdropdir="${withval}"], [usbdropdir="${ifd_dropdir}"]) + AC_SUBST(usbdropdir) fi AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") AC_SUBST(BUILD_CLIENT) @@ -165,6 +173,7 @@ src/rspro/Makefile src/bankd/Makefile src/client/Makefile + src/client/osmo-remsim-client-reader_conf src/server/Makefile include/Makefile include/osmocom/Makefile diff --git a/debian/control b/debian/control index 14c5d7a..330b220 100644 --- a/debian/control +++ b/debian/control @@ -71,6 +71,17 @@ hardware and forwards the SIM card communication to a remsim-bankd, under the control of remsim-server. +Package: libifd-osmo-remsim-client0 +Architecture: any +Multi-Arch: same +Depends: pcscd, ${shlibs:Depends}, ${misc:Depends} +Provides: pcsc-ifd-handler +Suggests: pcsc-tools +Description: Osmocom Remote SIM Client - PC/SC driver + 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. + package: osmo-remsim-doc Architecture: all Section: doc diff --git a/debian/libifd-osmo-remsim-client0.install b/debian/libifd-osmo-remsim-client0.install new file mode 100644 index 0000000..4ceb02f --- /dev/null +++ b/debian/libifd-osmo-remsim-client0.install @@ -0,0 +1,2 @@ +usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/* +etc/reader.conf.d/* diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index 8e26f8e..e2c43d7 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -258,3 +258,123 @@ The program continues in this loop (read command APDU as hex-dump from stdin; provide response on stdout) until it is terminated by Ctrl+C or by other means. + +== libifd_remsim_client + +This is a remsim-client implemented as so-called `ifd_handler`, i.e. a card reader driver +that plugs into the bottom side of the PC/SC daemon of pcsc-lite. + +Using this library, you can use normal smart card application programs with remote smart +cards managed by osmo-remsim. The setup looks like this: + +[graphviz] +.Overall osmo-remsim architecture using libifd_remsim_client +---- +graph G { + rankdir = LR; + + subgraph cluster_0 { + label = "Client"; + application [label="Any application\nusing PC/SC"]; + pcscd [label="PC/SC Daemon\nlibifd_remsim_client driver"]; + application -- pcscd; + } + + subgraph cluster_2 { + label = "SIM Bank"; + bankd [label="remsim-bankd"]; + reader [label="Card Reader\ne.g. sysmoOCTSIM",shape="rectangle"]; + b_pcscd [label="PC/SC Daemon\nlibccid driver"]; + bankd -- b_pcscd; + b_pcscd -- reader [label = "USB CCID"]; + } + + subgraph cluster_1 { + label = "Server/Backend"; + server [label="remsim-server"]; + backend [label="Back-End Application"]; + server -- backend [label="REST Interface"]; + } + + pcscd -- bankd [label="RSPRO Data"]; + pcscd -- server [label="RSPRO Control"]; + bankd -- server [label="RSPRO Control"]; +} +---- + + +=== Configuration + +Like all non-USB PC/SC reader drivers, this is happening in `/etc/reader.conf` or, at +least on Debian GNU/Linux based systems via files in `/etc/reader.conf.d`. The +osmo-remsim software includes an example configuration file and installs it as +`osmo-remsim-client-reader_conf` in that directory. + +.contents of the configuration example provided by osmo-remsim-client +---- +#FRIENDLYNAME "osmo-remsim-client" +#DEVICENAME 0:0:192.168.11.10:9998 +#LIBPATH /usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so +---- + +As you can see, all lines are commented out by default. In order to enable the +remsim-client virtual reader, you need to + +* remove the `#` character on all three lines +* configure the DEVICNAME according to your local configuration. It is a string with + fields separated by colons, in the form of CLIENT_ID:CLIENT_SLOT:SERVER_IP:SERVER_PORRT +** First part is the Client ID (default: 0) +** Second part is the Client SlotNumbera (default: 0) +** Third part is the IP address of the `osmo-resim-server` (default: localhost) +** Last part is the RSPRO TCP port of the `osmo-remsim-server` (default: 9998) + +Once the configuration file has been updated, you should re-start pcscd by issuing +`systemctl restart pcscd` or whatever command your Linux distribution uses for restarting +services. + +You can check if the driver is loaded by using the `pcsc_scan` tool included with `pcscd`: + +---- +$ pcsc_scan +Using reader plug'n play mechanism +Scanning present readers... +0: osmo-remsim-client 00 00 + +Wed Mar 4 13:31:42 2020 + Reader 0: osmo-remsim-client 00 00 + Event number: 0 + Card state: Card removed, + - +---- + +Once a proper slotmap to an existing SIM card in a remote bank daemon has been installed +in the server, you should see something like this: + +---- +$ pcsc_scan +Using reader plug'n play mechanism +Scanning present readers... +0: osmo-remsim-client 00 00 + +Wed Mar 4 13:35:18 2020 + Reader 0: osmo-remsim-client 00 00 + Event number: 1 + Card state: Card inserted, + ATR: 3B 7D 94 00 00 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68 + +ATR: 3B 7D 94 00 00 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68 ++ TS = 3B --> Direct Convention ++ T0 = 7D, Y(1): 0111, K: 13 (historical bytes) + TA(1) = 94 --> Fi=512, Di=8, 64 cycles/ETU + 62500 bits/s at 4 MHz, fMax for Fi = 5 MHz => 78125 bits/s + TB(1) = 00 --> VPP is not electrically connected + TC(1) = 00 --> Extra guard time: 0 ++ Historical bytes: 55 55 53 0A 74 86 93 0B 24 7C 4D 54 68 + Category indicator byte: 55 (proprietary format) + +Possibly identified card (using /home/laforge/.cache/smartcard_list.txt): + NONE +---- + +From now on, you can use any application using PC/SC, whether C, Python or Java with a +remote SIM card managed by osmo-remsim. diff --git a/src/client/Makefile.am b/src/client/Makefile.am index ac0d707..f37126a 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -8,11 +8,27 @@ osmo_remsim_client_shell_SOURCES = user_shell.c remsim_client_main.c \ remsim_client.c ../rspro_client_fsm.c ../debug.c +osmo_remsim_client_shell_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_shell_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +EXTRA_DIST=PkgInfo osmo-remsim-client-reader_conf.in +serialconf_DATA=osmo-remsim-client-reader_conf +bundledir=$(usbdropdir)/libifd-osmo-remsim-client.bundle/Contents +bundle_DATA=PkgInfo +bundlelinuxdir=$(bundledir)/Linux +bundlelinux_LTLIBRARIES = libifd_remsim_client.la +libifd_remsim_client_la_SOURCES = user_ifdhandler.c \ + remsim_client.c ../rspro_client_fsm.c ../debug.c +libifd_remsim_client_la_CFLAGS = $(AM_CFLAGS) +libifd_remsim_client_la_CPPFLAGS = $(PCSC_CFLAGS) +libifd_remsim_client_la_LDFLAGS = -no-undefined +libifd_remsim_client_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ + $(top_builddir)/src/libosmo-rspro.la + osmo_remsim_client_st2_SOURCES = simtrace2-remsim_client.c \ ../rspro_client_fsm.c ../debug.c +osmo_remsim_client_st2_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_st2_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ $(USB_LIBS) $(OSMOSIM_LIBS) \ diff --git a/src/client/PkgInfo b/src/client/PkgInfo new file mode 100644 index 0000000..43c9cb0 --- /dev/null +++ b/src/client/PkgInfo @@ -0,0 +1 @@ +BNDL???? diff --git a/src/client/client.h b/src/client/client.h index 80381fa..0761255 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -56,6 +56,7 @@ struct client_config *cfg; struct cardem_inst *cardem; + void *data; }; #define srvc2bankd_client(srvc) container_of(srvc, struct bankd_client, srv_conn) diff --git a/src/client/osmo-remsim-client-reader_conf.in b/src/client/osmo-remsim-client-reader_conf.in new file mode 100644 index 0000000..4b90116 --- /dev/null +++ b/src/client/osmo-remsim-client-reader_conf.in @@ -0,0 +1,3 @@ +#FRIENDLYNAME "osmo-remsim-client" +#DEVICENAME 0:0:192.168.11.10:9998 +#LIBPATH @usbdropdir@/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c new file mode 100644 index 0000000..677b781 --- /dev/null +++ b/src/client/user_ifdhandler.c @@ -0,0 +1,936 @@ +/* (C) 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/* This is a remsim-client that provides an IFD_Handler (reader driver) + * towards the PC/SC services. This effectively allows any local PC/SC client + * application to use a remote smartcard via osmo-remsim. + * + * In order to use this, you will need an /etc/reader.conf.d/osmo-remsim-client + * file with the following content: + * + * FRIENDLYNAME "osmo-remsim-client" + * DEVICENAME 0:0:192.168.11.10:9998 + * LIBPATH /usr/lib/pcsc/drivers/serial/libifd_remsim_client.so + * + * Where DEVICENAME has the following format: + * [ClientID:[SlotNr:[ServerIp:[ServerPort]]]] + * + */ + +#include +#include +#include + +#include +#include +extern int osmo_ctx_init(const char *id); + +#include "client.h" + +/* ensure this current thread has an osmo_ctx and hence can use OTC_GLOBAL and friends */ +static void ensure_osmo_ctx(void) +{ + if (!osmo_ctx) + osmo_ctx_init(""); +} + +/* inter-thread messages between IFD thread and remsim-client thread */ +enum itmsg_type { + ITMSG_TYPE_NONE, + + /* card present? */ + ITMSG_TYPE_CARD_PRES_REQ, + ITMSG_TYPE_CARD_PRES_RESP, + + /* obtain ATR */ + ITMSG_TYPE_ATR_REQ, + ITMSG_TYPE_ATR_RESP, + + /* transceive APDU: Send C-APDU, receive R-APDU */ + ITMSG_TYPE_C_APDU_REQ, + ITMSG_TYPE_R_APDU_IND, + + /* power off the card */ + ITMSG_TYPE_POWER_OFF_REQ, + ITMSG_TYPE_POWER_OFF_RESP, + + /* power on the card */ + ITMSG_TYPE_POWER_ON_REQ, + ITMSG_TYPE_POWER_ON_RESP, + + /* reset the card */ + ITMSG_TYPE_RESET_REQ, + ITMSG_TYPE_RESET_RESP, +}; + +struct itmsg { + enum itmsg_type type; + uint16_t status; /* 0 == success */ + uint16_t len; /* length of 'data' */ + uint8_t data[0]; +}; + +/* allocate + initialize msgb-wrapped inter-thread message (struct itmsg) */ +struct msgb *itmsg_alloc(enum itmsg_type type, uint16_t status, const uint8_t *data, uint16_t len) +{ + struct msgb *msg = msgb_alloc_c(OTC_GLOBAL, sizeof(struct itmsg)+len, "Tx itmsg"); + struct itmsg *im; + + if (!msg) + return NULL; + + im = (struct itmsg *) msgb_put(msg, sizeof(struct itmsg) + len); + im->type = type; + im->status = status; + im->len = len; + if (len) + memcpy(im->data, data, len); + + return msg; +} + +/*********************************************************************** + * remsim_client thread + ***********************************************************************/ + +void __thread *talloc_asn1_ctx; + +struct client_thread { + /* bankd client runningi inside this thread */ + struct bankd_client *bc; + + /* inter-thread osmo-fd; communication with IFD/PCSC thread */ + struct osmo_fd it_ofd; + struct llist_head it_msgq; + + /* ATR as received from remsim-bankd */ + uint8_t atr[ATR_SIZE_MAX]; + uint8_t atr_len; +}; + +/* configuration of client thread; passed in from IFD thread */ +struct client_thread_cfg { + const char *name; + const char *server_host; + int server_port; + int client_id; + int client_slot; + int it_sock_fd; +}; + +/* enqueue a msgb (containg 'struct itmsg') towards the IFD-handler thread */ +static void enqueue_to_ifd(struct client_thread *ct, struct msgb *msg) +{ + if (!msg) + return; + + msgb_enqueue(&ct->it_msgq, msg); + ct->it_ofd.when |= OSMO_FD_WRITE; +} + +/*********************************************************************** + * Incoming RSPRO messages from bank-daemon (SIM card) + ***********************************************************************/ + +static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) +{ + const struct TpduCardToModem *card2modem; + struct client_thread *ct = bc->data; + struct msgb *msg; + + OSMO_ASSERT(pdu); + OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); + + card2modem = &pdu->msg.choice.tpduCardToModem; + DEBUGP(DMAIN, "R-APDU: %s\n", osmo_hexdump(card2modem->data.buf, card2modem->data.size)); + /* enqueue towards IFD thread */ + msg = itmsg_alloc(ITMSG_TYPE_R_APDU_IND, 0, card2modem->data.buf, card2modem->data.size); + OSMO_ASSERT(msg); + enqueue_to_ifd(ct, msg); + + return 0; +} + +static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) +{ + struct client_thread *ct = bc->data; + RsproPDU_t *resp; + unsigned int atr_len; + + OSMO_ASSERT(pdu); + OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); + + DEBUGP(DMAIN, "SET_ATR: %s\n", osmo_hexdump(pdu->msg.choice.setAtrReq.atr.buf, + pdu->msg.choice.setAtrReq.atr.size)); + + /* store ATR in local data structure until somebody needs it */ + atr_len = pdu->msg.choice.setAtrReq.atr.size; + if (atr_len > sizeof(ct->atr)) + atr_len = sizeof(ct->atr); + memcpy(ct->atr, pdu->msg.choice.setAtrReq.atr.buf, atr_len); + ct->atr_len = atr_len; + + resp = rspro_gen_SetAtrRes(ResultCode_ok); + if (!resp) + return -ENOMEM; + server_conn_send_rspro(&bc->bankd_conn, resp); + + return 0; +} + + +int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) +{ + struct bankd_client *bc = bankdc2bankd_client(bankdc); + + switch (pdu->msg.present) { + case RsproPDUchoice_PR_tpduCardToModem: + bankd_handle_tpduCardToModem(bc, pdu); + break; + case RsproPDUchoice_PR_setAtrReq: + bankd_handle_setAtrReq(bc, pdu); + break; + default: + OSMO_ASSERT(0); + } + return 0; +} + +/*********************************************************************** + * Incoming command from the user application + ***********************************************************************/ + +/* handle a single msgb-wrapped 'struct itmsg' from the IFD-handler thread */ +static void handle_it_msg(struct client_thread *ct, struct itmsg *itmsg) +{ + struct bankd_client *bc = ct->bc; + struct msgb *tx = NULL; + RsproPDU_t *pdu; + BankSlot_t bslot; + + bank_slot2rspro(&bslot, &ct->bc->bankd_slot); + + switch (itmsg->type) { + case ITMSG_TYPE_CARD_PRES_REQ: + if (bc->bankd_conn.fi->state == 2 /*SRVC_ST_CONNECTED*/) + tx = itmsg_alloc(ITMSG_TYPE_CARD_PRES_RESP, 0, NULL, 0); + else + tx = itmsg_alloc(ITMSG_TYPE_CARD_PRES_RESP, 0xffff, NULL, 0); + OSMO_ASSERT(tx); + break; + + case ITMSG_TYPE_ATR_REQ: + /* respond to IFD */ + tx = itmsg_alloc(ITMSG_TYPE_ATR_RESP, 0, ct->atr, ct->atr_len); + OSMO_ASSERT(tx); + break; + + case ITMSG_TYPE_POWER_OFF_REQ: + pdu = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, + true, false, false, true); + server_conn_send_rspro(&bc->bankd_conn, pdu); + /* respond to IFD */ + tx = itmsg_alloc(ITMSG_TYPE_POWER_OFF_RESP, 0, NULL, 0); + OSMO_ASSERT(tx); + break; + + case ITMSG_TYPE_POWER_ON_REQ: + pdu = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, + false, true, true, true); + server_conn_send_rspro(&bc->bankd_conn, pdu); + /* respond to IFD */ + tx = itmsg_alloc(ITMSG_TYPE_POWER_ON_RESP, 0, NULL, 0); + OSMO_ASSERT(tx); + break; + + case ITMSG_TYPE_RESET_REQ: + /* reset the [remote] card */ + pdu = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, + true, true, true, true); + server_conn_send_rspro(&bc->bankd_conn, pdu); + /* and take it out of reset again */ + pdu = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, + false, true, true, true); + server_conn_send_rspro(&bc->bankd_conn, pdu); + /* respond to IFD */ + tx = itmsg_alloc(ITMSG_TYPE_RESET_RESP, 0, NULL, 0); + OSMO_ASSERT(tx); + break; + case ITMSG_TYPE_C_APDU_REQ: + if (!bc->srv_conn.clslot) { + LOGP(DMAIN, LOGL_ERROR, "Cannot send command; no client slot\n"); + /* FIXME: Response? */ + return; + } + + /* Send CMD APDU to [remote] card */ + pdu = rspro_gen_TpduModem2Card(bc->srv_conn.clslot, &bslot, itmsg->data, itmsg->len); + server_conn_send_rspro(&bc->bankd_conn, pdu); + /* response will come in asynchronously */ + break; + default: + LOGP(DMAIN, LOGL_ERROR, "Unknown inter-thread msg type %u\n", itmsg->type); + break; + } + + if (tx) + enqueue_to_ifd(ct, tx); + +} + +/* call-back function for inter-thread socket */ +static int it_sock_fd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct client_thread *ct = ofd->data; + int rc; + + if (what & OSMO_FD_READ) { + struct msgb *msg = msgb_alloc_c(OTC_GLOBAL, 1024, "Rx it_fd"); + struct itmsg *itmsg; + + OSMO_ASSERT(msg); + rc = read(ofd->fd, msg->tail, msgb_tailroom(msg)); + if (rc <= 0) { + LOGP(DMAIN, LOGL_ERROR, "Error reading from inter-thread fd: %d\n", rc); + pthread_exit(NULL); + } + msgb_put(msg, rc); + itmsg = (struct itmsg *) msgb_data(msg); + if (msgb_length(msg) < sizeof(*itmsg) || + msgb_length(msg) < sizeof(*itmsg) + itmsg->len) { + LOGP(DMAIN, LOGL_ERROR, "Dropping short inter-thread message\n"); + } else { + handle_it_msg(ct, itmsg); + } + msgb_free(msg); + } + + if (what & OSMO_FD_WRITE) { + struct msgb *msg = msgb_dequeue(&ct->it_msgq); + if (!msg) { + /* last message: disable write events */ + ofd->when &= ~OSMO_FD_WRITE; + } else { + unsigned int len = msgb_length(msg); + rc = write(ofd->fd, msgb_data(msg), len); + msgb_free(msg); + if (rc < len) { + LOGP(DMAIN, LOGL_ERROR, "Short write on inter-thread fd: %d < %d\n", + rc, len); + } + } + } + + + return 0; +} + +/* release all resources allocated by thread */ +static void client_pthread_cleanup(void *arg) +{ + struct client_thread *ct = arg; + + LOGP(DMAIN, LOGL_INFO, "Cleaning up remsim-client thread\n"); + //FIXME remsim_client_destroy(ct->bc); + ct->bc = NULL; + msgb_queue_free(&ct->it_msgq); + osmo_fd_unregister(&ct->it_ofd); + close(ct->it_ofd.fd); + ct->it_ofd.fd = -1; + talloc_free(ct); +} + +/* main function of remsim-client pthread */ +static void *client_pthread_main(void *arg) +{ + struct client_thread_cfg *cfg = arg; + struct client_thread *ct; + int rc; + + osmo_select_init(); + rc = osmo_ctx_init("client"); + OSMO_ASSERT(rc == 0); + + ct = talloc_zero(OTC_GLOBAL, struct client_thread); + OSMO_ASSERT(ct); + + if (!talloc_asn1_ctx) + talloc_asn1_ctx= talloc_named_const(ct, 0, "asn1"); + + ct->bc = remsim_client_create(ct, cfg->name, "remsim_ifdhandler"); + OSMO_ASSERT(ct->bc); + ct->bc->data = ct; + remsim_client_set_clslot(ct->bc, cfg->client_id, cfg->client_slot); + if (cfg->server_host) + ct->bc->srv_conn.server_host = (char *) cfg->server_host; + if (cfg->server_port >= 0) + ct->bc->srv_conn.server_port = cfg->server_port; + + INIT_LLIST_HEAD(&ct->it_msgq); + osmo_fd_setup(&ct->it_ofd, cfg->it_sock_fd, OSMO_FD_READ, &it_sock_fd_cb, ct, 0); + osmo_fd_register(&ct->it_ofd); + + /* ensure we get properly cleaned up if cancelled */ + pthread_cleanup_push(client_pthread_cleanup, ct); + + osmo_fsm_inst_dispatch(ct->bc->srv_conn.fi, SRVC_E_ESTABLISH, NULL); + + while (1) { + osmo_select_main(0); + } + + pthread_cleanup_pop(1); + return NULL; +} + +/*********************************************************************** + * PC/SC ifd_handler API functions + ***********************************************************************/ + +#include +#include + +#include +#include + +static const struct value_string ifd_status_names[] = { + OSMO_VALUE_STRING(IFD_SUCCESS), + OSMO_VALUE_STRING(IFD_ERROR_TAG), + OSMO_VALUE_STRING(IFD_ERROR_SET_FAILURE), + OSMO_VALUE_STRING(IFD_ERROR_VALUE_READ_ONLY), + OSMO_VALUE_STRING(IFD_ERROR_PTS_FAILURE), + OSMO_VALUE_STRING(IFD_ERROR_NOT_SUPPORTED), + OSMO_VALUE_STRING(IFD_PROTOCOL_NOT_SUPPORTED), + OSMO_VALUE_STRING(IFD_ERROR_POWER_ACTION), + OSMO_VALUE_STRING(IFD_ERROR_SWALLOW), + OSMO_VALUE_STRING(IFD_ERROR_EJECT), + OSMO_VALUE_STRING(IFD_ERROR_CONFISCATE), + OSMO_VALUE_STRING(IFD_COMMUNICATION_ERROR), + OSMO_VALUE_STRING(IFD_RESPONSE_TIMEOUT), + OSMO_VALUE_STRING(IFD_NOT_SUPPORTED), + OSMO_VALUE_STRING(IFD_ICC_PRESENT), + OSMO_VALUE_STRING(IFD_ICC_NOT_PRESENT), + OSMO_VALUE_STRING(IFD_NO_SUCH_DEVICE), + OSMO_VALUE_STRING(IFD_ERROR_INSUFFICIENT_BUFFER), + { 0, NULL } +}; + +static const struct value_string ifd_tag_names[] = { + OSMO_VALUE_STRING(TAG_IFD_ATR), + OSMO_VALUE_STRING(TAG_IFD_SLOTNUM), + OSMO_VALUE_STRING(TAG_IFD_SLOT_THREAD_SAFE), + OSMO_VALUE_STRING(TAG_IFD_THREAD_SAFE), + OSMO_VALUE_STRING(TAG_IFD_SLOTS_NUMBER), + OSMO_VALUE_STRING(TAG_IFD_SIMULTANEOUS_ACCESS), + OSMO_VALUE_STRING(TAG_IFD_POLLING_THREAD), + OSMO_VALUE_STRING(TAG_IFD_POLLING_THREAD_KILLABLE), + OSMO_VALUE_STRING(TAG_IFD_STOP_POLLING_THREAD), + OSMO_VALUE_STRING(TAG_IFD_POLLING_THREAD_WITH_TIMEOUT), + { 0, NULL } +}; + +#define LOG_EXIT(Lun, r) \ + Log4(r == IFD_SUCCESS || r == IFD_ICC_NOT_PRESENT ? PCSC_LOG_DEBUG : PCSC_LOG_ERROR, \ + "%s(0x%08lx) => %s\n", __func__, Lun, get_value_string(ifd_status_names, r)) + +#define LOG_EXITF(Lun, r, fmt, args...) \ + Log5(r == IFD_SUCCESS ? PCSC_LOG_DEBUG : PCSC_LOG_ERROR, \ + "%s(0x%08lx) "fmt" => %s\n", __func__, Lun, ## args, get_value_string(ifd_status_names, r)) + +/* IFD side handle for a remsim-client [thread] */ +struct ifd_client { + /* the client pthread itself */ + pthread_t pthread; + /* socket to talk to thread */ + int it_fd; + /* configuration passed into the thread */ + struct client_thread_cfg cfg; +}; + +static struct msgb *ifd_xceive_client(struct ifd_client *ic, struct msgb *tx) +{ + struct msgb *rx = msgb_alloc_c(OTC_GLOBAL, 1024, "ifd_rx itmsg"); + struct itmsg *rx_it; + int rc; + + rc = write(ic->it_fd, msgb_data(tx), msgb_length(tx)); + msgb_free(tx); + if (rc < msgb_length(tx)) { + Log2(PCSC_LOG_ERROR, "Short write IFD->client thread: %d\n", rc); + msgb_free(rx); + return NULL; + } + rc = read(ic->it_fd, rx->tail, msgb_tailroom(rx)); + if (rc <= 0) { + Log2(PCSC_LOG_ERROR, "Short read IFD<-client thread: %d\n", rc); + msgb_free(rx); + return NULL; + } + msgb_put(rx, rc); + rx_it = (struct itmsg *) msgb_data(rx); + if (msgb_length(rx) < sizeof(*rx_it) + rx_it->len) { + Log2(PCSC_LOG_ERROR, "Short itmsg IFD<-client thread: %d\n", msgb_length(rx)); + msgb_free(rx); + return NULL; + } + return rx; +} + +/* function called on IFD side to create socketpair + start remsim-client thread */ +static struct ifd_client *create_ifd_client(const struct client_thread_cfg *cfg) +{ + struct ifd_client *ic = talloc_zero(OTC_GLOBAL, struct ifd_client); + int sp[2]; + int rc; + + /* copy over configuration */ + ic->cfg = *cfg; + + /* create socket pair for communication between threads */ + rc = socketpair(AF_UNIX, SOCK_SEQPACKET, 0, sp); + if (rc != 0) { + talloc_free(ic); + return NULL; + } + + ic->it_fd = sp[0]; + ic->cfg.it_sock_fd = sp[1]; + + /* start the thread */ + rc = pthread_create(&ic->pthread, NULL, client_pthread_main, &ic->cfg); + if (rc != 0) { + Log1(PCSC_LOG_ERROR, "Error creating remsim-client pthread\n"); + close(sp[0]); + close(sp[1]); + talloc_free(ic); + return NULL; + } + + return ic; +} + +/* function called on IFD side to destroy (terminate) remsim-client thread */ +static void destroy_ifd_client(struct ifd_client *ic) +{ + if (!ic) + return; + + pthread_cancel(ic->pthread); + pthread_join(ic->pthread, NULL); +} + +#define MAX_SLOTS 256 +static struct ifd_client *ifd_client[MAX_SLOTS]; + +#define LUN2SLOT(lun) ((lun) & 0xffff) +#define LUN2RDR(lun) ((lun) >> 16) + + +RESPONSECODE IFDHCreateChannel(DWORD Lun, DWORD Channel) +{ + return IFD_COMMUNICATION_ERROR; +} + +RESPONSECODE IFDHCreateChannelByName(DWORD Lun, LPSTR DeviceName) +{ + struct ifd_client *ic; + struct client_thread_cfg cfg = { + .name = "fixme-name", + .server_host = "127.0.0.1", + .server_port = -1, + .client_id = 0, + .client_slot = 0, + }; + char *r, *client_id, *slot_nr, *host, *port; + + if (LUN2RDR(Lun) != 0) + return IFD_NO_SUCH_DEVICE; + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) + return IFD_NO_SUCH_DEVICE; + + ensure_osmo_ctx(); + + client_id = strtok_r(DeviceName, ":", &r); + if (!client_id) + goto end_parse; + cfg.client_id = atoi(client_id); + + slot_nr = strtok_r(NULL, ":", &r); + if (!slot_nr) + goto end_parse; + cfg.client_slot = atoi(slot_nr); + + host = strtok_r(NULL, ":", &r); + if (!host) + goto end_parse; + cfg.server_host = strdup(host); + + port = strtok_r(NULL, ":", &r); + cfg.server_port = atoi(port); + + +end_parse: + LOGP(DMAIN, LOGL_NOTICE, "remsim-client C%d:%d bankd=%s:%d\n", + cfg.client_id, cfg.client_slot, cfg.server_host, cfg.server_port); + + ic = create_ifd_client(&cfg); + if (ic) { + ifd_client[LUN2SLOT(Lun)] = ic; + return IFD_SUCCESS; + } else + return IFD_COMMUNICATION_ERROR; +} + +RESPONSECODE IFDHControl(DWORD Lun, DWORD dwControlCode, PUCHAR TxBuffer, DWORD TxLength, + PUCHAR RxBuffer, DWORD RxLength, LPDWORD pdwBytesReturned) +{ + RESPONSECODE r = IFD_COMMUNICATION_ERROR; + + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (pdwBytesReturned) + *pdwBytesReturned = 0; + + r = IFD_ERROR_NOT_SUPPORTED; +err: + LOG_EXIT(Lun, r); + return r; +} + +RESPONSECODE IFDHCloseChannel(DWORD Lun) +{ + RESPONSECODE r = IFD_COMMUNICATION_ERROR; + + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + destroy_ifd_client(ifd_client[LUN2SLOT(Lun)]); + ifd_client[LUN2SLOT(Lun)] = NULL; + + r = IFD_SUCCESS; +err: + LOG_EXIT(Lun, r); + return r; +} + +RESPONSECODE IFDHGetCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value) +{ + RESPONSECODE r = IFD_COMMUNICATION_ERROR; + struct ifd_client *ic; + struct msgb *rx, *tx; + struct itmsg *rx_it; + + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + ic = ifd_client[LUN2SLOT(Lun)]; + if (!ic) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (!Length || !Value) + goto err; + + switch (Tag) { + case TAG_IFD_ATR: + /* Return the ATR and its size */ + tx = itmsg_alloc(ITMSG_TYPE_ATR_REQ, 0, NULL, 0); + OSMO_ASSERT(tx); + rx = ifd_xceive_client(ic, tx); + if (!rx) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + rx_it = (struct itmsg *)msgb_data(rx); + if (*Length > rx_it->len) + *Length = rx_it->len; + memcpy(Value, rx_it->data, *Length); + msgb_free(rx); + break; + case TAG_IFD_SIMULTANEOUS_ACCESS: + /* Return the number of sessions (readers) the driver + * can handle in Value[0]. This is used for multiple + * readers sharing the same driver. */ + if (*Length < 1) + goto err; + *Value = 1; + *Length = 1; + break; + case TAG_IFD_SLOTS_NUMBER: + /* Return the number of slots in this reader in Value[0] */ + if (*Length < 1) + goto err; + *Value = 1; + *Length = 1; + break; + case TAG_IFD_THREAD_SAFE: + /* If the driver supports more than one reader (see + * TAG_IFD_SIMULTANEOUS_ACCESS above) this tag indicates + * if the driver supports access to multiple readers at + * the same time. */ + if (*Length < 1) + goto err; + *Value = 0; + *Length = 1; + break; + case TAG_IFD_SLOT_THREAD_SAFE: + /* If the reader has more than one slot (see + * TAG_IFD_SLOTS_NUMBER above) this tag indicates if the + * driver supports access to multiple slots of the same + * reader at the same time. */ + if (*Length < 1) + goto err; + *Value = 0; + *Length = 1; + break; + default: + r = IFD_ERROR_TAG; + goto err; + } + + r = IFD_SUCCESS; + +err: + if (r != IFD_SUCCESS && Length) + *Length = 0; + + LOG_EXITF(Lun, r, "%s", get_value_string(ifd_tag_names, Tag)); + return r; +} + +RESPONSECODE IFDHSetCapabilities(DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value) +{ + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) + return IFD_NO_SUCH_DEVICE; + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) + return IFD_NO_SUCH_DEVICE; + + + LOG_EXIT(Lun, IFD_NOT_SUPPORTED); + return IFD_NOT_SUPPORTED; +} + +RESPONSECODE IFDHSetProtocolParameters(DWORD Lun, DWORD Protocol, UCHAR Flags, UCHAR PTS1, + UCHAR PTS2, UCHAR PTS3) +{ + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) + return IFD_NO_SUCH_DEVICE; + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) + return IFD_NO_SUCH_DEVICE; + + LOG_EXIT(Lun, IFD_SUCCESS); + return IFD_SUCCESS; +} + +RESPONSECODE IFDHPowerICC(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD AtrLength) +{ + RESPONSECODE r = IFD_COMMUNICATION_ERROR; + struct ifd_client *ic; + struct msgb *rx, *tx; + + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + ic = ifd_client[LUN2SLOT(Lun)]; + if (!ic) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + switch (Action) { + case IFD_POWER_DOWN: + tx = itmsg_alloc(ITMSG_TYPE_POWER_OFF_REQ, 0, NULL, 0); + break; + case IFD_POWER_UP: + tx = itmsg_alloc(ITMSG_TYPE_POWER_ON_REQ, 0, NULL, 0); + break; + case IFD_RESET: + tx = itmsg_alloc(ITMSG_TYPE_RESET_REQ, 0, NULL, 0); + break; + default: + r = IFD_NOT_SUPPORTED; + goto err; + } + + rx = ifd_xceive_client(ic, tx); + if (!rx) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + r = IFD_SUCCESS; + msgb_free(rx); + +err: + if (r != IFD_SUCCESS && AtrLength) + *AtrLength = 0; + else + r = IFDHGetCapabilities(Lun, TAG_IFD_ATR, AtrLength, Atr); + + LOG_EXIT(Lun, r); + return r; +} + +RESPONSECODE IFDHTransmitToICC(DWORD Lun, SCARD_IO_HEADER SendPci, PUCHAR TxBuffer, + DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength, + PSCARD_IO_HEADER RecvPci) +{ + RESPONSECODE r = IFD_COMMUNICATION_ERROR; + struct ifd_client *ic; + struct msgb *rx, *tx; + struct itmsg *rx_it; + + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + ic = ifd_client[LUN2SLOT(Lun)]; + if (!ic) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + tx = itmsg_alloc(ITMSG_TYPE_C_APDU_REQ, 0, TxBuffer, TxLength); + OSMO_ASSERT(tx); + /* transmit C-APDU to remote reader + blocking wait for response from peer */ + rx = ifd_xceive_client(ic, tx); + if (!rx) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + rx_it = (struct itmsg *) msgb_data(rx); + if (*RxLength > rx_it->len) + *RxLength = rx_it->len; + memcpy(RxBuffer, rx_it->data, *RxLength); + msgb_free(rx); + + r = IFD_SUCCESS; +err: + if (r != IFD_SUCCESS && RxLength) + *RxLength = 0; + + LOG_EXIT(Lun, r); + return r; +} + +RESPONSECODE IFDHICCPresence(DWORD Lun) +{ + RESPONSECODE r = IFD_COMMUNICATION_ERROR; + struct ifd_client *ic; + struct msgb *rx, *tx; + struct itmsg *rx_it; + + ensure_osmo_ctx(); + + if (LUN2RDR(Lun) != 0) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + if (LUN2SLOT(Lun) >= ARRAY_SIZE(ifd_client)) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + ic = ifd_client[LUN2SLOT(Lun)]; + if (!ic) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + + tx = itmsg_alloc(ITMSG_TYPE_CARD_PRES_REQ, 0, NULL, 0); + OSMO_ASSERT(tx); + rx = ifd_xceive_client(ic, tx); + if (!rx) { + r = IFD_NO_SUCH_DEVICE; + goto err; + } + rx_it = (struct itmsg *) msgb_data(rx); + if (rx_it->status == 0) + r = IFD_SUCCESS; + else + r = IFD_ICC_NOT_PRESENT; + +err: + LOG_EXIT(Lun, r); + return r; +} + +static __attribute__((constructor)) void on_dso_load_ifd(void) +{ + void *g_tall_ctx = NULL; + ensure_osmo_ctx(); + osmo_init_logging2(g_tall_ctx, &log_info); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib8707c6e0e46407ab39a693adfec2fa71892f6ee Gerrit-Change-Number: 17160 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:33 +0000 Subject: Change in osmo-remsim[master]: client: Fix 'make distcheck' bypassing pkg-config usbdropdir In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17357 ) Change subject: client: Fix 'make distcheck' bypassing pkg-config usbdropdir ...................................................................... client: Fix 'make distcheck' bypassing pkg-config usbdropdir For some strange reason, 'make distcheck' wants to do a 'make install' without using DESTDIR. In this case, asking pkg-config for the various directories as described in the libpcsclite.pc is of course not working. Change-Id: I87c68e8d14f8ddb6054178118ff1f96216483f5c --- M configure.ac 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 36c469d..26c330b 100644 --- a/configure.ac +++ b/configure.ac @@ -69,13 +69,17 @@ PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) - serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` - AC_SUBST(serialconfdir) - ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` + # we cannot use the below command, as 'make distcheck' would fail due to the lack + # of ${prefix} being involved :( + #ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` + #serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` + ifd_dropdir="${libdir}/pcsc" + serialconfdir="${sysconfdir}/reader.conf.d" # allow user to override the dropdir for the PCSC driver bundle AC_ARG_WITH(usbdropdir, [--with-usbdropdir PCSC bundle location], [usbdropdir="${withval}"], [usbdropdir="${ifd_dropdir}"]) AC_SUBST(usbdropdir) + AC_SUBST(serialconfdir) fi AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") AC_SUBST(BUILD_CLIENT) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87c68e8d14f8ddb6054178118ff1f96216483f5c Gerrit-Change-Number: 17357 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:27:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:34 +0000 Subject: Change in osmo-remsim[master]: doc: generalize the remsim-client part in the overview section In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17344 ) Change subject: doc: generalize the remsim-client part in the overview section ...................................................................... doc: generalize the remsim-client part in the overview section Change-Id: I56f7955b05395abe70bf6ad2f0d33843bc6f77b9 --- M doc/manuals/chapters/overview.adoc 1 file changed, 11 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 842a3c7..2798b2f 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -52,14 +52,21 @@ === osmo-remsim-client -The `osmo-remsim-client` software is co-located next to a cellular phone/modem. -It typically runs on an [embedded] computer next to the phone/modem. +The `osmo-remsim-client` software is co-located next to the _user of the card_ +which traditionally is a phone or modem. However, there are other flavors +of clients available, too. This is for example useful if existing software +wants to interface remote smart cards, rather than those physically inserted +into a local reader next to the PC running that application. + +In the classic phone / modem use case, osmo-remsim-client +typically runs on an [embedded] computer next to the phone/modem. The tasks of `osmo-remsim-client` include: -* interaction over USB with a device supported by the 'SIMtrace2 cardem' +* interaction with the user application. For phone/modem, that's + over USB with a device supported by the 'SIMtrace2 cardem' firmware, which provides the physical interface to the phone/modem SIM - interface + interface (ISO 7816-3). * establishing a TCP connection with the `osmo-remsim-server`, in order to enable the server to issue control commands * under control of `osmo-remsim-server`, establishing a TCP connection to a -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I56f7955b05395abe70bf6ad2f0d33843bc6f77b9 Gerrit-Change-Number: 17344 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 Wed Mar 4 15:27:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:34 +0000 Subject: Change in osmo-remsim[master]: doc: Add WARNINGs about lack of security in protocols In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17345 ) Change subject: doc: Add WARNINGs about lack of security in protocols ...................................................................... doc: Add WARNINGs about lack of security in protocols Change-Id: I72c0b797fda220b9efcc86bd08717585063db591 --- M doc/manuals/chapters/remsim-server.adoc M doc/manuals/chapters/rspro.adoc 2 files changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/remsim-server.adoc b/doc/manuals/chapters/remsim-server.adoc index e5c80c7..5215b54 100644 --- a/doc/manuals/chapters/remsim-server.adoc +++ b/doc/manuals/chapters/remsim-server.adoc @@ -26,6 +26,11 @@ The API currently has version 1, and the URL prefix is /api/backend/v1 +WARNING: The RESTful/JSON Web API operates in plain-text, +There is no authentication or encryption built into the protocol. It is +assumed that the protocol is only spoken over trusted, controlled IP +networks, such as inside a VPN or a closed / private corporate network. + ==== /api/backend/v1/clients *GET* obtains a JSON list where each element represents one currently diff --git a/doc/manuals/chapters/rspro.adoc b/doc/manuals/chapters/rspro.adoc index 1ce511e..ce39b9d 100644 --- a/doc/manuals/chapters/rspro.adoc +++ b/doc/manuals/chapters/rspro.adoc @@ -8,6 +8,11 @@ `osmo-remsim` source code) and uses BER (Basic Encoding Rules) on the transport level. +WARNING: RSPRO and its underlying transport layer both operate in plain-text, +There is no authentication or encryption built into the protocol. It is +assumed that the protocol is only spoken over trusted, controlled IP +networks, such as inside a VPN or a closed / private corporate network. + === Underlying Transport Layer RSPRO uses TCP as an underlying transport protocol. As TCP doesn't -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I72c0b797fda220b9efcc86bd08717585063db591 Gerrit-Change-Number: 17345 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 Wed Mar 4 15:27:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:34 +0000 Subject: Change in osmo-remsim[master]: doc: More cross-references; Expand overview slightly In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17346 ) Change subject: doc: More cross-references; Expand overview slightly ...................................................................... doc: More cross-references; Expand overview slightly Change-Id: Ic290627ec2512a2b59cb9d81704b9cec4d14ccf4 --- M doc/manuals/chapters/overview.adoc M doc/manuals/chapters/remsim-bankd.adoc M doc/manuals/chapters/remsim-client.adoc M doc/manuals/chapters/remsim-server.adoc M doc/manuals/chapters/rspro.adoc 5 files changed, 33 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 2798b2f..d39a4f6 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -50,6 +50,8 @@ `osmo-remsim-bankd` instances * providing a RESTful JSON interface for external application logic to +For more information, please see <>. + === osmo-remsim-client The `osmo-remsim-client` software is co-located next to the _user of the card_ @@ -77,6 +79,8 @@ multiple phones/modems at one location, you can simply run multiple instances of `osmo-remsim-client` on the same system, one for each phone/modem. +For more information, please see <>. + === osmo-remsim-bankd The `osmo-remsim-bankd` software is co-located next to a bank of SIM cards. @@ -90,4 +94,28 @@ * running a TCP server where TCP connections from `osmo-remsim-client` instances are accepted and handled. +For more information, please see <>. +=== RSPRO + +RSPRO is the *R*emote *S*IM *PRO*tocol. It is a binary protocol +specified in ASN.1 which is spoken on any of the internal connections +between `osmo-remsim-client`, `osmo-remsim-bankd` and +`osmo-remsim-server`. + +You can find more information about RSPRO in <>. + +=== RSRES + +RSRES is the *R*emote *S*IM *RES*T protocol. It is an interface offered +by `osmo-remsim-server` towards external back-end application logic of +the operator of an osmo-remsim network. + +You can find more information about RSRES in <>. + +=== Security + +WARNING: RSPRO, RSRES and their underlying transport layer both operate in plain-text, +There is no authentication or encryption built into the protocol. It is +assumed that the protocols are only spoken over trusted, controlled IP +networks, such as inside a VPN or a closed / private corporate network. diff --git a/doc/manuals/chapters/remsim-bankd.adoc b/doc/manuals/chapters/remsim-bankd.adoc index a3a1921..e76afd5 100644 --- a/doc/manuals/chapters/remsim-bankd.adoc +++ b/doc/manuals/chapters/remsim-bankd.adoc @@ -1,3 +1,4 @@ +[[remsim-bankd]] == osmo-remsim-bankd The `osmo-remsim-bankd` (SIM Bank Daemon) manages one given SIM bank. diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index e2c43d7..5e17ec0 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -1,3 +1,4 @@ +[[remism-client]] == osmo-remsim-client-st2 The client interfaces with GSM phones / modems via dedicated "Card diff --git a/doc/manuals/chapters/remsim-server.adoc b/doc/manuals/chapters/remsim-server.adoc index 5215b54..304a7f3 100644 --- a/doc/manuals/chapters/remsim-server.adoc +++ b/doc/manuals/chapters/remsim-server.adoc @@ -1,3 +1,4 @@ +[[remsim-server]] == osmo-remsim-server === Running @@ -18,6 +19,7 @@ verbosity is not yet configurable. However, as the libosmocore logging framework is used, extending this is an easy modification. +[[rsres]] === RESTful/JSON Web API `osmo-remsim-server` provides a RESTful/JSON WEB API for application logic diff --git a/doc/manuals/chapters/rspro.adoc b/doc/manuals/chapters/rspro.adoc index ce39b9d..059182b 100644 --- a/doc/manuals/chapters/rspro.adoc +++ b/doc/manuals/chapters/rspro.adoc @@ -1,3 +1,4 @@ +[[rspro]] == RSPRO *RSPRO*, the *Remote SIM Protocol*, is an osmo-remsim specific, -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ic290627ec2512a2b59cb9d81704b9cec4d14ccf4 Gerrit-Change-Number: 17346 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 Wed Mar 4 15:27:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:27:34 +0000 Subject: Change in osmo-remsim[master]: doc: Add documentation for remsim-apitool.py In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17347 ) Change subject: doc: Add documentation for remsim-apitool.py ...................................................................... doc: Add documentation for remsim-apitool.py Change-Id: I0e280cd4276e1aff7d6f694ac4affbca0336eba5 --- M doc/manuals/chapters/overview.adoc A doc/manuals/chapters/remsim-apitool.adoc M doc/manuals/osmo-remsim-usermanual.adoc 3 files changed, 95 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index d39a4f6..1e19d05 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -96,6 +96,14 @@ For more information, please see <>. +=== remsim-apitool.py + +The `remsim-apitool.py` utility is an optional tool that can be used to +manually interface with the RSRES interface of `osmo-remsim-server` in +absence of a back-end system managing this. + +For more information, please see <>. + === RSPRO RSPRO is the *R*emote *S*IM *PRO*tocol. It is a binary protocol diff --git a/doc/manuals/chapters/remsim-apitool.adoc b/doc/manuals/chapters/remsim-apitool.adoc new file mode 100644 index 0000000..3c4d858 --- /dev/null +++ b/doc/manuals/chapters/remsim-apitool.adoc @@ -0,0 +1,85 @@ +[[remsim-apitool]] +== remsim-apitool.py + +`remsim-apitool.py` is a small python script whic can be used to manually +control `osmo-remsim-server` via its RESTful interface in setups where +no external back-end application is controlling this interface. + +For more information about The RESTful inteface, see <>. + +=== Usage + +Common command line arguments that can be used with any of the commands below: + +*-H, --host HOST*:: + Specify the hostname / IP of the `osmo-remsim-server` to connect to. Default: localhost +*-P, --port PORT*:: + Specify the remote TCP port of the RSRES interface of `osmo-remsim-server`. Default: 9997 +*-v, --verbose* + Increase verbosity of output: Show the GET request generated, not just the response. + +==== Listing connected clients + +The command `remsim-apitool.py -c` can be used to list all currently connected clients. + +---- +$ remsim-apitool.py -c +/clients: {'clients': [{'peer': 'C23:0', 'state': 'CONNECTED_CLIENT', 'component_id': {'type_': 'remsimClient', 'name': 'nataraja', 'software': 'remsim-client', 'swVersion': '0.2.2.63-844b'}}]} +---- + +==== Listing connected bankds + +The command `remsim-apitool.py -b` can be used to list all currently connected bankds. + +---- +$ remsim-apitool.py -b +/banks: {'banks': [{'peer': 'B1', 'state': 'CONNECTED_BANKD', 'component_id': {'type_': 'remsimBankd', 'name': 'fixme-name', 'software': 'remsim-bankd', 'swVersion': '0.2.2.46-3598'}, 'bankId': 1, 'numberOfSlots': 5}]} +---- + +==== Listing installed slotmaps + +The command `remsim-apitool.py -s` can be used to list all currently installed slotmaps. + +---- +$ remsim-apitool.py -s +/slotmaps: {'slotmaps': [{'bank': {'bankId': 1, 'slotNr': 1}, 'client': {'clientId': 23, 'slotNr': 0}, 'state': 'ACTIVE'}]} +---- + +==== Listing all information + +The command `remsim-apitool.py -a` can be used to list all information (clients, bankds, slotmaps). + +---- +$ remsim-apitool.py -a +/clients: {'clients': [{'peer': 'C23:0', 'state': 'CONNECTED_CLIENT', 'component_id': {'type_': 'remsimClient', 'name': 'nataraja', 'software': 'remsim-client', 'swVersion': '0.2.2.63-844b'}}]} +/banks: {'banks': [{'peer': 'B1', 'state': 'CONNECTED_BANKD', 'component_id': {'type_': 'remsimBankd', 'name': 'fixme-name', 'software': 'remsim-bankd', 'swVersion': '0.2.2.46-3598'}, 'bankId': 1, 'numberOfSlots': 5}]} +/slotmaps: {'slotmaps': [{'bank': {'bankId': 1, 'slotNr': 1}, 'client': {'clientId': 23, 'slotNr': 0}, 'state': 'ACTIVE'}]} +---- + +==== Creating a slotmap + +The command `remsim-apitool.py -m bank_id bankd_slot client_id client_slot` can be used to create a new slotmap. + +.Create a slotmap between Bankd 1 Slot a (B1:1) and Client 23 Slot 0 (C23:0) +---- +$ remsim-apitool.py -m 1 1 23 0 +---- + +==== Deleting a slotmap + +The command `remsim-apitool.py -d bank_id bank_slot` can be used to create a new slotmap. + +.Remove a slotmap for Bankd 1 Slot a (B1:1) +---- +$ remsim-apitool.py -m 1 1 +---- + +==== Reset all state + +The command `remsim-apitool.py -r` can be used to reset all state in bankd, including all slotmaps. + +---- +$ remsim-apitool.py -r +---- + +WARNING: Use with extreme caution, particularly in production environments. diff --git a/doc/manuals/osmo-remsim-usermanual.adoc b/doc/manuals/osmo-remsim-usermanual.adoc index 854271a..1679db2 100644 --- a/doc/manuals/osmo-remsim-usermanual.adoc +++ b/doc/manuals/osmo-remsim-usermanual.adoc @@ -10,6 +10,8 @@ include::{srcdir}/chapters/remsim-server.adoc[] +include::{srcdir}/chapters/remsim-apitool.adoc[] + include::{srcdir}/chapters/remsim-client.adoc[] include::{srcdir}/chapters/remsim-bankd.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0e280cd4276e1aff7d6f694ac4affbca0336eba5 Gerrit-Change-Number: 17347 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 Wed Mar 4 15:28:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:28:02 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Migrate to ipa_client_conn_create2() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17335 ) Change subject: rspro_client_fsm: Migrate to ipa_client_conn_create2() ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0057c5b6a79e7226e87983c14eb2b0ed2af2a131 Gerrit-Change-Number: 17335 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Mar 2020 15:28:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:28:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:28:20 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Add optional notifiation of parent on connect/disco... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17336 ) Change subject: rspro_client_fsm: Add optional notifiation of parent on connect/disconnect ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifddb8e0b5c991e5348392c9e44612669ce207bc4 Gerrit-Change-Number: 17336 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15: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 Wed Mar 4 15:28:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:28:26 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Migrate to ipa_client_conn_create2() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17335 ) Change subject: rspro_client_fsm: Migrate to ipa_client_conn_create2() ...................................................................... rspro_client_fsm: Migrate to ipa_client_conn_create2() libosmo-abis 0.8.0 has deprecated ipa_client_conn_create() and this follow-up patch avoids the related deprecation compiler warnings. Change-Id: I0057c5b6a79e7226e87983c14eb2b0ed2af2a131 --- M configure.ac M src/rspro_client_fsm.c 2 files changed, 2 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/configure.ac b/configure.ac index 26c330b..0c1f595 100644 --- a/configure.ac +++ b/configure.ac @@ -37,7 +37,7 @@ PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 1.3.0) PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 0.11.0) -PKG_CHECK_MODULES(OSMOABIS, libosmoabis) +PKG_CHECK_MODULES(OSMOABIS, libosmoabis >= 0.8.0) AC_ARG_ENABLE([remsim-server],[AS_HELP_STRING([--disable-remsim-server], [Build osmo-remsim-server])], [osmo_ac_build_server="$enableval"],[osmo_ac_build_server="yes"]) diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index b006809..2c1c029 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -289,7 +289,7 @@ } LOGPFSML(fi, LOGL_INFO, "Creating TCP connection to server at %s:%u\n", srvc->server_host, srvc->server_port); - srvc->conn = ipa_client_conn_create(fi, NULL, 0, srvc->server_host, srvc->server_port, + srvc->conn = ipa_client_conn_create2(fi, NULL, 0, NULL, 0, srvc->server_host, srvc->server_port, srvc_updown_cb, srvc_read_cb, NULL, srvc); if (!srvc->conn) { LOGPFSML(fi, LOGL_FATAL, "Unable to create socket: %s\n", strerror(errno)); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0057c5b6a79e7226e87983c14eb2b0ed2af2a131 Gerrit-Change-Number: 17335 Gerrit-PatchSet: 6 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 Mar 4 15:28:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:28:26 +0000 Subject: Change in osmo-remsim[master]: rspro_client_fsm: Add optional notifiation of parent on connect/disco... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17336 ) Change subject: rspro_client_fsm: Add optional notifiation of parent on connect/disconnect ...................................................................... rspro_client_fsm: Add optional notifiation of parent on connect/disconnect This will be useful once we introduce a 'main' client FSM that is a parent to the rspro_client_fsms. Change-Id: Ifddb8e0b5c991e5348392c9e44612669ce207bc4 --- M src/rspro_client_fsm.c M src/rspro_client_fsm.h 2 files changed, 22 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index 2c1c029..e55892c 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -244,6 +244,14 @@ } } +static void srvc_st_connected_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct rspro_server_conn *srvc = (struct rspro_server_conn *) fi->priv; + + if (fi->proc.parent) + osmo_fsm_inst_dispatch(fi->proc.parent, srvc->parent_conn_evt, NULL); +} + static void srvc_st_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct rspro_server_conn *srvc = (struct rspro_server_conn *) fi->priv; @@ -263,6 +271,14 @@ } } +static void srvc_st_connected_onleave(struct osmo_fsm_inst *fi, uint32_t next_state) +{ + struct rspro_server_conn *srvc = (struct rspro_server_conn *) fi->priv; + + if (fi->proc.parent) + osmo_fsm_inst_dispatch(fi->proc.parent, srvc->parent_disc_evt, NULL); +} + static int ipa_kaepalive_timeout_cb(struct osmo_fsm_inst *ka_fi, void *conn) { struct osmo_fsm_inst *fi = ka_fi->proc.parent; @@ -396,6 +412,8 @@ .in_event_mask = S(SRVC_E_TCP_DOWN) | S(SRVC_E_KA_TIMEOUT) | S(SRVC_E_RSPRO_TX), .out_state_mask = S(SRVC_ST_REESTABLISH) | S(SRVC_ST_INIT), .action = srvc_st_connected, + .onenter = srvc_st_connected_onenter, + .onleave = srvc_st_connected_onleave, }, [SRVC_ST_REESTABLISH] = { .name = "REESTABLISH", diff --git a/src/rspro_client_fsm.h b/src/rspro_client_fsm.h index c1ae764..029fcd9 100644 --- a/src/rspro_client_fsm.h +++ b/src/rspro_client_fsm.h @@ -41,6 +41,10 @@ char *server_host; uint16_t server_port; + /* FSM events we are to sent to the parent FSM on connect / disconnect */ + uint32_t parent_conn_evt; + uint32_t parent_disc_evt; + /* only in case we are representing a bankd client */ struct { uint16_t bank_id; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifddb8e0b5c991e5348392c9e44612669ce207bc4 Gerrit-Change-Number: 17336 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:28:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:28:49 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: FACCH/H: force fake measurements for 1/2 BFI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17348 ) Change subject: trxcon/scheduler: FACCH/H: force fake measurements for 1/2 BFI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f Gerrit-Change-Number: 17348 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:28: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 Mar 4 15:28:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 15:28:53 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce iperf4 downlink test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 ) Change subject: suites/4g: Introduce iperf4 downlink test ...................................................................... suites/4g: Introduce iperf4 downlink test Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c --- A suites/4g/iperf3_dl.py R suites/4g/iperf3_ul.py 2 files changed, 48 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/58/17358/1 diff --git a/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py new file mode 100755 index 0000000..fd77cd3 --- /dev/null +++ b/suites/4g/iperf3_dl.py @@ -0,0 +1,48 @@ +#!/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 = 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(True, ue.netns(), time_sec=60) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +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()) + +max_rate = enb.ue_max_rate(downlink=True) +res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='dl_brate', criterion='gt') +print(res_str + '\n') diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3_ul.py similarity index 100% rename from suites/4g/iperf3.py rename to suites/4g/iperf3_ul.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c Gerrit-Change-Number: 17358 Gerrit-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 Mar 4 15:28:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Mar 2020 15:28:53 +0000 Subject: Change in osmo-gsm-tester[master]: Allow overwriting test's report stdout text from inside test code References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 ) Change subject: Allow overwriting test's report stdout text from inside test code ...................................................................... Allow overwriting test's report stdout text from inside test code Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049 --- M src/osmo_gsm_tester/report.py M src/osmo_gsm_tester/test.py M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 4 files changed, 20 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/59/17359/1 diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 8718d0e..5d23c38 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -86,12 +86,7 @@ error = et.SubElement(testcase, 'error') error.text = 'could not run' sout = et.SubElement(testcase, 'system-out') - log_file = t.log_file_path() - if log_file is not None: - with open(log_file, 'r') as myfile: - sout.text = escape_xml_invalid_characters(myfile.read()) - else: - sout.text = 'test log file not available' + sout.text = escape_xml_invalid_characters(t.report_stdout()) return testcase def trial_to_text(trial): diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 66e8656..be6e8da 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -43,6 +43,7 @@ self.fail_type = None self.fail_message = None self.log_target = None + self._report_stdout = None def get_run_dir(self): if self._run_dir is None: @@ -118,9 +119,19 @@ self.status = Test.SKIP self.duration = 0 - def log_file_path(self): - if self.log_target is None: - return None - return self.log_target.log_file_path() + def set_report_stdout(self, text): + 'Overwrite stdout text stored in report from inside a test' + self._report_stdout = text + + def report_stdout(self): + # If test overwrote the text, provide it: + if self._report_stdout is not None: + return self._report_stdout + # Otherwise vy default provide the entire test log: + if self.log_target is not None and self.log_target.log_file_path() is not None: + with open(self.log_target.log_file_path(), 'r') as myfile: + return myfile.read() + else: + return 'test log file not available' # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py index fd77cd3..c98251b 100755 --- a/suites/4g/iperf3_dl.py +++ b/suites/4g/iperf3_dl.py @@ -45,4 +45,5 @@ max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='dl_brate', criterion='gt') -print(res_str + '\n') +print(res_str) +test.set_report_stdout(res_str) diff --git a/suites/4g/iperf3_ul.py b/suites/4g/iperf3_ul.py index 20489b5..fe963a9 100755 --- a/suites/4g/iperf3_ul.py +++ b/suites/4g/iperf3_ul.py @@ -45,4 +45,5 @@ max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='ul_brate', criterion='gt') -print(res_str + '\n') +print(res_str) +test.set_report_stdout(res_str) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049 Gerrit-Change-Number: 17359 Gerrit-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 Mar 4 15:29:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:29:05 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17349 ) Change subject: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 Gerrit-Change-Number: 17349 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:29:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:31:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn 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/+/17349 to look at the new patch set (#2). Change subject: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn ...................................................................... trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 --- M src/host/trxcon/sched_clck.c M src/host/trxcon/sched_trx.c M src/host/trxcon/scheduler.h 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/49/17349/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 Gerrit-Change-Number: 17349 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 Mar 4 15:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:31:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink 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/+/17352 to look at the new patch set (#2). Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... trxcon/scheduler: substitute lost TDMA frames on Downlink Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 --- M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 2 files changed, 100 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/52/17352/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 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 Mar 4 15:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:31:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: constify Downlink burst bits where possible 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/+/17353 to look at the new patch set (#2). Change subject: trxcon/scheduler: constify Downlink burst bits where possible ...................................................................... trxcon/scheduler: constify Downlink burst bits where possible Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_sch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 8 files changed, 12 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/53/17353/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a Gerrit-Change-Number: 17353 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 Mar 4 15:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:31:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst 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/+/17354 to look at the new patch set (#2). Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... trxcon/scheduler: align Downlink reception to the first burst Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Related: OS#3554 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_xcch.c 3 files changed, 18 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/17354/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 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 Mar 4 15:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:31:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/F: fix Downlink burst completeness check 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/+/17355 to look at the new patch set (#2). Change subject: trxcon/scheduler: TCH/F: fix Downlink burst completeness check ...................................................................... trxcon/scheduler: TCH/F: fix Downlink burst completeness check A TCH/F or FACCH/F frame is interleaved over 8 bursts, not 4. Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 --- M src/host/trxcon/sched_lchan_tchf.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/55/17355/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 Gerrit-Change-Number: 17355 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 Mar 4 15:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Mar 2020 15:31:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts 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/+/17356 to look at the new patch set (#2). Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... trxcon/scheduler: do not abort on incomplete set of bursts Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c 2 files changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/56/17356/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 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 Mar 4 15:32:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:32:04 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce iperf4 downlink test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 ) Change subject: suites/4g: Introduce iperf4 downlink test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c Gerrit-Change-Number: 17358 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:32:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:32:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:32:32 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Introduce metrics verification procedures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 ) Change subject: srsue: Introduce metrics verification procedures ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508 Gerrit-Change-Number: 17323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:32: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 Mar 4 15:32:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:32:52 +0000 Subject: Change in osmo-gsm-tester[master]: Allow overwriting test's report stdout text from inside test code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 ) Change subject: Allow overwriting test's report stdout text from inside test code ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049 Gerrit-Change-Number: 17359 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:32: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 Mar 4 15:42:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:42:29 +0000 Subject: Change in osmo-remsim[master]: fix debian build after introducing hack around usbdropdir References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17360 ) Change subject: fix debian build after introducing hack around usbdropdir ...................................................................... fix debian build after introducing hack around usbdropdir In Change-Id I87c68e8d14f8ddb6054178118ff1f96216483f5c we introduced a hack to fix 'make distcheck' which in turn broke debian packaging. Let's make sure the latter works while the formar also still does. Change-Id: I16f7d0e8b7f63ed58dd4939c88e5276185bc3178 --- M debian/rules 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/60/17360/1 diff --git a/debian/rules b/debian/rules index a36fe36..2714cc0 100755 --- a/debian/rules +++ b/debian/rules @@ -4,6 +4,8 @@ DEBVERS := $(shell echo '$(DEBIAN)' | cut -d- -f1) VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g') +USBDROPDIR := $(shell pkg-config --variable=usbdropdir libpcsclite) + #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all @@ -12,7 +14,9 @@ dh $@ --with=systemd --with autoreconf --fail-missing override_dh_auto_configure: - dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals + dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system \ + --with-usbdropdir=$(USBDROPDIR) \ + --enable-manuals #override_dh_clean: # dh_clean -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I16f7d0e8b7f63ed58dd4939c88e5276185bc3178 Gerrit-Change-Number: 17360 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 Mar 4 15:42:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:42:36 +0000 Subject: Change in osmo-remsim[master]: client: major restructuring around new main_fsm References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17361 ) Change subject: client: major restructuring around new main_fsm ...................................................................... client: major restructuring around new main_fsm The remsim_client code already used FSMs for the connections to both remsim-server and remsim-bankd. However the 'main' part of the program was not yet implemented as a FSM, making it somewhat difficult to perform the right actions in every possible situation. This commit re-structures the code around a central main_fsm, which gets notified from the per-connection FSMs and which handles the common processing. It also handles the execution of external script commands, and hence further unifies the code base between the different backends (simtrace2, ifd_handler, shell) Closes: #4414 Change-Id: I44a430bc5674dea00ed72a0b28729ac8bcb4e022 --- M src/client/Makefile.am M src/client/client.h A src/client/main_fsm.c M src/client/remsim_client.c M src/client/remsim_client_main.c D src/client/simtrace2-remsim_client.c M src/client/user_ifdhandler.c M src/client/user_shell.c A src/client/user_simtrace2.c M src/rspro_client_fsm.c 10 files changed, 1,119 insertions(+), 1,392 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/61/17361/1 diff --git a/src/client/Makefile.am b/src/client/Makefile.am index f37126a..43b030f 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -7,7 +7,7 @@ bin_PROGRAMS = osmo-remsim-client-st2 osmo-remsim-client-shell osmo_remsim_client_shell_SOURCES = user_shell.c remsim_client_main.c \ - remsim_client.c ../rspro_client_fsm.c ../debug.c + remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c osmo_remsim_client_shell_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_shell_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la @@ -19,15 +19,16 @@ bundlelinuxdir=$(bundledir)/Linux bundlelinux_LTLIBRARIES = libifd_remsim_client.la libifd_remsim_client_la_SOURCES = user_ifdhandler.c \ - remsim_client.c ../rspro_client_fsm.c ../debug.c + remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c libifd_remsim_client_la_CFLAGS = $(AM_CFLAGS) libifd_remsim_client_la_CPPFLAGS = $(PCSC_CFLAGS) libifd_remsim_client_la_LDFLAGS = -no-undefined libifd_remsim_client_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la -osmo_remsim_client_st2_SOURCES = simtrace2-remsim_client.c \ - ../rspro_client_fsm.c ../debug.c +osmo_remsim_client_st2_SOURCES = user_simtrace2.c remsim_client_main.c \ + remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c +osmo_remsim_client_st2_CPPFLAGS = -DUSB_SUPPORT osmo_remsim_client_st2_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_st2_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ diff --git a/src/client/client.h b/src/client/client.h index 0761255..b828882 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -10,9 +10,49 @@ #include "slotmap.h" #include "debug.h" +/*********************************************************************** + * frontend interface + ***********************************************************************/ + +struct bankd_client; + +struct frontend_phys_status { + struct { + /* all members can be 0 (inactive), 1 (active) or -1 (not supported/known) */ + int reset_active; + int vcc_present; + int clk_active; + int card_present; + } flags; + uint16_t voltage_mv; + uint8_t fi; + uint8_t di; + uint8_t wi; + uint8_t waiting_time; +}; + +struct frontend_pts { + const uint8_t *buf; + size_t len; +}; + +struct frontend_tpdu { + const uint8_t *buf; + size_t len; +}; + +/* API from generic core to frontend (modem/cardem) */ +int frontend_request_card_insert(struct bankd_client *bc); +int frontend_request_sim_remote(struct bankd_client *bc); +int frontend_request_modem_reset(struct bankd_client *bc); +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); + /* main.c */ -struct cardem_inst; +struct osmo_st2_cardem_inst; #define ATR_SIZE_MAX 55 struct client_config { @@ -48,6 +88,8 @@ struct rspro_server_conn srv_conn; /* connection to the remsim-bankd (data) */ struct rspro_server_conn bankd_conn; + /* CLIENT_MAIN fsm */ + struct osmo_fsm_inst *main_fi; /* remote component ID */ struct app_comp_id peer_comp_id; @@ -55,17 +97,43 @@ struct bank_slot bankd_slot; struct client_config *cfg; - struct cardem_inst *cardem; + struct osmo_st2_cardem_inst *cardem; + struct frontend_phys_status last_status; void *data; }; #define srvc2bankd_client(srvc) container_of(srvc, struct bankd_client, srv_conn) #define bankdc2bankd_client(bdc) container_of(bdc, struct bankd_client, bankd_conn) -struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software); +struct client_config *client_config_init(void *ctx); +struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software, + struct client_config *cfg); void remsim_client_set_clslot(struct bankd_client *bc, int client_id, int slot_nr); - -extern int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu); - extern int client_user_main(struct bankd_client *g_client); + + +/*********************************************************************** + * main FSM + ***********************************************************************/ + +enum main_fsm_event { + MF_E_SRVC_CONNECTED, /* connection to server established (TCP + RSPRO level) */ + MF_E_SRVC_LOST, /* connection to server was lost */ + MF_E_SRVC_CONFIG_BANK, /* server instructs us to connect to bankd/slot */ + MF_E_SRVC_RESET_REQ, /* RsproPDUchoice_PR_ResetStateReq */ + + MF_E_BANKD_CONNECTED, /* connection to bankd established (TCP + RSPRO level) */ + MF_E_BANKD_LOST, /* connection to bankd was lost */ + MF_E_BANKD_TPDU, /* RsproPDUchoice_PR_tpduCardToModem */ + MF_E_BANKD_ATR, /* RsproPDUchoice_PR_setAtrReq */ + MF_E_BANKD_SLOT_STATUS, /* bankSlotStatusInd */ + + MF_E_MDM_STATUS_IND, /* status from modem/cardem */ + MF_E_MDM_PTS_IND, /* PTS indication from modem/cardem */ + MF_E_MDM_TPDU, /* TPDU from modem/cardem */ +}; +struct osmo_fsm_inst *main_fsm_alloc(void *ctx, struct bankd_client *bc); + + + diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c new file mode 100644 index 0000000..b94af26 --- /dev/null +++ b/src/client/main_fsm.c @@ -0,0 +1,377 @@ +/* (C) 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "rspro_util.h" +#include "client.h" +#include "debug.h" + +#define S(x) (1 << (x)) + +/***********************************************************************/ + +/* build the (additional) environment for executing a script */ +static char **build_script_env(struct bankd_client *bc, const char *cause) +{ + char **env = talloc_zero_size(bc, 256*sizeof(char *)); + int rc, i = 0; + + if (!env) + return NULL; + + env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_VERSION=%s", VERSION); + + env[i++] = talloc_asprintf(env, "REMSIM_SERVER_ADDR=%s:%u", + bc->srv_conn.server_host, bc->srv_conn.server_port); + env[i++] = talloc_asprintf(env, "REMSIM_SERVER_STATE=%s", + osmo_fsm_inst_state_name(bc->srv_conn.fi)); + + env[i++] = talloc_asprintf(env, "REMSIM_BANKD_ADDR=%s:%u", + bc->bankd_conn.server_host, bc->bankd_conn.server_port); + env[i++] = talloc_asprintf(env, "REMSIM_BANKD_STATE=%s", + osmo_fsm_inst_state_name(bc->bankd_conn.fi)); + + + if (bc->srv_conn.clslot) { + env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_SLOT=%lu:%lu", + bc->srv_conn.clslot->clientId, + bc->srv_conn.clslot->slotNr); + } + env[i++] = talloc_asprintf(env, "REMSIM_BANKD_SLOT=%u:%u", + bc->bankd_slot.bank_id, bc->bankd_slot.slot_nr); + + env[i++] = talloc_asprintf(env, "REMSIM_SIM_VCC=%u", bc->last_status.flags.vcc_present); + env[i++] = talloc_asprintf(env, "REMSIM_SIM_RST=%u", bc->last_status.flags.reset_active); + /* TODO: SIM card state CLK */ + + 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); + if (rc > 0) + i += rc; + + /* terminate last entry */ + env[i++] = NULL; + return env; +} + +static int call_script(struct bankd_client *bc, const char *cause) +{ + char **env, *cmd; + int rc; + + if (!bc->cfg->event_script) + return 0; + + env = build_script_env(bc, cause); + if (!env) + return -ENOMEM; + + cmd = talloc_asprintf(env, "%s %s", bc->cfg->event_script, cause); + if (!cmd) { + talloc_free(env); + return -ENOMEM; + } + + rc = osmo_system_nowait(cmd, osmo_environment_whitelist, env); + talloc_free(env); + + return rc; +} + + +/***********************************************************************/ + + +enum main_fsm_state { + MF_ST_INIT, + MF_ST_UNCONFIGURED, /* waiting for configuration from server */ + MF_ST_WAIT_BANKD, /* configured; waiting for bankd conn */ + MF_ST_OPERATIONAL, /* fully operational (configured + bankd conn live */ +}; + +static const struct value_string main_fsm_event_names[] = { + OSMO_VALUE_STRING(MF_E_SRVC_CONNECTED), + OSMO_VALUE_STRING(MF_E_SRVC_LOST), + OSMO_VALUE_STRING(MF_E_SRVC_CONFIG_BANK), + OSMO_VALUE_STRING(MF_E_SRVC_RESET_REQ), + OSMO_VALUE_STRING(MF_E_BANKD_CONNECTED), + OSMO_VALUE_STRING(MF_E_BANKD_LOST), + OSMO_VALUE_STRING(MF_E_BANKD_TPDU), + OSMO_VALUE_STRING(MF_E_BANKD_ATR), + OSMO_VALUE_STRING(MF_E_BANKD_SLOT_STATUS), + OSMO_VALUE_STRING(MF_E_MDM_STATUS_IND), + OSMO_VALUE_STRING(MF_E_MDM_PTS_IND), + OSMO_VALUE_STRING(MF_E_MDM_TPDU), + { 0, NULL } +}; + +static void main_st_operational(struct osmo_fsm_inst *fi, uint32_t event, void *data); + +static void main_st_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + + switch (event) { + case MF_E_SRVC_CONNECTED: + osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); + call_script(bc, "event-server-connect"); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_st_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + /* we might be called from a 'higher' state such as operational; clean up */ + osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_DISCONNECT, NULL); +} + +static void main_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case MF_E_SRVC_CONFIG_BANK: + /* same treatment as below */ + main_st_operational(fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_st_wait_bankd(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + + switch (event) { + case MF_E_SRVC_CONFIG_BANK: + /* same treatment as below */ + main_st_operational(fi, event, data); + break; + case MF_E_BANKD_CONNECTED: + osmo_fsm_inst_state_chg(fi, MF_ST_OPERATIONAL, 0, 0); + call_script(bc, "event-bankd-connect"); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_st_operational_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + + /* Simulate card-insert to modem */ + frontend_request_card_insert(bc); + call_script(bc, "request-card-insert"); + + /* Select remote (forwarded) SIM */ + frontend_request_sim_remote(bc); + call_script(bc, "request-sim-remote"); + + /* Set the ATR */ + frontend_handle_set_atr(bc, bc->cfg->atr.data, bc->cfg->atr.len); + + /* Reset the modem */ + frontend_request_modem_reset(bc); + call_script(bc, "request-modem-reset"); +} + +static void main_st_operational(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + struct frontend_phys_status *pstatus = NULL; + struct frontend_pts *pts = NULL; + struct frontend_tpdu *tpdu = NULL; + RsproPDU_t *pdu_rx = NULL; + RsproPDU_t *resp; + BankSlot_t bslot; + + switch (event) { + case MF_E_BANKD_LOST: + osmo_fsm_inst_state_chg(fi, MF_ST_WAIT_BANKD, 0, 0); + break; + case MF_E_SRVC_CONFIG_BANK: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_configClientBankReq); + /* store/set the bankd ip/port as instructed by the server */ + osmo_talloc_replace_string(bc, &bc->bankd_conn.server_host, + rspro_IpAddr2str(&pdu_rx->msg.choice.configClientBankReq.bankd.ip)); + bc->bankd_conn.server_port = pdu_rx->msg.choice.configClientBankReq.bankd.port; + rspro2bank_slot(&bc->bankd_slot, &pdu_rx->msg.choice.configClientBankReq.bankSlot); + /* bankd port 0 is a magic value to indicate "no bankd" */ + if (bc->bankd_conn.server_port == 0) + osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); + else { + osmo_fsm_inst_state_chg(fi, MF_ST_WAIT_BANKD, 0, 0); + /* TODO: do we need to disconnect before? */ + osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_ESTABLISH, NULL); + } + /* send response to server */ + resp = rspro_gen_ConfigClientBankRes(ResultCode_ok); + server_conn_send_rspro(&bc->srv_conn, resp); + call_script(bc, "event-config-bankd"); + break; + case MF_E_BANKD_TPDU: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_tpduCardToModem); + /* forward to modem/cardem (via API) */ + frontend_handle_card2modem(bc, pdu_rx->msg.choice.tpduCardToModem.data.buf, + pdu_rx->msg.choice.tpduCardToModem.data.size); + /* response happens indirectly via tpduModemToCard */ + break; + case MF_E_BANKD_ATR: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_setAtrReq); + /* forward to modem/cardem (via API) */ + frontend_handle_set_atr(bc, pdu_rx->msg.choice.setAtrReq.atr.buf, + pdu_rx->msg.choice.setAtrReq.atr.size); + /* send response to bankd */ + resp = rspro_gen_SetAtrRes(ResultCode_ok); + server_conn_send_rspro(&bc->bankd_conn, resp); + break; + case MF_E_BANKD_SLOT_STATUS: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_bankSlotStatusInd); + /* forward to modem/cardem (via API) */ + frontend_handle_slot_status(bc, &pdu_rx->msg.choice.bankSlotStatusInd.slotPhysStatus); + break; + case MF_E_MDM_STATUS_IND: + pstatus = data; + OSMO_ASSERT(pstatus); + /* forward to bankd */ + bank_slot2rspro(&bslot, &bc->bankd_slot); + resp = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, + pstatus->flags.reset_active, + pstatus->flags.vcc_present, + pstatus->flags.clk_active, + pstatus->flags.card_present); + server_conn_send_rspro(&bc->bankd_conn, resp); + if (!memcmp(&bc->last_status.flags, &pstatus->flags, sizeof(pstatus->flags))) + call_script(bc, "event-modem-status"); + bc->last_status = *pstatus; + break; + case MF_E_MDM_PTS_IND: + pts = data; + OSMO_ASSERT(pts); + /* forward to bankd? */ + break; + case MF_E_MDM_TPDU: + tpdu = data; + OSMO_ASSERT(tpdu); + /* forward to bankd */ + bank_slot2rspro(&bslot, &bc->bankd_slot); + resp = rspro_gen_TpduModem2Card(bc->srv_conn.clslot, &bslot, tpdu->buf, tpdu->len); + server_conn_send_rspro(&bc->bankd_conn, resp); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case MF_E_SRVC_LOST: + /* should we do anything? The SRVC fsm will take care of reconnect, and we + * can continue to talk to the bankd without any trouble... */ + break; + case MF_E_SRVC_RESET_REQ: + osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + + +static const struct osmo_fsm_state main_fsm_states[] = { + [MF_ST_INIT] = { + .name = "INIT", + .in_event_mask = S(MF_E_SRVC_CONNECTED), + .out_state_mask = S(MF_ST_UNCONFIGURED), + .action = main_st_init, + }, + [MF_ST_UNCONFIGURED] = { + .name = "UNCONFIGURED", + .in_event_mask = S(MF_E_SRVC_CONFIG_BANK), + .out_state_mask = S(MF_ST_INIT) | S(MF_ST_WAIT_BANKD), + .action = main_st_unconfigured, + .onenter = main_st_unconfigured_onenter, + }, + [MF_ST_WAIT_BANKD] = { + .name = "WAIT_BANKD", + .in_event_mask = S(MF_E_SRVC_CONFIG_BANK) | S(MF_E_BANKD_CONNECTED), + .out_state_mask = S(MF_ST_INIT) | S(MF_ST_UNCONFIGURED) | S(MF_ST_OPERATIONAL), + .action = main_st_wait_bankd, + }, + [MF_ST_OPERATIONAL] = { + .name = "OPERATIONAL", + .in_event_mask = S(MF_E_SRVC_CONFIG_BANK) | + S(MF_E_BANKD_LOST) | + S(MF_E_BANKD_TPDU) | + S(MF_E_BANKD_ATR) | + S(MF_E_BANKD_SLOT_STATUS) | + S(MF_E_MDM_STATUS_IND) | + S(MF_E_MDM_PTS_IND) | + S(MF_E_MDM_TPDU), + .out_state_mask = S(MF_ST_INIT) | S(MF_ST_UNCONFIGURED) | S(MF_ST_WAIT_BANKD), + .action = main_st_operational, + .onenter = main_st_operational_onenter, + }, +}; + +static struct osmo_fsm client_main_fsm = { + .name = "CLIENT_MAIN", + .states = main_fsm_states, + .num_states = ARRAY_SIZE(main_fsm_states), + .allstate_event_mask = S(MF_E_SRVC_LOST) | S(MF_E_SRVC_RESET_REQ), + .allstate_action = main_allstate_action, + .log_subsys = DMAIN, + .event_names = main_fsm_event_names, +}; + +struct osmo_fsm_inst *main_fsm_alloc(void *ctx, struct bankd_client *bc) +{ + return osmo_fsm_inst_alloc(&client_main_fsm, ctx, bc, LOGL_DEBUG, "main"); +} + +static __attribute((constructor)) void on_dso_load_main_fsm(void) +{ + OSMO_ASSERT(osmo_fsm_register(&client_main_fsm) == 0); +} diff --git a/src/client/remsim_client.c b/src/client/remsim_client.c index dd78c8e..182894f 100644 --- a/src/client/remsim_client.c +++ b/src/client/remsim_client.c @@ -20,6 +20,10 @@ * */ +/* This file contains code shared among all remsim client applications, + * including the ifd-handler, which is not an executable program with a main() + * function or command line parsing, but a shared library */ + #include #include @@ -33,8 +37,38 @@ #include "client.h" #include "debug.h" +struct client_config *client_config_init(void *ctx) +{ + struct client_config *cfg = talloc_zero(ctx, struct client_config); + if (!cfg) + return NULL; + + cfg->server_host = talloc_strdup(cfg, "127.0.0.1"); + cfg->server_port = 9998; + cfg->client_id = -1; + cfg->client_slot = -1; + cfg->gsmtap_host = talloc_strdup(cfg, "127.0.0.1"); + cfg->keep_running = false; + + cfg->usb.vendor_id = -1; + cfg->usb.product_id = -1; + cfg->usb.config_id = -1; + cfg->usb.if_num = -1; + cfg->usb.altsetting = 0; + cfg->usb.addr = -1; + cfg->usb.path = NULL; + + cfg->atr.data[0] = 0x3B; + cfg->atr.data[1] = 0x00; // the shortest simplest ATR possible + cfg->atr.len = 2; + + return cfg; +}; + static int bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) { + struct bankd_client *bc = bankdc2bankd_client(bankdc); + switch (pdu->msg.present) { case RsproPDUchoice_PR_connectClientRes: /* Store 'identity' of bankd to in peer_comp_id */ @@ -42,8 +76,11 @@ osmo_fsm_inst_dispatch(bankdc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); break; case RsproPDUchoice_PR_tpduCardToModem: + return osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_TPDU, (void *) pdu); case RsproPDUchoice_PR_setAtrReq: - return client_user_bankd_handle_rx(bankdc, pdu); + return osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_ATR, (void *) pdu); + case RsproPDUchoice_PR_bankSlotStatusInd: + return osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_SLOT_STATUS, (void *) pdu); default: LOGPFSML(bankdc->fi, LOGL_ERROR, "Unknown/Unsupported RSPRO PDU %s\n", rspro_msgt_name(pdu)); @@ -78,19 +115,7 @@ server_conn_send_rspro(srvc, resp); break; case RsproPDUchoice_PR_configClientBankReq: - /* store/set the bankd ip/port as instructed by the server */ - osmo_talloc_replace_string(bc, &bc->bankd_conn.server_host, - rspro_IpAddr2str(&pdu->msg.choice.configClientBankReq.bankd.ip)); - rspro2bank_slot(&bc->bankd_slot, &pdu->msg.choice.configClientBankReq.bankSlot); - bc->bankd_conn.server_port = pdu->msg.choice.configClientBankReq.bankd.port; - /* bankd port 0 is a magic value to indicate "no bankd" */ - if (bc->bankd_conn.server_port == 0) - osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_DISCONNECT, NULL); - else - osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_ESTABLISH, NULL); - /* send response to server */ - resp = rspro_gen_ConfigClientBankRes(ResultCode_ok); - server_conn_send_rspro(srvc, resp); + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_SRVC_CONFIG_BANK, (void *) pdu); break; default: LOGPFSML(srvc->fi, LOGL_ERROR, "Unknown/Unsupported RSPRO PDU type: %s\n", @@ -101,7 +126,8 @@ return 0; } -struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software) +struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software, + struct client_config *cfg) { struct bankd_client *bc = talloc_zero(ctx, struct bankd_client); struct rspro_server_conn *srvc, *bankdc; @@ -110,10 +136,20 @@ if (!bc) return NULL; + bc->cfg = cfg; + + bc->main_fi = main_fsm_alloc(bc, bc); + if (!bc->main_fi) { + fprintf(stderr, "Unable to create main client FSM: %s\n", strerror(errno)); + exit(1); + } + + remsim_client_set_clslot(bc, cfg->client_id, cfg->client_slot); + /* create and [attempt to] establish connection to remsim-server */ srvc = &bc->srv_conn; - srvc->server_host = "localhost"; - srvc->server_port = 9998; + srvc->server_host = cfg->server_host; + srvc->server_port = cfg->server_port; srvc->handle_rx = srvc_handle_rx; srvc->own_comp_id.type = ComponentType_remsimClient; OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, name); @@ -125,6 +161,9 @@ fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); exit(1); } + osmo_fsm_inst_change_parent(srvc->fi, bc->main_fi, MF_E_SRVC_LOST); + srvc->parent_conn_evt = MF_E_SRVC_CONNECTED; + srvc->parent_disc_evt = MF_E_SRVC_LOST; bankdc = &bc->bankd_conn; /* server_host / server_port are configured from remsim-server */ @@ -136,6 +175,9 @@ exit(1); } osmo_fsm_inst_update_id(bankdc->fi, "bankd"); + osmo_fsm_inst_change_parent(bankdc->fi, bc->main_fi, MF_E_BANKD_LOST); + bankdc->parent_conn_evt = MF_E_BANKD_CONNECTED; + bankdc->parent_disc_evt = MF_E_BANKD_LOST; return bc; } diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c index 95eb089..6587e6b 100644 --- a/src/client/remsim_client_main.c +++ b/src/client/remsim_client_main.c @@ -23,27 +23,56 @@ { printf( " -h --help Print this help message\n" + " -v --version Print program version\n" " -i --server-ip A.B.C.D remsim-server IP address\n" " -p --server-port 13245 remsim-server TCP port\n" - " -i --client-id <0-65535> RSPRO ClientId of this client\n" + " -c --client-id <0-65535> RSPRO ClientId of this client\n" " -n --client-slot <0-65535> RSPRO SlotNr of this client\n" + " -e --event-script event script to be called by client\n" +#ifdef USB_SUPPORT + " -V --usb-vendor VENDOR_ID\n" + " -P --usb-product PRODUCT_ID\n" + " -C --usb-config CONFIG_ID\n" + " -I --usb-interface INTERFACE_ID\n" + " -S --usb-altsetting ALTSETTING_ID\n" + " -A --usb-address ADDRESS\n" + " -H --usb-path PATH\n" +#endif ); } -static void handle_options(struct bankd_client *bc, int argc, char **argv) +static void handle_options(struct client_config *cfg, int argc, char **argv) { + int rc; + while (1) { int option_index = 0, c; static const struct option long_options[] = { { "help", 0, 0, 'h' }, + { "version", 0, 0, 'v' }, { "server-ip", 1, 0, 'i' }, { "server-port", 1, 0, 'p' }, { "client-id", 1, 0, 'c' }, { "client-slot", 1, 0, 'n' }, + { "atr", 1, 0, 'a' }, + { "event-script", 1, 0, 'e' }, +#ifdef USB_SUPPORT + { "usb-vendor", 1, 0, 'V' }, + { "usb-product", 1, 0, 'P' }, + { "usb-config", 1, 0, 'C' }, + { "usb-interface", 1, 0, 'I' }, + { "usb-altsetting", 1, 0, 'S' }, + { "usb-address", 1, 0, 'A' }, + { "usb-path", 1, 0, 'H' }, +#endif { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hi:p:c:n:", + c = getopt_long(argc, argv, "hvi:p:c:n:e:" +#ifdef USB_SUPPORT + "V:P:C:I:S:A:H:" +#endif + , long_options, &option_index); if (c == -1) break; @@ -53,18 +82,55 @@ printf_help(); exit(0); break; + case 'v': + printf("osmo-remsim-client version %s\n", VERSION); + exit(0); + break; case 'i': - bc->srv_conn.server_host = optarg; + osmo_talloc_replace_string(cfg, &cfg->server_host, optarg); break; case 'p': - bc->srv_conn.server_port = atoi(optarg); + cfg->server_port = atoi(optarg); break; case 'c': - remsim_client_set_clslot(bc, atoi(optarg), -1); + cfg->client_id = atoi(optarg); break; case 'n': - remsim_client_set_clslot(bc, -1, atoi(optarg)); + cfg->client_slot = atoi(optarg); break; + case 'a': + rc = osmo_hexparse(optarg, cfg->atr.data, ARRAY_SIZE(cfg->atr.data)); + if (rc < 2 || rc > ARRAY_SIZE(cfg->atr.data)) { + fprintf(stderr, "ATR malformed\n"); + exit(2); + } + break; + case 'e': + osmo_talloc_replace_string(cfg, &cfg->event_script, optarg); + break; +#ifdef USB_SUPPORT + case 'V': + cfg->usb.vendor_id = strtol(optarg, NULL, 16); + break; + case 'P': + cfg->usb.product_id = strtol(optarg, NULL, 16); + break; + case 'C': + cfg->usb.config_id = atoi(optarg); + break; + case 'I': + cfg->usb.if_num = atoi(optarg); + break; + case 'S': + cfg->usb.altsetting = atoi(optarg); + break; + case 'A': + cfg->usb.addr = atoi(optarg); + break; + case 'H': + cfg->usb.path = optarg; + break; +#endif default: break; } @@ -74,6 +140,7 @@ int main(int argc, char **argv) { struct bankd_client *g_client; + struct client_config *cfg; char hostname[256]; gethostname(hostname, sizeof(hostname)); @@ -84,9 +151,11 @@ osmo_init_logging2(g_tall_ctx, &log_info); - g_client = remsim_client_create(g_tall_ctx, hostname, "remsim-client"); + cfg = client_config_init(g_tall_ctx); + OSMO_ASSERT(cfg); + handle_options(cfg, argc, argv); - handle_options(g_client, argc, argv); + g_client = remsim_client_create(g_tall_ctx, hostname, "remsim-client",cfg); osmo_fsm_inst_dispatch(g_client->srv_conn.fi, SRVC_E_ESTABLISH, NULL); diff --git a/src/client/simtrace2-remsim_client.c b/src/client/simtrace2-remsim_client.c deleted file mode 100644 index e495f10..0000000 --- a/src/client/simtrace2-remsim_client.c +++ /dev/null @@ -1,1284 +0,0 @@ -/* (C) 2018-2020 by Harald Welte - * (C) 2018 by sysmocom - s.f.m.c. GmbH, Author: Kevin Redon - * - * 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 -#include -#include -#include - -#include -#include - -#include "rspro_util.h" -#include "client.h" -#include "debug.h" - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -/* transport to a SIMtrace device */ -struct st_transport { - /* USB */ - struct libusb_device_handle *usb_devh; - struct { - uint8_t in; - uint8_t out; - uint8_t irq_in; - } usb_ep; -}; - -/* a SIMtrace slot; communicates over a transport */ -struct st_slot { - /* transport through which the slot can be reached */ - struct st_transport *transp; - /* number of the slot within the transport */ - uint8_t slot_nr; -}; - -/* One istance of card emulation */ -struct cardem_inst { - /* slot on which this card emulation instance runs */ - struct st_slot *slot; - struct cardemu_usb_msg_status last_status; - char *usb_path; -}; - -/* global GSMTAP instance */ -static struct gsmtap_inst *g_gti; - -struct bankd_client *g_client; -static void *g_tall_ctx; -void __thread *talloc_asn1_ctx; -int asn_debug; - -/* should we leave main loop processing? */ -bool g_leave_main = false; - -__attribute__((unused)) static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) -{ - struct gsmtap_hdr *gh; - unsigned int gross_len = len + sizeof(*gh); - uint8_t *buf = malloc(gross_len); - int rc; - - if (!buf) - return -ENOMEM; - - memset(buf, 0, sizeof(*gh)); - gh = (struct gsmtap_hdr *) buf; - gh->version = GSMTAP_VERSION; - gh->hdr_len = sizeof(*gh)/4; - gh->type = GSMTAP_TYPE_SIM; - - memcpy(buf + sizeof(*gh), apdu, len); - - rc = write(gsmtap_inst_fd(g_gti), buf, gross_len); - if (rc < 0) { - perror("write gsmtap"); - free(buf); - return rc; - } - - free(buf); - return 0; -} - -/* build the (additional) environment for executing a script */ -static char **build_script_env(struct bankd_client *clnt, const char *cause) -{ - struct cardem_inst *ci = clnt->cardem; - char **env = talloc_zero_size(clnt, 256*sizeof(char *)); - int i = 0; - - if (!env) - return NULL; - - env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_VERSION=%s", VERSION); - - env[i++] = talloc_asprintf(env, "REMSIM_SERVER_ADDR=%s:%u", - clnt->srv_conn.server_host, clnt->srv_conn.server_port); - env[i++] = talloc_asprintf(env, "REMSIM_SERVER_STATE=%s", - osmo_fsm_inst_state_name(clnt->srv_conn.fi)); - - env[i++] = talloc_asprintf(env, "REMSIM_BANKD_ADDR=%s:%u", - clnt->bankd_conn.server_host, clnt->bankd_conn.server_port); - env[i++] = talloc_asprintf(env, "REMSIM_BANKD_STATE=%s", - osmo_fsm_inst_state_name(clnt->bankd_conn.fi)); - - - if (clnt->srv_conn.clslot) { - env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_SLOT=%lu:%lu", - g_client->srv_conn.clslot->clientId, - g_client->srv_conn.clslot->slotNr); - } - env[i++] = talloc_asprintf(env, "REMSIM_BANKD_SLOT=%u:%u", - clnt->bankd_slot.bank_id, clnt->bankd_slot.slot_nr); - - env[i++] = talloc_asprintf(env, "REMSIM_USB_PATH=%s", ci->usb_path); - env[i++] = talloc_asprintf(env, "REMSIM_USB_INTERFACE=%u", clnt->cfg->usb.if_num); - - /* TODO: SIM card state VCC/CLK/RST */ - env[i++] = talloc_asprintf(env, "REMSIM_SIM_VCC=%u", - !!(ci->last_status.flags & CEMU_STATUS_F_VCC_PRESENT)); - env[i++] = talloc_asprintf(env, "REMSIM_SIM_RST=%u", - !!(ci->last_status.flags & CEMU_STATUS_F_RESET_ACTIVE)); - - env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause); - - /* terminate last entry */ - env[i++] = NULL; - return env; -} - -static int call_script(struct bankd_client *clnt, const char *cause) -{ - char **env, *cmd; - int rc; - - if (!clnt->cfg->event_script) - return 0; - - env = build_script_env(clnt, cause); - if (!env) - return -ENOMEM; - - cmd = talloc_asprintf(env, "%s %s", clnt->cfg->event_script, cause); - if (!cmd) { - talloc_free(env); - return -ENOMEM; - } - - rc = osmo_system_nowait(cmd, osmo_environment_whitelist, env); - talloc_free(env); - - return rc; -} - -/*********************************************************************** - * SIMTRACE core protocol - ***********************************************************************/ - -/*! \brief allocate a message buffer for simtrace use */ -static struct msgb *st_msgb_alloc(void) -{ - return msgb_alloc_headroom(1024+32, 32, "SIMtrace"); -} - -#if 0 -static void apdu_out_cb(uint8_t *buf, unsigned int len, void *user_data) -{ - printf("APDU: %s\n", osmo_hexdump(buf, len)); - gsmtap_send_sim(buf, len); -} -#endif - -static void usb_out_xfer_cb(struct libusb_transfer *xfer) -{ - struct msgb *msg = xfer->user_data; - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - break; - case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); - g_leave_main = true; - break; - default: - fprintf(stderr, "USB OUT transfer failed, status=%u\n", xfer->status); - g_leave_main = true; - break; - } - - msgb_free(msg); - libusb_free_transfer(xfer); -} - -/*! \brief Transmit a given command to the SIMtrace2 device */ -int st_transp_tx_msg(struct st_transport *transp, struct msgb *msg) -{ - struct libusb_transfer *xfer; - int rc; - - printf("SIMtrace <- %s\n", msgb_hexdump(msg)); - - 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 = 1000; - xfer->user_data = msg; - xfer->length = msgb_length(msg); - xfer->buffer = msgb_data(msg); - xfer->callback = usb_out_xfer_cb; - - /* submit the OUT transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); - - return rc; -} - -static struct simtrace_msg_hdr *st_push_hdr(struct msgb *msg, uint8_t msg_class, uint8_t msg_type, - uint8_t slot_nr) -{ - struct simtrace_msg_hdr *sh; - - sh = (struct simtrace_msg_hdr *) msgb_push(msg, sizeof(*sh)); - memset(sh, 0, sizeof(*sh)); - sh->msg_class = msg_class; - sh->msg_type = msg_type; - sh->slot_nr = slot_nr; - sh->msg_len = msgb_length(msg); - - return sh; -} - -/* transmit a given message to a specified slot. Expects all headers - * present before calling the function */ -int st_slot_tx_msg(struct st_slot *slot, struct msgb *msg, - uint8_t msg_class, uint8_t msg_type) -{ - st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); - - return st_transp_tx_msg(slot->transp, msg); -} - -/*********************************************************************** - * Card Emulation protocol - ***********************************************************************/ - - -/*! \brief Request the SIMtrace2 to generate a card-insert signal */ -static int cardem_request_card_insert(struct cardem_inst *ci, bool inserted) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_cardinsert *cins; - - cins = (struct cardemu_usb_msg_cardinsert *) msgb_put(msg, sizeof(*cins)); - memset(cins, 0, sizeof(*cins)); - if (inserted) - cins->card_insert = 1; - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_CARDINSERT); -} - -/*! \brief Request the SIMtrace2 to transmit a Procedure Byte, then Rx */ -static int cardem_request_pb_and_rx(struct cardem_inst *ci, uint8_t pb, uint8_t le) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_tx_data *txd; - txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - - printf("SIMtrace <= %s(%02x, %d)\n", __func__, pb, le); - - memset(txd, 0, sizeof(*txd)); - txd->data_len = 1; - txd->flags = CEMU_DATA_F_PB_AND_RX; - /* one data byte */ - msgb_put_u8(msg, pb); - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_TX_DATA); -} - -/*! \brief Request the SIMtrace2 to transmit a Procedure Byte, then Tx */ -static int cardem_request_pb_and_tx(struct cardem_inst *ci, uint8_t pb, - const uint8_t *data, uint16_t data_len_in) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_tx_data *txd; - uint8_t *cur; - - txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - - printf("SIMtrace <= %s(%02x, %s, %d)\n", __func__, pb, - osmo_hexdump(data, data_len_in), data_len_in); - - memset(txd, 0, sizeof(*txd)); - txd->data_len = 1 + data_len_in; - txd->flags = CEMU_DATA_F_PB_AND_TX; - /* procedure byte */ - msgb_put_u8(msg, pb); - /* data */ - cur = msgb_put(msg, data_len_in); - memcpy(cur, data, data_len_in); - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_TX_DATA); -} - -/*! \brief Request the SIMtrace2 to send a Status Word */ -static int cardem_request_sw_tx(struct cardem_inst *ci, const uint8_t *sw) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_tx_data *txd; - uint8_t *cur; - - txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - - printf("SIMtrace <= %s(%02x %02x)\n", __func__, sw[0], sw[1]); - - memset(txd, 0, sizeof(*txd)); - txd->data_len = 2; - txd->flags = CEMU_DATA_F_PB_AND_TX | CEMU_DATA_F_FINAL; - cur = msgb_put(msg, 2); - cur[0] = sw[0]; - cur[1] = sw[1]; - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_TX_DATA); -} - -/*! \brief Request the SIMtrace2 to send a Status Word */ -static int cardem_request_config(struct cardem_inst *ci, uint32_t features) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_config *cfg; - - cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); - - printf("SIMtrace <= %s(%08x)\n", __func__, features); - - memset(cfg, 0, sizeof(*cfg)); - cfg->features = features; - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_BD_CEMU_CONFIG); -} - -// FIXME check if the ATR actually includes a checksum -__attribute__((unused)) static void atr_update_csum(uint8_t *atr, unsigned int atr_len) -{ - uint8_t csum = 0; - int i; - - for (i = 1; i < atr_len - 1; i++) - csum = csum ^ atr[i]; - - atr[atr_len-1] = csum; -} - -static int cardem_request_set_atr(struct cardem_inst *ci, const uint8_t *atr, unsigned int atr_len) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_set_atr *satr; - uint8_t *cur; - - satr = (struct cardemu_usb_msg_set_atr *) msgb_put(msg, sizeof(*satr)); - - printf("SIMtrace <= %s(%s)\n", __func__, osmo_hexdump(atr, atr_len)); - - memset(satr, 0, sizeof(*satr)); - satr->atr_len = atr_len; - cur = msgb_put(msg, atr_len); - memcpy(cur, atr, atr_len); - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_SET_ATR); -} - -/*********************************************************************** - * Modem Control protocol - ***********************************************************************/ - -static int _modem_reset(struct st_slot *slot, uint8_t asserted, uint16_t pulse_ms) -{ - struct msgb *msg = st_msgb_alloc(); - struct st_modem_reset *sr ; - - sr = (struct st_modem_reset *) msgb_put(msg, sizeof(*sr)); - sr->asserted = asserted; - sr->pulse_duration_msec = pulse_ms; - - return st_slot_tx_msg(slot, msg, SIMTRACE_MSGC_MODEM, SIMTRACE_MSGT_DT_MODEM_RESET); -} - -/*! \brief pulse the RESET line of the modem for \a duration_ms milli-seconds*/ -int st_modem_reset_pulse(struct st_slot *slot, uint16_t duration_ms) -{ - return _modem_reset(slot, 2, duration_ms); -} - -/*! \brief assert the RESET line of the modem */ -int st_modem_reset_active(struct st_slot *slot) -{ - return _modem_reset(slot, 1, 0); -} - -/*! \brief de-assert the RESET line of the modem */ -int st_modem_reset_inactive(struct st_slot *slot) -{ - return _modem_reset(slot, 0, 0); -} - -static int _modem_sim_select(struct st_slot *slot, uint8_t remote_sim) -{ - struct msgb *msg = st_msgb_alloc(); - struct st_modem_sim_select *ss; - - ss = (struct st_modem_sim_select *) msgb_put(msg, sizeof(*ss)); - ss->remote_sim = remote_sim; - - return st_slot_tx_msg(slot, msg, SIMTRACE_MSGC_MODEM, SIMTRACE_MSGT_DT_MODEM_SIM_SELECT); -} - -/*! \brief select local (physical) SIM for given slot */ -int st_modem_sim_select_local(struct st_slot *slot) -{ - return _modem_sim_select(slot, 0); -} - -/*! \brief select remote (emulated/forwarded) SIM for given slot */ -int st_modem_sim_select_remote(struct st_slot *slot) -{ - return _modem_sim_select(slot, 1); -} - -/*! \brief Request slot to send us status information about the modem */ -int st_modem_get_status(struct st_slot *slot) -{ - struct msgb *msg = st_msgb_alloc(); - - return st_slot_tx_msg(slot, msg, SIMTRACE_MSGC_MODEM, SIMTRACE_MSGT_BD_MODEM_STATUS); -} - - -/*********************************************************************** - * Incoming Messages - ***********************************************************************/ - -/*! \brief Process a STATUS message from the SIMtrace2 */ -static int process_do_status(struct cardem_inst *ci, uint8_t *buf, int len) -{ - 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); - - return 0; -} - -/*! \brief Process a PTS indication message from the SIMtrace2 */ -static int process_do_pts(struct cardem_inst *ci, uint8_t *buf, int len) -{ - struct cardemu_usb_msg_pts_info *pts; - pts = (struct cardemu_usb_msg_pts_info *) buf; - - printf("SIMtrace => PTS req: %s\n", osmo_hexdump(pts->req, sizeof(pts->req))); - - return 0; -} - -/*! \brief Process a ERROR indication message from the SIMtrace2 */ -__attribute__((unused)) static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) -{ - 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 : ""); - - return 0; -} - -static struct osmo_apdu_context ac; // this will hold the complete APDU (across calls) - -/*! \brief Process a RX-DATA indication message from the SIMtrace2 */ -static int process_do_rx_da(struct cardem_inst *ci, uint8_t *buf, int len) -{ - struct cardemu_usb_msg_rx_data *data = (struct cardemu_usb_msg_rx_data *) buf; // cast the data from the USB message - int rc; - - printf("SIMtrace => DATA: flags=%x, %s: ", data->flags, - osmo_hexdump(data->data, data->data_len)); - - rc = osmo_apdu_segment_in(&ac, data->data, data->data_len, - data->flags & CEMU_DATA_F_TPDU_HDR); // parse the APDU data in the USB message - - if (rc & APDU_ACT_TX_CAPDU_TO_CARD) { // there is no pending data coming from the modem - uint8_t apdu_command[sizeof(ac.hdr) + ac.lc.tot]; // to store the APDU command to send - memcpy(apdu_command, &ac.hdr, sizeof(ac.hdr)); // copy APDU command header - if (ac.lc.tot) { - memcpy(apdu_command + sizeof(ac.hdr), ac.dc, ac.lc.tot); // copy APDU command data - } - // send APDU to card - BankSlot_t bslot; - bank_slot2rspro(&bslot, &g_client->bankd_slot); - RsproPDU_t *pdu = rspro_gen_TpduModem2Card(g_client->srv_conn.clslot, &bslot, apdu_command, sizeof(ac.hdr) + ac.lc.tot); // create RSPRO packet - server_conn_send_rspro(&g_client->bankd_conn, pdu); - // the response will come separately - } else if (ac.lc.tot > ac.lc.cur) { // there is pending data from the modem - cardem_request_pb_and_rx(ci, ac.hdr.ins, ac.lc.tot - ac.lc.cur); // send procedure byte to get remaining data - } - return 0; -} - -#if 0 - case SIMTRACE_CMD_DO_ERROR - rc = process_do_error(ci, buf, len); - break; -#endif - -/*! \brief Process an incoming message from the SIMtrace2 */ -static int process_usb_msg(struct cardem_inst *ci, uint8_t *buf, int len) -{ - struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; - int rc; - - printf("SIMtrace -> %s\n", osmo_hexdump(buf, len)); - - buf += sizeof(*sh); - - switch (sh->msg_type) { - case SIMTRACE_MSGT_BD_CEMU_STATUS: - rc = process_do_status(ci, buf, len); - break; - case SIMTRACE_MSGT_DO_CEMU_PTS: - rc = process_do_pts(ci, buf, len); - break; - case SIMTRACE_MSGT_DO_CEMU_RX_DATA: - rc = process_do_rx_da(ci, buf, len); - break; - case SIMTRACE_MSGT_BD_CEMU_CONFIG: - /* firmware confirms configuration change; ignore */ - break; - default: - printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); - rc = -1; - break; - } - - return rc; -} - - -/*! \brief Process a STATUS message on IRQ endpoint from the SIMtrace2 */ -static int process_irq_status(struct cardem_inst *ci, const uint8_t *buf, int len) -{ - const struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; - - printf("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); - - BankSlot_t bslot; - bank_slot2rspro(&bslot, &g_client->bankd_slot); - RsproPDU_t *pdu = rspro_gen_ClientSlotStatusInd(g_client->srv_conn.clslot, &bslot, - status->flags & CEMU_STATUS_F_RESET_ACTIVE, - status->flags & CEMU_STATUS_F_VCC_PRESENT, - status->flags & CEMU_STATUS_F_CLK_ACTIVE, - -1 /* FIXME: make this dependent on board */); - server_conn_send_rspro(&g_client->bankd_conn, pdu); - - if (ci->last_status.flags != status->flags) { - ci->last_status = *status; - call_script(g_client, "event-modem-status"); - } else - ci->last_status = *status; - - return 0; -} - -static int process_usb_msg_irq(struct cardem_inst *ci, const uint8_t *buf, unsigned int len) -{ - struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; - int rc; - - printf("SIMtrace IRQ %s\n", osmo_hexdump(buf, len)); - - buf += sizeof(*sh); - - switch (sh->msg_type) { - case SIMTRACE_MSGT_BD_CEMU_STATUS: - rc = process_irq_status(ci, buf, len); - break; - default: - printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); - rc = -1; - break; - } - - return rc; -} - -static void usb_in_xfer_cb(struct libusb_transfer *xfer) -{ - struct cardem_inst *ci = xfer->user_data; - int rc; - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - /* hand the message up the stack */ - process_usb_msg(ci, xfer->buffer, xfer->actual_length); - break; - case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); - g_leave_main = true; - break; - default: - fprintf(stderr, "USB IN transfer failed, status=%u\n", xfer->status); - g_leave_main = true; - break; - } - - /* re-submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static void allocate_and_submit_in(struct cardem_inst *ci) -{ - struct st_transport *transp = ci->slot->transp; - 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.in; - xfer->timeout = 0; - xfer->user_data = ci; - xfer->length = 16*256; - - xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); - OSMO_ASSERT(xfer->buffer); - xfer->callback = usb_in_xfer_cb; - - /* submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static void usb_irq_xfer_cb(struct libusb_transfer *xfer) -{ - struct cardem_inst *ci = xfer->user_data; - int rc; - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - process_usb_msg_irq(ci, xfer->buffer, xfer->actual_length); - break; - case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); - g_leave_main = true; - break; - default: - fprintf(stderr, "USB IRQ transfer failed, status=%u\n", xfer->status); - g_leave_main = true; - break; - } - - /* re-submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static void allocate_and_submit_irq(struct cardem_inst *ci) -{ - struct st_transport *transp = ci->slot->transp; - 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_INTERRUPT; - xfer->endpoint = transp->usb_ep.irq_in; - xfer->timeout = 0; - xfer->user_data = ci; - xfer->length = 64; - - xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); - OSMO_ASSERT(xfer->buffer); - xfer->callback = usb_irq_xfer_cb; - - /* submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static struct st_transport _transp; - -static struct st_slot _slot = { - .transp = &_transp, - .slot_nr = 0, -}; - -static struct cardem_inst *g_ci; - -static void signal_handler(int signal) -{ - switch (signal) { - case SIGINT: - cardem_request_card_insert(g_ci, false); - exit(0); - break; - default: - break; - } -} - -/** remsim_client **/ - -static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) -{ - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); - - const struct TpduCardToModem *card2modem = &pdu->msg.choice.tpduCardToModem; - if (card2modem->data.size < 2) { // at least the two SW bytes are needed - return -1; - } - - // save SW to our current APDU context - ac.sw[0] = card2modem->data.buf[card2modem->data.size - 2]; - ac.sw[1] = card2modem->data.buf[card2modem->data.size - 1]; - printf("SIMtrace <= SW=0x%02x%02x, len_rx=%d\n", ac.sw[0], ac.sw[1], card2modem->data.size - 2); - if (card2modem->data.size > 2) { // send PB and data to modem - cardem_request_pb_and_tx(bc->cardem, ac.hdr.ins, card2modem->data.buf, card2modem->data.size - 2); - } - cardem_request_sw_tx(bc->cardem, ac.sw); // send SW to modem - - return 0; -} - -static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) -{ - RsproPDU_t *resp; - int rc; - - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); - - /* FIXME: is this permitted at any time by the SIMtrace2 cardemfirmware? */ - rc = cardem_request_set_atr(bc->cardem, pdu->msg.choice.setAtrReq.atr.buf, - pdu->msg.choice.setAtrReq.atr.size); - if (rc == 0) - resp = rspro_gen_SetAtrRes(ResultCode_ok); - else - resp = rspro_gen_SetAtrRes(ResultCode_cardTransmissionError); - if (!resp) - return -ENOMEM; - server_conn_send_rspro(&g_client->bankd_conn, resp); - - return 0; -} - -/* handle incoming message from bankd */ -static int bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) -{ - switch (pdu->msg.present) { - case RsproPDUchoice_PR_connectClientRes: - /* Store 'identity' of bankd to in peer_comp_id */ - rspro_comp_id_retrieve(&bankdc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); - osmo_fsm_inst_dispatch(bankdc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); - call_script(g_client, "event-bankd-connect"); - break; - case RsproPDUchoice_PR_tpduCardToModem: // APDU response from card received - bankd_handle_tpduCardToModem(g_client, pdu); - break; - case RsproPDUchoice_PR_setAtrReq: - bankd_handle_setAtrReq(g_client, pdu); - break; - default: - LOGPFSML(bankdc->fi, LOGL_ERROR, "Unknown/Unsuppoerted RSPRO PDU %s\n", - rspro_msgt_name(pdu)); - return -1; - } - - return 0; -} - -/* handle incoming messages from server */ -static int srvc_handle_rx(struct rspro_server_conn *srvc, const RsproPDU_t *pdu) -{ - RsproPDU_t *resp; - - switch (pdu->msg.present) { - case RsproPDUchoice_PR_connectClientRes: - /* Store 'identity' of server in srvc->peer_comp_id */ - rspro_comp_id_retrieve(&srvc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); - osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); - call_script(g_client, "event-server-connect"); - break; - case RsproPDUchoice_PR_configClientIdReq: - /* store/set the clientID as instructed by the server */ - if (!g_client->srv_conn.clslot) - g_client->srv_conn.clslot = talloc_zero(g_client, ClientSlot_t); - *g_client->srv_conn.clslot = pdu->msg.choice.configClientIdReq.clientSlot; - if (!g_client->bankd_conn.clslot) - g_client->bankd_conn.clslot = talloc_zero(g_client, ClientSlot_t); - *g_client->bankd_conn.clslot = *g_client->srv_conn.clslot; - /* send response to server */ - resp = rspro_gen_ConfigClientIdRes(ResultCode_ok); - server_conn_send_rspro(srvc, resp); - break; - case RsproPDUchoice_PR_configClientBankReq: - /* store/set the bankd ip/port as instructed by the server */ - osmo_talloc_replace_string(g_client, &g_client->bankd_conn.server_host, - rspro_IpAddr2str(&pdu->msg.choice.configClientBankReq.bankd.ip)); - rspro2bank_slot(&g_client->bankd_slot, &pdu->msg.choice.configClientBankReq.bankSlot); - g_client->bankd_conn.server_port = pdu->msg.choice.configClientBankReq.bankd.port; - /* bankd port 0 is a magic value to indicate "no bankd" */ - if (g_client->bankd_conn.server_port == 0) - osmo_fsm_inst_dispatch(g_client->bankd_conn.fi, SRVC_E_DISCONNECT, NULL); - else - osmo_fsm_inst_dispatch(g_client->bankd_conn.fi, SRVC_E_ESTABLISH, NULL); - /* send response to server */ - resp = rspro_gen_ConfigClientBankRes(ResultCode_ok); - server_conn_send_rspro(srvc, resp); - call_script(g_client, "event-config-bankd"); - break; - default: - LOGPFSML(srvc->fi, LOGL_ERROR, "Unknown/Unsupported RSPRO PDU type: %s\n", - rspro_msgt_name(pdu)); - return -1; - } - - return 0; -} - -static void handle_sig_usr1(int signal) -{ - OSMO_ASSERT(signal == SIGUSR1); - talloc_report_full(g_tall_ctx, stderr); - printf("===== NULL\n"); - talloc_report_full(NULL, stderr); -} - -static void print_welcome(void) -{ - printf("simtrace2-remsim-client - Remote SIM card client for SIMtrace\n" - "(C) 2010-2020, Harald Welte \n" - "(C) 2018, sysmocom -s.f.m.c. GmbH, Author: Kevin Redon \n\n"); -} - -static void print_help(void) -{ - printf( "\t-s\t--server-host HOST\n" - "\t-p\t--server-port PORT\n" - "\t-c\t--client-id <0-65535>\n" - "\t-n\t--client-slot <0-65535>\n" - "\t-h\t--help\n" - "\t-v\t--version\n" - "\t-i\t--gsmtap-ip\tA.B.C.D\n" - "\t-k\t--keep-running\n" - "\t-V\t--usb-vendor\tVENDOR_ID\n" - "\t-P\t--usb-product\tPRODUCT_ID\n" - "\t-C\t--usb-config\tCONFIG_ID\n" - "\t-I\t--usb-interface\tINTERFACE_ID\n" - "\t-S\t--usb-altsetting ALTSETTING_ID\n" - "\t-A\t--usb-address\tADDRESS\n" - "\t-H\t--usb-path\tPATH\n" - "\t-a\t--atr\tATR\n" - "\t-e\t--event-script\tPATH\n" - "\n" - ); -} - -static struct client_config *client_config_init(void *ctx) -{ - struct client_config *cfg = talloc_zero(ctx, struct client_config); - if (!cfg) - return NULL; - - cfg->server_host = talloc_strdup(cfg, "127.0.0.1"); - cfg->server_port = 9998; - cfg->client_id = -1; - cfg->client_slot = -1; - cfg->gsmtap_host = talloc_strdup(cfg, "127.0.0.1"); - cfg->keep_running = false; - - cfg->usb.vendor_id = -1; - cfg->usb.product_id = -1; - cfg->usb.config_id = -1; - cfg->usb.if_num = -1; - cfg->usb.altsetting = 0; - cfg->usb.addr = -1; - cfg->usb.path = NULL; - - cfg->atr.data[0] = 0x3B; - cfg->atr.data[1] = 0x00; // the shortest simplest ATR possible - cfg->atr.len = 2; - - return cfg; -}; - -static void handle_options(struct client_config *cfg, int argc, char **argv) -{ - const struct option opts[] = { - { "server-host", 1, 0, 's' }, - { "server-port", 1, 0, 'p' }, - { "client-id", 1, 0, 'c' }, - { "client-slot", 1, 0, 'n' }, - { "help", 0, 0, 'h' }, - { "version", 0, 0, 'v' }, - { "gsmtap-ip", 1, 0, 'i' }, - { "keep-running", 0, 0, 'k' }, - { "usb-vendor", 1, 0, 'V' }, - { "usb-product", 1, 0, 'P' }, - { "usb-config", 1, 0, 'C' }, - { "usb-interface", 1, 0, 'I' }, - { "usb-altsetting", 1, 0, 'S' }, - { "usb-address", 1, 0, 'A' }, - { "usb-path", 1, 0, 'H' }, - { "atr", 1, 0, 'a' }, - { "event-script", 1, 0, 'e' }, - { NULL, 0, 0, 0 } - }; - int c, rc; - - while (1) { - int option_index = 0; - - c = getopt_long(argc, argv, "s:p:c:n:hvi:kV:P:C:I:S:A:H:a:e:", opts, &option_index); - if (c == -1) - break; - switch (c) { - case 's': - osmo_talloc_replace_string(cfg, &cfg->server_host, optarg); - break; - case 'p': - cfg->server_port = atoi(optarg); - break; - case 'c': - cfg->client_id = atoi(optarg); - break; - case 'n': - cfg->client_slot = atoi(optarg); - break; - case 'h': - print_help(); - exit(0); - break; - case 'v': - printf("osmo-remsim-client version %s\n", VERSION); - exit(0); - break; - case 'i': - osmo_talloc_replace_string(cfg, &cfg->gsmtap_host, optarg); - break; - case 'k': - cfg->keep_running = 1; - break; - case 'V': - cfg->usb.vendor_id = strtol(optarg, NULL, 16); - break; - case 'P': - cfg->usb.product_id = strtol(optarg, NULL, 16); - break; - case 'C': - cfg->usb.config_id = atoi(optarg); - break; - case 'I': - cfg->usb.if_num = atoi(optarg); - break; - case 'S': - cfg->usb.altsetting = atoi(optarg); - break; - case 'A': - cfg->usb.addr = atoi(optarg); - break; - case 'H': - cfg->usb.path = optarg; - break; - case 'a': - rc = osmo_hexparse(optarg, cfg->atr.data, ARRAY_SIZE(cfg->atr.data)); - if (rc < 2 || rc > ARRAY_SIZE(cfg->atr.data)) { - fprintf(stderr, "ATR malformed\n"); - exit(2); - } - cfg->atr.len = rc; - break; - case 'e': - osmo_talloc_replace_string(cfg, &cfg->event_script, optarg); - break; - } - } - - if (argc > optind) { - fprintf(stderr, "Unsupported positional arguments on command line\n"); - exit(2); - } -} - - -static void main_body(struct cardem_inst *ci, struct client_config *cfg) -{ - struct st_transport *transp = ci->slot->transp; - struct usb_interface_match _ifm, *ifm = &_ifm; - int rc, i; - - ifm->vendor = cfg->usb.vendor_id; - ifm->product = cfg->usb.product_id; - ifm->configuration = cfg->usb.config_id; - ifm->interface = cfg->usb.if_num; - ifm->altsetting = cfg->usb.altsetting; - ifm->addr = cfg->usb.addr; - if (cfg->usb.path) - osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); - transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); - if (!transp->usb_devh) { - fprintf(stderr, "can't open USB device\n"); - return; - } - - /* (re)determine the USB path of the opened device */ - talloc_free(ci->usb_path); - ci->usb_path = osmo_libusb_dev_get_path_c(ci, libusb_get_device(transp->usb_devh)); - - rc = libusb_claim_interface(transp->usb_devh, cfg->usb.if_num); - if (rc < 0) { - fprintf(stderr, "can't claim interface %d; rc=%d\n", cfg->usb.if_num, rc); - goto close_exit; - } - - rc = osmo_libusb_get_ep_addrs(transp->usb_devh, cfg->usb.if_num, &transp->usb_ep.out, - &transp->usb_ep.in, &transp->usb_ep.irq_in); - if (rc < 0) { - fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc); - goto close_exit; - } - - // switch modem SIM port to emulated SIM on OWHW - if (USB_VENDOR_OPENMOKO == ifm->vendor && USB_PRODUCT_OWHW_SAM3 == ifm->product) { // we are on the OWHW - int modem = -1; - switch (ifm->interface) { // the USB interface indicates for which modem we want to emulate the SIM - case 0: - modem = 1; - break; - case 1: - modem = 2; - break; - default: - fprintf(stderr, "unknown GPIO for SIMtrace interface %d\n", ifm->interface); - goto close_exit; - } - // - char gpio_path[PATH_MAX]; - snprintf(gpio_path, sizeof(gpio_path), "/dev/gpio/connect_st_usim%d/value", modem); - int connec_st_usim = open(gpio_path, O_WRONLY); - if (-1 == connec_st_usim) { - fprintf(stderr, "can't open GPIO %s to switch modem %d to emulated USIM\n", gpio_path, modem); - goto close_exit; - } - if (1 != write(connec_st_usim, "1", 1)) { - fprintf(stderr, "can't write GPIO %s to switch modem %d to emulated USIM\n", gpio_path, modem); - goto close_exit; - } - printf("switched modem %d to emulated USIM\n", modem); - - snprintf(gpio_path, sizeof(gpio_path), "/dev/gpio/mdm%d_rst/value", modem); - int mdm_rst = open(gpio_path, O_WRONLY); - if (-1 == mdm_rst) { - fprintf(stderr, "can't open GPIO %s to reset modem %d\n", gpio_path, modem); - goto close_exit; - } - if (1 != write(mdm_rst, "1", 1)) { - fprintf(stderr, "can't write GPIO %s to reset modem %d\n", gpio_path, modem); - goto close_exit; - } - sleep(1); // wait a bit to ensure reset is effective - if (1 != write(mdm_rst, "0", 1)) { - fprintf(stderr, "can't write GPIO %s to reset modem %d\n", gpio_path, modem); - goto close_exit; - } - printf("modem %d reset\n", modem); - } - - /* request firmware to generate STATUS on IRQ endpoint */ - cardem_request_config(ci, CEMU_FEAT_F_STATUS_IRQ); - - /* simulate card-insert to modem (owhw, not qmod) */ - cardem_request_card_insert(ci, true); - call_script(g_client, "request-card-insert"); - - /* select remote (forwarded) SIM */ - st_modem_sim_select_remote(ci->slot); - call_script(g_client, "request-sim-remote"); - - /* set the ATR */ - //atr_update_csum(real_atr, sizeof(real_atr)); - cardem_request_set_atr(ci, cfg->atr.data, cfg->atr.len); - - /* select remote (forwarded) SIM */ - st_modem_reset_pulse(ci->slot, 300); - call_script(g_client, "request-modem-reset"); - - printf("Entering main loop\n"); - - allocate_and_submit_irq(ci); - /* submit multiple IN URB in order to work around OS#4409 */ - for (i = 0; i < 4; i++) - allocate_and_submit_in(ci); - - while (!g_leave_main) { - osmo_select_main(false); - } - g_leave_main = false; - - libusb_release_interface(transp->usb_devh, 0); - -close_exit: - if (transp->usb_devh) - libusb_close(transp-> usb_devh); -} - -int main(int argc, char **argv) -{ - struct rspro_server_conn *srvc, *bankdc; - struct client_config *cfg; - int rc; - int ret = 1; - - print_welcome(); - - talloc_enable_null_tracking(); - g_tall_ctx = talloc_named_const(NULL, 0, "global"); - talloc_asn1_ctx = talloc_named_const(g_tall_ctx, 0, "asn1"); - msgb_talloc_ctx_init(g_tall_ctx, 0); - osmo_init_logging2(g_tall_ctx, &log_info); - - g_ci = talloc_zero(g_tall_ctx, struct cardem_inst); - g_ci->slot = &_slot; - - cfg = client_config_init(g_ci); - handle_options(cfg, argc, argv); - - if (cfg->usb.vendor_id < 0 || cfg->usb.product_id < 0) { - fprintf(stderr, "You have to specify the vendor and product ID\n"); - goto do_exit; - } - - signal(SIGUSR1, handle_sig_usr1); - - rc = osmo_libusb_init(NULL); - if (rc < 0) { - fprintf(stderr, "libusb initialization failed\n"); - goto do_exit; - } - - g_gti = gsmtap_source_init(cfg->gsmtap_host, GSMTAP_UDP_PORT, 0); - if (!g_gti) { - perror("unable to open GSMTAP"); - goto close_exit; - } - gsmtap_source_add_sink(g_gti); - - signal(SIGINT, &signal_handler); - - // initialize remote SIM client - - g_client = talloc_zero(g_tall_ctx, struct bankd_client); - g_client->cfg = cfg; - g_client->cardem = g_ci; - - if (cfg->client_id != -1) { - g_client->srv_conn.clslot = talloc_zero(g_client, ClientSlot_t); - g_client->srv_conn.clslot->clientId = cfg->client_id; - /* default to client slot 0 */ - if (cfg->client_slot == -1) - g_client->srv_conn.clslot->slotNr = 0; - else - g_client->srv_conn.clslot->slotNr = cfg->client_slot; - g_client->bankd_conn.clslot = talloc_zero(g_client, ClientSlot_t); - *g_client->bankd_conn.clslot = *g_client->srv_conn.clslot; - } - - /* create and [attempt to] establish connection to remsim-server */ - srvc = &g_client->srv_conn; - srvc->server_host = cfg->server_host; - srvc->server_port = cfg->server_port; - srvc->handle_rx = srvc_handle_rx; - srvc->own_comp_id.type = ComponentType_remsimClient; - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "simtrace2-remsim-client"); - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-client"); - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION); - rc = server_conn_fsm_alloc(g_client, srvc); - if (rc < 0) { - fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); - exit(1); - } - osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_ESTABLISH, NULL); - - /* create and not yet establish connection to remsim-bankd */ - srvc = &g_client->srv_conn; - bankdc = &g_client->bankd_conn; - /* server_host / server_port are configured from remsim-server */ - bankdc->handle_rx = bankd_handle_rx; - memcpy(&bankdc->own_comp_id, &srvc->own_comp_id, sizeof(bankdc->own_comp_id)); - rc = server_conn_fsm_alloc(g_client, bankdc); - if (rc < 0) { - fprintf(stderr, "Unable to create bankd conn FSM: %s\n", strerror(errno)); - exit(1); - } - osmo_fsm_inst_update_id(bankdc->fi, "bankd"); - - asn_debug = 0; - - // connect to SIMtrace2 cardem - do { - main_body(g_ci, cfg); - sleep(1); - } while (cfg->keep_running); - -close_exit: - osmo_libusb_exit(NULL); -do_exit: - return ret; -} diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c index 677b781..188d3a6 100644 --- a/src/client/user_ifdhandler.c +++ b/src/client/user_ifdhandler.c @@ -148,70 +148,66 @@ } /*********************************************************************** - * Incoming RSPRO messages from bank-daemon (SIM card) + * frontend to remsim-client main FSM code ***********************************************************************/ -static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_request_card_insert(struct bankd_client *bc) { - const struct TpduCardToModem *card2modem; + return 0; +} + +int frontend_request_sim_remote(struct bankd_client *bc) +{ + return 0; +} + +int frontend_request_modem_reset(struct bankd_client *bc) +{ + return 0; +} + +int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len) +{ struct client_thread *ct = bc->data; struct msgb *msg; - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); + OSMO_ASSERT(data); - card2modem = &pdu->msg.choice.tpduCardToModem; - DEBUGP(DMAIN, "R-APDU: %s\n", osmo_hexdump(card2modem->data.buf, card2modem->data.size)); + DEBUGP(DMAIN, "R-APDU: %s\n", osmo_hexdump(data, len)); /* enqueue towards IFD thread */ - msg = itmsg_alloc(ITMSG_TYPE_R_APDU_IND, 0, card2modem->data.buf, card2modem->data.size); + msg = itmsg_alloc(ITMSG_TYPE_R_APDU_IND, 0, data, len); OSMO_ASSERT(msg); enqueue_to_ifd(ct, msg); return 0; } -static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len) { struct client_thread *ct = bc->data; - RsproPDU_t *resp; unsigned int atr_len; - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); + OSMO_ASSERT(data); - DEBUGP(DMAIN, "SET_ATR: %s\n", osmo_hexdump(pdu->msg.choice.setAtrReq.atr.buf, - pdu->msg.choice.setAtrReq.atr.size)); + DEBUGP(DMAIN, "SET_ATR: %s\n", osmo_hexdump(data, len)); /* store ATR in local data structure until somebody needs it */ - atr_len = pdu->msg.choice.setAtrReq.atr.size; + atr_len = len; if (atr_len > sizeof(ct->atr)) atr_len = sizeof(ct->atr); - memcpy(ct->atr, pdu->msg.choice.setAtrReq.atr.buf, atr_len); + memcpy(ct->atr, data, atr_len); ct->atr_len = atr_len; - resp = rspro_gen_SetAtrRes(ResultCode_ok); - if (!resp) - return -ENOMEM; - server_conn_send_rspro(&bc->bankd_conn, resp); - return 0; } - -int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) +int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts) { - struct bankd_client *bc = bankdc2bankd_client(bankdc); + return 0; +} - switch (pdu->msg.present) { - case RsproPDUchoice_PR_tpduCardToModem: - bankd_handle_tpduCardToModem(bc, pdu); - break; - case RsproPDUchoice_PR_setAtrReq: - bankd_handle_setAtrReq(bc, pdu); - break; - default: - OSMO_ASSERT(0); - } +int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +{ return 0; } @@ -363,6 +359,7 @@ static void *client_pthread_main(void *arg) { struct client_thread_cfg *cfg = arg; + struct client_config *ccfg; struct client_thread *ct; int rc; @@ -373,17 +370,20 @@ ct = talloc_zero(OTC_GLOBAL, struct client_thread); OSMO_ASSERT(ct); + ccfg = client_config_init(ct); + OSMO_ASSERT(ccfg); + osmo_talloc_replace_string(ccfg, &ccfg->server_host, cfg->server_host); + if (cfg->server_port >= 0) + ccfg->server_port = cfg->server_port; + ccfg->client_id = cfg->client_id; + ccfg->client_slot = cfg->client_slot; + if (!talloc_asn1_ctx) talloc_asn1_ctx= talloc_named_const(ct, 0, "asn1"); - ct->bc = remsim_client_create(ct, cfg->name, "remsim_ifdhandler"); + ct->bc = remsim_client_create(ct, cfg->name, "remsim_ifdhandler", ccfg); OSMO_ASSERT(ct->bc); ct->bc->data = ct; - remsim_client_set_clslot(ct->bc, cfg->client_id, cfg->client_slot); - if (cfg->server_host) - ct->bc->srv_conn.server_host = (char *) cfg->server_host; - if (cfg->server_port >= 0) - ct->bc->srv_conn.server_port = cfg->server_port; INIT_LLIST_HEAD(&ct->it_msgq); osmo_fd_setup(&ct->it_ofd, cfg->it_sock_fd, OSMO_FD_READ, &it_sock_fd_cb, ct, 0); diff --git a/src/client/user_shell.c b/src/client/user_shell.c index abe1542..40bcddd 100644 --- a/src/client/user_shell.c +++ b/src/client/user_shell.c @@ -12,58 +12,54 @@ /*********************************************************************** - * Incoming RSPRO messages from bank-daemon (SIM card) + * stdin frontend code to remsim-client ***********************************************************************/ -static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_request_card_insert(struct bankd_client *bc) { - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); + return 0; +} - const struct TpduCardToModem *card2modem = &pdu->msg.choice.tpduCardToModem; +int frontend_request_sim_remote(struct bankd_client *bc) +{ + return 0; +} - printf("R-APDU: %s\n", osmo_hexdump(card2modem->data.buf, card2modem->data.size)); +int frontend_request_modem_reset(struct bankd_client *bc) +{ + return 0; +} + +int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len) +{ + OSMO_ASSERT(data); + printf("R-APDU: %s\n", osmo_hexdump(data, len)); fflush(stdout); return 0; } -static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len) { - RsproPDU_t *resp; + OSMO_ASSERT(data); - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); - - printf("SET_ATR: %s\n", osmo_hexdump(pdu->msg.choice.setAtrReq.atr.buf, - pdu->msg.choice.setAtrReq.atr.size)); + printf("SET_ATR: %s\n", osmo_hexdump(data, len)); fflush(stdout); - resp = rspro_gen_SetAtrRes(ResultCode_ok); - if (!resp) - return -ENOMEM; - server_conn_send_rspro(&bc->bankd_conn, resp); - return 0; } - -int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) +int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts) { - struct bankd_client *client = bankdc2bankd_client(bankdc); - switch (pdu->msg.present) { - case RsproPDUchoice_PR_tpduCardToModem: - bankd_handle_tpduCardToModem(client, pdu); - break; - case RsproPDUchoice_PR_setAtrReq: - bankd_handle_setAtrReq(client, pdu); - break; - default: - OSMO_ASSERT(0); - } return 0; } +int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +{ + return 0; +} + + /*********************************************************************** * Incoming command from the user application (stdin shell in our case) ***********************************************************************/ diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c new file mode 100644 index 0000000..24a8d09 --- /dev/null +++ b/src/client/user_simtrace2.c @@ -0,0 +1,458 @@ +/* (C) 2018-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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include + +#include + +#include +#include + +#include + +#include +#include +#include + +#include "client.h" +#include "debug.h" + + +/*********************************************************************** + * Incoming Messages from cardem firmware + ***********************************************************************/ + +/*! \brief Process a STATUS message from the SIMtrace2 */ +static int process_do_status(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + 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); + + return 0; +} + +/*! \brief Process a PTS indication message from the SIMtrace2 */ +static int process_do_pts(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + struct cardemu_usb_msg_pts_info *pts = (struct cardemu_usb_msg_pts_info *) buf; + struct bankd_client *bc = ci->priv; + struct frontend_pts fpts = { + .buf = pts->req, + .len = sizeof(pts->req), + }; + + printf("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); + + return 0; +} + +/*! \brief Process a ERROR indication message from the SIMtrace2 */ +__attribute__((unused)) static int process_do_error(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + 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 : ""); + + return 0; +} + +static struct osmo_apdu_context ac; // this will hold the complete APDU (across calls) + +/*! \brief Process a RX-DATA indication message from the SIMtrace2 */ +static int process_do_rx_da(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + struct cardemu_usb_msg_rx_data *data = (struct cardemu_usb_msg_rx_data *) buf; + struct bankd_client *bc = ci->priv; + struct frontend_tpdu ftpdu; + int rc; + + printf("SIMtrace => DATA: flags=%x, %s: ", data->flags, + osmo_hexdump(data->data, data->data_len)); + + /* parse the APDU data in the USB message */ + rc = osmo_apdu_segment_in(&ac, data->data, data->data_len, + data->flags & CEMU_DATA_F_TPDU_HDR); + + if (rc & APDU_ACT_TX_CAPDU_TO_CARD) { + /* there is no pending data coming from the modem */ + uint8_t apdu_command[sizeof(ac.hdr) + ac.lc.tot]; + memcpy(apdu_command, &ac.hdr, sizeof(ac.hdr)); + if (ac.lc.tot) + memcpy(apdu_command + sizeof(ac.hdr), ac.dc, ac.lc.tot); + /* 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); + } 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); + } + return 0; +} + +#if 0 + case SIMTRACE_CMD_DO_ERROR + rc = process_do_error(ci, buf, len); + break; +#endif + +/*! \brief Process an incoming message from the SIMtrace2 */ +static int process_usb_msg(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; + int rc; + + printf("SIMtrace -> %s\n", osmo_hexdump(buf, len)); + + buf += sizeof(*sh); + + switch (sh->msg_type) { + case SIMTRACE_MSGT_BD_CEMU_STATUS: + rc = process_do_status(ci, buf, len); + break; + case SIMTRACE_MSGT_DO_CEMU_PTS: + rc = process_do_pts(ci, buf, len); + break; + case SIMTRACE_MSGT_DO_CEMU_RX_DATA: + rc = process_do_rx_da(ci, buf, len); + break; + case SIMTRACE_MSGT_BD_CEMU_CONFIG: + /* firmware confirms configuration change; ignore */ + break; + default: + printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); + rc = -1; + break; + } + + return rc; +} + + +/*! \brief Process a STATUS message on IRQ endpoint from the SIMtrace2 */ +static int process_irq_status(struct osmo_st2_cardem_inst *ci, const uint8_t *buf, int len) +{ + const struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; + struct bankd_client *bc = ci->priv; + struct frontend_phys_status pstatus = { + .flags = { + .reset_active = status->flags & CEMU_STATUS_F_RESET_ACTIVE, + .vcc_present = status->flags & CEMU_STATUS_F_VCC_PRESENT, + .clk_active = status->flags & CEMU_STATUS_F_CLK_ACTIVE, + .card_present = -1 /* FIXME: make this dependent on board */, + }, + .voltage_mv = status->voltage_mv, + .fi = status->fi, + .di = status->di, + .wi = status->wi, + .waiting_time = status->waiting_time, + }; + + printf("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); + + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_STATUS_IND, &pstatus); + return 0; +} + +static int process_usb_msg_irq(struct osmo_st2_cardem_inst *ci, const uint8_t *buf, unsigned int len) +{ + struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; + int rc; + + printf("SIMtrace IRQ %s\n", osmo_hexdump(buf, len)); + + buf += sizeof(*sh); + + switch (sh->msg_type) { + case SIMTRACE_MSGT_BD_CEMU_STATUS: + rc = process_irq_status(ci, buf, len); + break; + default: + printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); + rc = -1; + break; + } + + return rc; +} + +static void usb_in_xfer_cb(struct libusb_transfer *xfer) +{ + struct osmo_st2_cardem_inst *ci = xfer->user_data; + int rc; + + switch (xfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + /* hand the message up the stack */ + process_usb_msg(ci, xfer->buffer, xfer->actual_length); + break; + case LIBUSB_TRANSFER_NO_DEVICE: + fprintf(stderr, "USB device disappeared\n"); + exit(1); + break; + default: + fprintf(stderr, "USB IN transfer failed, status=%u\n", xfer->status); + exit(1); + break; + } + + /* re-submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + +static void allocate_and_submit_in(struct osmo_st2_cardem_inst *ci) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + 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.in; + xfer->timeout = 0; + xfer->user_data = ci; + xfer->length = 16*256; + + xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); + OSMO_ASSERT(xfer->buffer); + xfer->callback = usb_in_xfer_cb; + + /* submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + +static void usb_irq_xfer_cb(struct libusb_transfer *xfer) +{ + struct osmo_st2_cardem_inst *ci = xfer->user_data; + int rc; + + switch (xfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + process_usb_msg_irq(ci, xfer->buffer, xfer->actual_length); + break; + case LIBUSB_TRANSFER_NO_DEVICE: + fprintf(stderr, "USB device disappeared\n"); + exit(1); + break; + default: + fprintf(stderr, "USB IRQ transfer failed, status=%u\n", xfer->status); + exit(1); + break; + } + + /* re-submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + +static void allocate_and_submit_irq(struct osmo_st2_cardem_inst *ci) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + 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_INTERRUPT; + xfer->endpoint = transp->usb_ep.irq_in; + xfer->timeout = 0; + xfer->user_data = ci; + xfer->length = 64; + + xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); + OSMO_ASSERT(xfer->buffer); + xfer->callback = usb_irq_xfer_cb; + + /* submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + + + +/*********************************************************************** + * simtrace2 frontend code to remsim-client + ***********************************************************************/ + +int frontend_request_card_insert(struct bankd_client *bc) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_cardem_request_card_insert(ci, true); +} + +int frontend_request_sim_remote(struct bankd_client *bc) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_modem_sim_select_remote(ci->slot); +} + +int frontend_request_modem_reset(struct bankd_client *bc) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_modem_reset_pulse(ci->slot, 300); +} + +int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len) +{ + 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]; + + printf("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); + } + osmo_st2_cardem_request_sw_tx(ci, ac.sw); // send SW to modem + return 0; +} + +int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_cardem_request_set_atr(ci, data, len); +} + +int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts) +{ + /* we currently don't propagate bankd status to cardem */ + return 0; +} + +int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + int i = 0; + + if (max_env < 4) + return -ENOSPC; + + env[i++] = talloc_asprintf(env, "REMSIM_USB_PATH=%s", ci->usb_path); + /* TODO: Configuration; Altsetting */ + env[i++] = talloc_asprintf(env, "REMSIM_USB_INTERFACE=%u", bc->cfg->usb.if_num); + + return i; +} + +/* FIXME: This must be cleaned up */ +static struct osmo_st2_transport _transp; +static struct osmo_st2_slot _slot = { + .transp = &_transp, + .slot_nr = 0, +}; + +int client_user_main(struct bankd_client *bc) +{ + struct usb_interface_match _ifm, *ifm = &_ifm; + struct osmo_st2_transport *transp; + struct osmo_st2_cardem_inst *ci; + struct client_config *cfg = bc->cfg; + int rc, i; + + rc = osmo_libusb_init(NULL); + if (rc < 0) { + fprintf(stderr, "libusb initialization failed\n"); + return rc; + } + + ci = talloc_zero(bc, struct osmo_st2_cardem_inst); + OSMO_ASSERT(ci); + ci->slot = &_slot; + transp = ci->slot->transp; + ci->priv = bc; + bc->cardem = ci; + + ifm->vendor = cfg->usb.vendor_id; + ifm->product = cfg->usb.product_id; + ifm->configuration = cfg->usb.config_id; + ifm->interface = cfg->usb.if_num; + ifm->altsetting = cfg->usb.altsetting; + ifm->addr = cfg->usb.addr; + if (cfg->usb.path) + osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); + transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); + if (!transp->usb_devh) { + fprintf(stderr, "can't open USB device\n"); + return -1; + } + + /* (re)determine the USB path of the opened device */ + talloc_free(ci->usb_path); + ci->usb_path = osmo_libusb_dev_get_path_c(ci, libusb_get_device(transp->usb_devh)); + + rc = libusb_claim_interface(transp->usb_devh, cfg->usb.if_num); + if (rc < 0) { + fprintf(stderr, "can't claim interface %d; rc=%d\n", cfg->usb.if_num, rc); + goto close_exit; + } + + rc = osmo_libusb_get_ep_addrs(transp->usb_devh, cfg->usb.if_num, &transp->usb_ep.out, + &transp->usb_ep.in, &transp->usb_ep.irq_in); + if (rc < 0) { + fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc); + goto close_exit; + } + + allocate_and_submit_irq(ci); + /* submit multiple IN URB in order to work around OS#4409 */ + for (i = 0; i < 4; i++) + allocate_and_submit_in(ci); + + /* request firmware to generate STATUS on IRQ endpoint */ + osmo_st2_cardem_request_config(ci, CEMU_FEAT_F_STATUS_IRQ); + + while (1) { + osmo_select_main(0); + } + + return 0; + +close_exit: + if (transp->usb_devh) + libusb_close(transp->usb_devh); + osmo_libusb_exit(NULL); + + return -1; +} diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index e55892c..36a3016 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -397,7 +397,7 @@ [SRVC_ST_INIT] = { .name = "INIT", .in_event_mask = 0, /* S(SRVC_E_ESTABLISH) via allstate */ - .out_state_mask = S(SRVC_ST_REESTABLISH), + .out_state_mask = S(SRVC_ST_INIT) | S(SRVC_ST_REESTABLISH), .action = srvc_st_init, }, [SRVC_ST_ESTABLISHED] = { -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I44a430bc5674dea00ed72a0b28729ac8bcb4e022 Gerrit-Change-Number: 17361 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:42:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:42:37 +0000 Subject: Change in osmo-remsim[master]: client: Fix TODO: add CLK status information to event-script environment References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17362 ) Change subject: client: Fix TODO: add CLK status information to event-script environment ...................................................................... client: Fix TODO: add CLK status information to event-script environment Change-Id: Iecc6002a8effaae7d8c3cab2aa4c6109f83f35b2 --- M src/client/main_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/62/17362/1 diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c index b94af26..0674f6c 100644 --- a/src/client/main_fsm.c +++ b/src/client/main_fsm.c @@ -70,7 +70,7 @@ env[i++] = talloc_asprintf(env, "REMSIM_SIM_VCC=%u", bc->last_status.flags.vcc_present); env[i++] = talloc_asprintf(env, "REMSIM_SIM_RST=%u", bc->last_status.flags.reset_active); - /* TODO: SIM card state CLK */ + env[i++] = talloc_asprintf(env, "REMSIM_SIM_CLK=%u", bc->last_status.flags.clk_active); env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iecc6002a8effaae7d8c3cab2aa4c6109f83f35b2 Gerrit-Change-Number: 17362 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:42:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:42:37 +0000 Subject: Change in osmo-remsim[master]: user_simtrace2: Stop using printf, use libosmocore logging References: Message-ID: laforge has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/63/17363/1 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: 1 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:43:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:43:27 +0000 Subject: Change in osmo-remsim[master]: fix debian build after introducing hack around usbdropdir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17360 ) Change subject: fix debian build after introducing hack around usbdropdir ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I16f7d0e8b7f63ed58dd4939c88e5276185bc3178 Gerrit-Change-Number: 17360 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 04 Mar 2020 15:43:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:50:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:50:04 +0000 Subject: Change in osmo-remsim[master]: fix debian build after introducing hack around usbdropdir In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17360 ) Change subject: fix debian build after introducing hack around usbdropdir ...................................................................... fix debian build after introducing hack around usbdropdir In Change-Id I87c68e8d14f8ddb6054178118ff1f96216483f5c we introduced a hack to fix 'make distcheck' which in turn broke debian packaging. Let's make sure the latter works while the formar also still does. Change-Id: I16f7d0e8b7f63ed58dd4939c88e5276185bc3178 --- M debian/rules 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/rules b/debian/rules index a36fe36..2714cc0 100755 --- a/debian/rules +++ b/debian/rules @@ -4,6 +4,8 @@ DEBVERS := $(shell echo '$(DEBIAN)' | cut -d- -f1) VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g') +USBDROPDIR := $(shell pkg-config --variable=usbdropdir libpcsclite) + #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all @@ -12,7 +14,9 @@ dh $@ --with=systemd --with autoreconf --fail-missing override_dh_auto_configure: - dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals + dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system \ + --with-usbdropdir=$(USBDROPDIR) \ + --enable-manuals #override_dh_clean: # dh_clean -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I16f7d0e8b7f63ed58dd4939c88e5276185bc3178 Gerrit-Change-Number: 17360 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 15:50:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 15:50:32 +0000 Subject: Change in osmo-remsim[master]: client: Fix TODO: add CLK status information to event-script environment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17362 ) Change subject: client: Fix TODO: add CLK status information to event-script environment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iecc6002a8effaae7d8c3cab2aa4c6109f83f35b2 Gerrit-Change-Number: 17362 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 15:50: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 Mar 4 16:38:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 16:38:47 +0000 Subject: Change in osmo-remsim[master]: configure/Makefile: Include contrib in "make dist" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17364 ) Change subject: configure/Makefile: Include contrib in "make dist" ...................................................................... configure/Makefile: Include contrib in "make dist" Change-Id: I2d6a2e06f075391e8e51d1342a1afe955cc127b0 --- M Makefile.am M configure.ac A contrib/Makefile.am A contrib/etc_default/Makefile.am A contrib/systemd/Makefile.am 5 files changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/64/17364/1 diff --git a/Makefile.am b/Makefile.am index 0ff9363..d6208be 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2 -SUBDIRS = src include doc +SUBDIRS = contrib src include doc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-rspro.pc diff --git a/configure.ac b/configure.ac index 0c1f595..9b19280 100644 --- a/configure.ac +++ b/configure.ac @@ -171,6 +171,9 @@ AC_OUTPUT( Makefile libosmo-rspro.pc + contrib/Makefile + contrib/etc_default/Makefile + contrib/systemd/Makefile doc/Makefile doc/manuals/Makefile src/Makefile diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 0000000..17f56ed --- /dev/null +++ b/contrib/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = etc_default systemd + +EXTRA_DIST = remsim-apitool.py owhw-event-script.sh diff --git a/contrib/etc_default/Makefile.am b/contrib/etc_default/Makefile.am new file mode 100644 index 0000000..49c9fe6 --- /dev/null +++ b/contrib/etc_default/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = osmo-remsim-bankd \ + osmo-remsim-client \ + osmo-remsim-client-0 osmo-remsim-client-1 osmo-remsim-client-2 osmo-remsim-client-3 diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am new file mode 100644 index 0000000..642920c --- /dev/null +++ b/contrib/systemd/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = osmo-remsim-bankd.service osmo-remsim-client at .service osmo-remsim-server.service -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I2d6a2e06f075391e8e51d1342a1afe955cc127b0 Gerrit-Change-Number: 17364 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 Mar 4 16:38:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 16:38:47 +0000 Subject: Change in osmo-remsim[master]: configure.ac + debian: Add systemd service file support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17365 ) Change subject: configure.ac + debian: Add systemd service file support ...................................................................... configure.ac + debian: Add systemd service file support Closes: OS#4326 Change-Id: I0d7b6562c1127f005ddbd47298c03942ac3d241d --- M configure.ac M contrib/systemd/Makefile.am M debian/osmo-remsim-bankd.install M debian/osmo-remsim-client.install M debian/osmo-remsim-server.install 5 files changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/65/17365/1 diff --git a/configure.ac b/configure.ac index 9b19280..6954204 100644 --- a/configure.ac +++ b/configure.ac @@ -162,6 +162,22 @@ AC_SUBST([OSMO_GSM_MANUALS_DIR]) fi +# https://www.freedesktop.org/software/systemd/man/daemon.html +AC_ARG_WITH([systemdsystemunitdir], + [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],, + [with_systemdsystemunitdir=auto]) +AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [ + def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) + + AS_IF([test "x$def_systemdsystemunitdir" = "x"], + [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], + [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])]) + with_systemdsystemunitdir=no], + [with_systemdsystemunitdir="$def_systemdsystemunitdir"])]) +AS_IF([test "x$with_systemdsystemunitdir" != "xno"], + [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])]) +AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) + CFLAGS="$CFLAGS -Wall" CPPFLAGS="$CPPFLAGS -Wall" diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am index 642920c..2cc64df 100644 --- a/contrib/systemd/Makefile.am +++ b/contrib/systemd/Makefile.am @@ -1 +1,8 @@ EXTRA_DIST = osmo-remsim-bankd.service osmo-remsim-client at .service osmo-remsim-server.service + +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + osmo-remsim-bankd.service \ + osmo-remsim-server.service \ + osmo-remsim-client at .service +endif diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index d8168d5..58de089 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -1 +1,2 @@ usr/bin/osmo-remsim-bankd +lib/systemd/system/osmo-remsim-bankd.service diff --git a/debian/osmo-remsim-client.install b/debian/osmo-remsim-client.install index 8e73dc1..85ffb82 100644 --- a/debian/osmo-remsim-client.install +++ b/debian/osmo-remsim-client.install @@ -1 +1,2 @@ usr/bin/osmo-remsim-client* +lib/systemd/system/osmo-remsim-client* diff --git a/debian/osmo-remsim-server.install b/debian/osmo-remsim-server.install index f6f14a1..497f7e1 100644 --- a/debian/osmo-remsim-server.install +++ b/debian/osmo-remsim-server.install @@ -1 +1,2 @@ usr/bin/osmo-remsim-server +lib/systemd/system/osmo-remsim-server.service -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0d7b6562c1127f005ddbd47298c03942ac3d241d Gerrit-Change-Number: 17365 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 Mar 4 16:38:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 16:38:48 +0000 Subject: Change in osmo-remsim[master]: Install config files to /etc/default/ References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17366 ) Change subject: Install config files to /etc/default/ ...................................................................... Install config files to /etc/default/ Related: OS#4326 Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b --- M contrib/etc_default/Makefile.am M debian/osmo-remsim-bankd.install M debian/osmo-remsim-client.install M debian/osmo-remsim-server.install 4 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/66/17366/1 diff --git a/contrib/etc_default/Makefile.am b/contrib/etc_default/Makefile.am index 49c9fe6..b95c645 100644 --- a/contrib/etc_default/Makefile.am +++ b/contrib/etc_default/Makefile.am @@ -1,3 +1,8 @@ -EXTRA_DIST = osmo-remsim-bankd \ - osmo-remsim-client \ - osmo-remsim-client-0 osmo-remsim-client-1 osmo-remsim-client-2 osmo-remsim-client-3 +OSMOCONF_FILES = osmo-remsim-bankd \ + osmo-remsim-client \ + osmo-remsim-client-0 osmo-remsim-client-1 osmo-remsim-client-2 osmo-remsim-client-3 + +EXTRA_DIST = $(OSMOCONF_FILES) + +osmoconfdir = $(sysconfdir)/default +osmoconf_DATA = $(OSMOCONF_FILES) diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index 58de089..4e1d6a5 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -1,2 +1,3 @@ usr/bin/osmo-remsim-bankd lib/systemd/system/osmo-remsim-bankd.service +etc/default/osmo-remsim-bankd diff --git a/debian/osmo-remsim-client.install b/debian/osmo-remsim-client.install index 85ffb82..abf53ed 100644 --- a/debian/osmo-remsim-client.install +++ b/debian/osmo-remsim-client.install @@ -1,2 +1,3 @@ usr/bin/osmo-remsim-client* lib/systemd/system/osmo-remsim-client* +etc/default/osmo-remsim-client* diff --git a/debian/osmo-remsim-server.install b/debian/osmo-remsim-server.install index 497f7e1..be23263 100644 --- a/debian/osmo-remsim-server.install +++ b/debian/osmo-remsim-server.install @@ -1,2 +1,3 @@ usr/bin/osmo-remsim-server lib/systemd/system/osmo-remsim-server.service +etc/default/osmo-remsim-bankd -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b Gerrit-Change-Number: 17366 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 Mar 4 16:42:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 16:42:53 +0000 Subject: Change in osmo-remsim[master]: Install config files to /etc/default/ 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/+/17366 to look at the new patch set (#2). Change subject: Install config files to /etc/default/ ...................................................................... Install config files to /etc/default/ Related: OS#4326 Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b --- M contrib/etc_default/Makefile.am M debian/osmo-remsim-bankd.install M debian/osmo-remsim-client.install M debian/osmo-remsim-server.install 4 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/66/17366/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b Gerrit-Change-Number: 17366 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 Mar 4 17:06:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:06:05 +0000 Subject: Change in osmo-remsim[master]: configure/automake: Remove work-arounds References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17367 ) Change subject: configure/automake: Remove work-arounds ...................................................................... configure/automake: Remove work-arounds Change-Id: I97a085248e6cbcd15daf96c0c23f31cdcd02e06b --- M Makefile.am M configure.ac M debian/rules 3 files changed, 9 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/67/17367/1 diff --git a/Makefile.am b/Makefile.am index 0ff9363..9789ba3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,6 +7,11 @@ EXTRA_DIST = asn1 .version README.md contrib/remsim-apitool.py +AM_DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \ + --with-usbdropdir=$$dc_install_base/$(usbdropdir) \ + --with-serialconfdir=$$dc_install_base/$(serialconfdir) + pkgcofigdir = $(libdir)/pkgconfig @RELMAKE@ diff --git a/configure.ac b/configure.ac index 0c1f595..c4d9766 100644 --- a/configure.ac +++ b/configure.ac @@ -69,16 +69,14 @@ PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) - # we cannot use the below command, as 'make distcheck' would fail due to the lack - # of ${prefix} being involved :( - #ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` - #serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` - ifd_dropdir="${libdir}/pcsc" - serialconfdir="${sysconfdir}/reader.conf.d" + ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` # allow user to override the dropdir for the PCSC driver bundle AC_ARG_WITH(usbdropdir, [--with-usbdropdir PCSC bundle location], [usbdropdir="${withval}"], [usbdropdir="${ifd_dropdir}"]) AC_SUBST(usbdropdir) + _serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` + AC_ARG_WITH(serialconfdir, [--with-serialconfdir PCSC config directory location], + [serialconfdir="${withval}"], [serialconfdir="${_serialconfdir}"]) AC_SUBST(serialconfdir) fi AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") diff --git a/debian/rules b/debian/rules index 2714cc0..fddb043 100755 --- a/debian/rules +++ b/debian/rules @@ -15,7 +15,6 @@ override_dh_auto_configure: dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system \ - --with-usbdropdir=$(USBDROPDIR) \ --enable-manuals #override_dh_clean: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I97a085248e6cbcd15daf96c0c23f31cdcd02e06b Gerrit-Change-Number: 17367 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 Mar 4 17:15:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:15:36 +0000 Subject: Change in osmo-remsim[master]: configure/automake: Remove work-arounds In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17367 ) Change subject: configure/automake: Remove work-arounds ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I97a085248e6cbcd15daf96c0c23f31cdcd02e06b Gerrit-Change-Number: 17367 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 17:15: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 Mar 4 17:15:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:15:42 +0000 Subject: Change in osmo-remsim[master]: client: major restructuring around new main_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17361 ) Change subject: client: major restructuring around new main_fsm ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I44a430bc5674dea00ed72a0b28729ac8bcb4e022 Gerrit-Change-Number: 17361 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 17: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 Wed Mar 4 17:15:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:15:57 +0000 Subject: Change in osmo-remsim[master]: configure/automake: Remove work-arounds In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17367 ) Change subject: configure/automake: Remove work-arounds ...................................................................... configure/automake: Remove work-arounds Change-Id: I97a085248e6cbcd15daf96c0c23f31cdcd02e06b --- M Makefile.am M configure.ac M debian/rules 3 files changed, 9 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 0ff9363..9789ba3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,6 +7,11 @@ EXTRA_DIST = asn1 .version README.md contrib/remsim-apitool.py +AM_DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \ + --with-usbdropdir=$$dc_install_base/$(usbdropdir) \ + --with-serialconfdir=$$dc_install_base/$(serialconfdir) + pkgcofigdir = $(libdir)/pkgconfig @RELMAKE@ diff --git a/configure.ac b/configure.ac index 0c1f595..c4d9766 100644 --- a/configure.ac +++ b/configure.ac @@ -69,16 +69,14 @@ PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) - # we cannot use the below command, as 'make distcheck' would fail due to the lack - # of ${prefix} being involved :( - #ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` - #serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` - ifd_dropdir="${libdir}/pcsc" - serialconfdir="${sysconfdir}/reader.conf.d" + ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` # allow user to override the dropdir for the PCSC driver bundle AC_ARG_WITH(usbdropdir, [--with-usbdropdir PCSC bundle location], [usbdropdir="${withval}"], [usbdropdir="${ifd_dropdir}"]) AC_SUBST(usbdropdir) + _serialconfdir=`pkg-config --variable=serialconfdir libpcsclite` + AC_ARG_WITH(serialconfdir, [--with-serialconfdir PCSC config directory location], + [serialconfdir="${withval}"], [serialconfdir="${_serialconfdir}"]) AC_SUBST(serialconfdir) fi AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") diff --git a/debian/rules b/debian/rules index 2714cc0..fddb043 100755 --- a/debian/rules +++ b/debian/rules @@ -15,7 +15,6 @@ override_dh_auto_configure: dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system \ - --with-usbdropdir=$(USBDROPDIR) \ --enable-manuals #override_dh_clean: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I97a085248e6cbcd15daf96c0c23f31cdcd02e06b Gerrit-Change-Number: 17367 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 17:15:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:15:57 +0000 Subject: Change in osmo-remsim[master]: client: major restructuring around new main_fsm In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17361 ) Change subject: client: major restructuring around new main_fsm ...................................................................... client: major restructuring around new main_fsm The remsim_client code already used FSMs for the connections to both remsim-server and remsim-bankd. However the 'main' part of the program was not yet implemented as a FSM, making it somewhat difficult to perform the right actions in every possible situation. This commit re-structures the code around a central main_fsm, which gets notified from the per-connection FSMs and which handles the common processing. It also handles the execution of external script commands, and hence further unifies the code base between the different backends (simtrace2, ifd_handler, shell) Closes: #4414 Change-Id: I44a430bc5674dea00ed72a0b28729ac8bcb4e022 --- M src/client/Makefile.am M src/client/client.h A src/client/main_fsm.c M src/client/remsim_client.c M src/client/remsim_client_main.c D src/client/simtrace2-remsim_client.c M src/client/user_ifdhandler.c M src/client/user_shell.c A src/client/user_simtrace2.c M src/rspro_client_fsm.c 10 files changed, 1,119 insertions(+), 1,392 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/Makefile.am b/src/client/Makefile.am index f37126a..43b030f 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -7,7 +7,7 @@ bin_PROGRAMS = osmo-remsim-client-st2 osmo-remsim-client-shell osmo_remsim_client_shell_SOURCES = user_shell.c remsim_client_main.c \ - remsim_client.c ../rspro_client_fsm.c ../debug.c + remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c osmo_remsim_client_shell_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_shell_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la @@ -19,15 +19,16 @@ bundlelinuxdir=$(bundledir)/Linux bundlelinux_LTLIBRARIES = libifd_remsim_client.la libifd_remsim_client_la_SOURCES = user_ifdhandler.c \ - remsim_client.c ../rspro_client_fsm.c ../debug.c + remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c libifd_remsim_client_la_CFLAGS = $(AM_CFLAGS) libifd_remsim_client_la_CPPFLAGS = $(PCSC_CFLAGS) libifd_remsim_client_la_LDFLAGS = -no-undefined libifd_remsim_client_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la -osmo_remsim_client_st2_SOURCES = simtrace2-remsim_client.c \ - ../rspro_client_fsm.c ../debug.c +osmo_remsim_client_st2_SOURCES = user_simtrace2.c remsim_client_main.c \ + remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c +osmo_remsim_client_st2_CPPFLAGS = -DUSB_SUPPORT osmo_remsim_client_st2_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_st2_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ diff --git a/src/client/client.h b/src/client/client.h index 0761255..b828882 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -10,9 +10,49 @@ #include "slotmap.h" #include "debug.h" +/*********************************************************************** + * frontend interface + ***********************************************************************/ + +struct bankd_client; + +struct frontend_phys_status { + struct { + /* all members can be 0 (inactive), 1 (active) or -1 (not supported/known) */ + int reset_active; + int vcc_present; + int clk_active; + int card_present; + } flags; + uint16_t voltage_mv; + uint8_t fi; + uint8_t di; + uint8_t wi; + uint8_t waiting_time; +}; + +struct frontend_pts { + const uint8_t *buf; + size_t len; +}; + +struct frontend_tpdu { + const uint8_t *buf; + size_t len; +}; + +/* API from generic core to frontend (modem/cardem) */ +int frontend_request_card_insert(struct bankd_client *bc); +int frontend_request_sim_remote(struct bankd_client *bc); +int frontend_request_modem_reset(struct bankd_client *bc); +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); + /* main.c */ -struct cardem_inst; +struct osmo_st2_cardem_inst; #define ATR_SIZE_MAX 55 struct client_config { @@ -48,6 +88,8 @@ struct rspro_server_conn srv_conn; /* connection to the remsim-bankd (data) */ struct rspro_server_conn bankd_conn; + /* CLIENT_MAIN fsm */ + struct osmo_fsm_inst *main_fi; /* remote component ID */ struct app_comp_id peer_comp_id; @@ -55,17 +97,43 @@ struct bank_slot bankd_slot; struct client_config *cfg; - struct cardem_inst *cardem; + struct osmo_st2_cardem_inst *cardem; + struct frontend_phys_status last_status; void *data; }; #define srvc2bankd_client(srvc) container_of(srvc, struct bankd_client, srv_conn) #define bankdc2bankd_client(bdc) container_of(bdc, struct bankd_client, bankd_conn) -struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software); +struct client_config *client_config_init(void *ctx); +struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software, + struct client_config *cfg); void remsim_client_set_clslot(struct bankd_client *bc, int client_id, int slot_nr); - -extern int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu); - extern int client_user_main(struct bankd_client *g_client); + + +/*********************************************************************** + * main FSM + ***********************************************************************/ + +enum main_fsm_event { + MF_E_SRVC_CONNECTED, /* connection to server established (TCP + RSPRO level) */ + MF_E_SRVC_LOST, /* connection to server was lost */ + MF_E_SRVC_CONFIG_BANK, /* server instructs us to connect to bankd/slot */ + MF_E_SRVC_RESET_REQ, /* RsproPDUchoice_PR_ResetStateReq */ + + MF_E_BANKD_CONNECTED, /* connection to bankd established (TCP + RSPRO level) */ + MF_E_BANKD_LOST, /* connection to bankd was lost */ + MF_E_BANKD_TPDU, /* RsproPDUchoice_PR_tpduCardToModem */ + MF_E_BANKD_ATR, /* RsproPDUchoice_PR_setAtrReq */ + MF_E_BANKD_SLOT_STATUS, /* bankSlotStatusInd */ + + MF_E_MDM_STATUS_IND, /* status from modem/cardem */ + MF_E_MDM_PTS_IND, /* PTS indication from modem/cardem */ + MF_E_MDM_TPDU, /* TPDU from modem/cardem */ +}; +struct osmo_fsm_inst *main_fsm_alloc(void *ctx, struct bankd_client *bc); + + + diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c new file mode 100644 index 0000000..b94af26 --- /dev/null +++ b/src/client/main_fsm.c @@ -0,0 +1,377 @@ +/* (C) 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "rspro_util.h" +#include "client.h" +#include "debug.h" + +#define S(x) (1 << (x)) + +/***********************************************************************/ + +/* build the (additional) environment for executing a script */ +static char **build_script_env(struct bankd_client *bc, const char *cause) +{ + char **env = talloc_zero_size(bc, 256*sizeof(char *)); + int rc, i = 0; + + if (!env) + return NULL; + + env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_VERSION=%s", VERSION); + + env[i++] = talloc_asprintf(env, "REMSIM_SERVER_ADDR=%s:%u", + bc->srv_conn.server_host, bc->srv_conn.server_port); + env[i++] = talloc_asprintf(env, "REMSIM_SERVER_STATE=%s", + osmo_fsm_inst_state_name(bc->srv_conn.fi)); + + env[i++] = talloc_asprintf(env, "REMSIM_BANKD_ADDR=%s:%u", + bc->bankd_conn.server_host, bc->bankd_conn.server_port); + env[i++] = talloc_asprintf(env, "REMSIM_BANKD_STATE=%s", + osmo_fsm_inst_state_name(bc->bankd_conn.fi)); + + + if (bc->srv_conn.clslot) { + env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_SLOT=%lu:%lu", + bc->srv_conn.clslot->clientId, + bc->srv_conn.clslot->slotNr); + } + env[i++] = talloc_asprintf(env, "REMSIM_BANKD_SLOT=%u:%u", + bc->bankd_slot.bank_id, bc->bankd_slot.slot_nr); + + env[i++] = talloc_asprintf(env, "REMSIM_SIM_VCC=%u", bc->last_status.flags.vcc_present); + env[i++] = talloc_asprintf(env, "REMSIM_SIM_RST=%u", bc->last_status.flags.reset_active); + /* TODO: SIM card state CLK */ + + 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); + if (rc > 0) + i += rc; + + /* terminate last entry */ + env[i++] = NULL; + return env; +} + +static int call_script(struct bankd_client *bc, const char *cause) +{ + char **env, *cmd; + int rc; + + if (!bc->cfg->event_script) + return 0; + + env = build_script_env(bc, cause); + if (!env) + return -ENOMEM; + + cmd = talloc_asprintf(env, "%s %s", bc->cfg->event_script, cause); + if (!cmd) { + talloc_free(env); + return -ENOMEM; + } + + rc = osmo_system_nowait(cmd, osmo_environment_whitelist, env); + talloc_free(env); + + return rc; +} + + +/***********************************************************************/ + + +enum main_fsm_state { + MF_ST_INIT, + MF_ST_UNCONFIGURED, /* waiting for configuration from server */ + MF_ST_WAIT_BANKD, /* configured; waiting for bankd conn */ + MF_ST_OPERATIONAL, /* fully operational (configured + bankd conn live */ +}; + +static const struct value_string main_fsm_event_names[] = { + OSMO_VALUE_STRING(MF_E_SRVC_CONNECTED), + OSMO_VALUE_STRING(MF_E_SRVC_LOST), + OSMO_VALUE_STRING(MF_E_SRVC_CONFIG_BANK), + OSMO_VALUE_STRING(MF_E_SRVC_RESET_REQ), + OSMO_VALUE_STRING(MF_E_BANKD_CONNECTED), + OSMO_VALUE_STRING(MF_E_BANKD_LOST), + OSMO_VALUE_STRING(MF_E_BANKD_TPDU), + OSMO_VALUE_STRING(MF_E_BANKD_ATR), + OSMO_VALUE_STRING(MF_E_BANKD_SLOT_STATUS), + OSMO_VALUE_STRING(MF_E_MDM_STATUS_IND), + OSMO_VALUE_STRING(MF_E_MDM_PTS_IND), + OSMO_VALUE_STRING(MF_E_MDM_TPDU), + { 0, NULL } +}; + +static void main_st_operational(struct osmo_fsm_inst *fi, uint32_t event, void *data); + +static void main_st_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + + switch (event) { + case MF_E_SRVC_CONNECTED: + osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); + call_script(bc, "event-server-connect"); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_st_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + /* we might be called from a 'higher' state such as operational; clean up */ + osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_DISCONNECT, NULL); +} + +static void main_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case MF_E_SRVC_CONFIG_BANK: + /* same treatment as below */ + main_st_operational(fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_st_wait_bankd(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + + switch (event) { + case MF_E_SRVC_CONFIG_BANK: + /* same treatment as below */ + main_st_operational(fi, event, data); + break; + case MF_E_BANKD_CONNECTED: + osmo_fsm_inst_state_chg(fi, MF_ST_OPERATIONAL, 0, 0); + call_script(bc, "event-bankd-connect"); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_st_operational_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + + /* Simulate card-insert to modem */ + frontend_request_card_insert(bc); + call_script(bc, "request-card-insert"); + + /* Select remote (forwarded) SIM */ + frontend_request_sim_remote(bc); + call_script(bc, "request-sim-remote"); + + /* Set the ATR */ + frontend_handle_set_atr(bc, bc->cfg->atr.data, bc->cfg->atr.len); + + /* Reset the modem */ + frontend_request_modem_reset(bc); + call_script(bc, "request-modem-reset"); +} + +static void main_st_operational(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct bankd_client *bc = (struct bankd_client *) fi->priv; + struct frontend_phys_status *pstatus = NULL; + struct frontend_pts *pts = NULL; + struct frontend_tpdu *tpdu = NULL; + RsproPDU_t *pdu_rx = NULL; + RsproPDU_t *resp; + BankSlot_t bslot; + + switch (event) { + case MF_E_BANKD_LOST: + osmo_fsm_inst_state_chg(fi, MF_ST_WAIT_BANKD, 0, 0); + break; + case MF_E_SRVC_CONFIG_BANK: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_configClientBankReq); + /* store/set the bankd ip/port as instructed by the server */ + osmo_talloc_replace_string(bc, &bc->bankd_conn.server_host, + rspro_IpAddr2str(&pdu_rx->msg.choice.configClientBankReq.bankd.ip)); + bc->bankd_conn.server_port = pdu_rx->msg.choice.configClientBankReq.bankd.port; + rspro2bank_slot(&bc->bankd_slot, &pdu_rx->msg.choice.configClientBankReq.bankSlot); + /* bankd port 0 is a magic value to indicate "no bankd" */ + if (bc->bankd_conn.server_port == 0) + osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); + else { + osmo_fsm_inst_state_chg(fi, MF_ST_WAIT_BANKD, 0, 0); + /* TODO: do we need to disconnect before? */ + osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_ESTABLISH, NULL); + } + /* send response to server */ + resp = rspro_gen_ConfigClientBankRes(ResultCode_ok); + server_conn_send_rspro(&bc->srv_conn, resp); + call_script(bc, "event-config-bankd"); + break; + case MF_E_BANKD_TPDU: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_tpduCardToModem); + /* forward to modem/cardem (via API) */ + frontend_handle_card2modem(bc, pdu_rx->msg.choice.tpduCardToModem.data.buf, + pdu_rx->msg.choice.tpduCardToModem.data.size); + /* response happens indirectly via tpduModemToCard */ + break; + case MF_E_BANKD_ATR: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_setAtrReq); + /* forward to modem/cardem (via API) */ + frontend_handle_set_atr(bc, pdu_rx->msg.choice.setAtrReq.atr.buf, + pdu_rx->msg.choice.setAtrReq.atr.size); + /* send response to bankd */ + resp = rspro_gen_SetAtrRes(ResultCode_ok); + server_conn_send_rspro(&bc->bankd_conn, resp); + break; + case MF_E_BANKD_SLOT_STATUS: + pdu_rx = data; + OSMO_ASSERT(pdu_rx); + OSMO_ASSERT(pdu_rx->msg.present == RsproPDUchoice_PR_bankSlotStatusInd); + /* forward to modem/cardem (via API) */ + frontend_handle_slot_status(bc, &pdu_rx->msg.choice.bankSlotStatusInd.slotPhysStatus); + break; + case MF_E_MDM_STATUS_IND: + pstatus = data; + OSMO_ASSERT(pstatus); + /* forward to bankd */ + bank_slot2rspro(&bslot, &bc->bankd_slot); + resp = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, + pstatus->flags.reset_active, + pstatus->flags.vcc_present, + pstatus->flags.clk_active, + pstatus->flags.card_present); + server_conn_send_rspro(&bc->bankd_conn, resp); + if (!memcmp(&bc->last_status.flags, &pstatus->flags, sizeof(pstatus->flags))) + call_script(bc, "event-modem-status"); + bc->last_status = *pstatus; + break; + case MF_E_MDM_PTS_IND: + pts = data; + OSMO_ASSERT(pts); + /* forward to bankd? */ + break; + case MF_E_MDM_TPDU: + tpdu = data; + OSMO_ASSERT(tpdu); + /* forward to bankd */ + bank_slot2rspro(&bslot, &bc->bankd_slot); + resp = rspro_gen_TpduModem2Card(bc->srv_conn.clslot, &bslot, tpdu->buf, tpdu->len); + server_conn_send_rspro(&bc->bankd_conn, resp); + break; + default: + OSMO_ASSERT(0); + } +} + +static void main_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case MF_E_SRVC_LOST: + /* should we do anything? The SRVC fsm will take care of reconnect, and we + * can continue to talk to the bankd without any trouble... */ + break; + case MF_E_SRVC_RESET_REQ: + osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + + +static const struct osmo_fsm_state main_fsm_states[] = { + [MF_ST_INIT] = { + .name = "INIT", + .in_event_mask = S(MF_E_SRVC_CONNECTED), + .out_state_mask = S(MF_ST_UNCONFIGURED), + .action = main_st_init, + }, + [MF_ST_UNCONFIGURED] = { + .name = "UNCONFIGURED", + .in_event_mask = S(MF_E_SRVC_CONFIG_BANK), + .out_state_mask = S(MF_ST_INIT) | S(MF_ST_WAIT_BANKD), + .action = main_st_unconfigured, + .onenter = main_st_unconfigured_onenter, + }, + [MF_ST_WAIT_BANKD] = { + .name = "WAIT_BANKD", + .in_event_mask = S(MF_E_SRVC_CONFIG_BANK) | S(MF_E_BANKD_CONNECTED), + .out_state_mask = S(MF_ST_INIT) | S(MF_ST_UNCONFIGURED) | S(MF_ST_OPERATIONAL), + .action = main_st_wait_bankd, + }, + [MF_ST_OPERATIONAL] = { + .name = "OPERATIONAL", + .in_event_mask = S(MF_E_SRVC_CONFIG_BANK) | + S(MF_E_BANKD_LOST) | + S(MF_E_BANKD_TPDU) | + S(MF_E_BANKD_ATR) | + S(MF_E_BANKD_SLOT_STATUS) | + S(MF_E_MDM_STATUS_IND) | + S(MF_E_MDM_PTS_IND) | + S(MF_E_MDM_TPDU), + .out_state_mask = S(MF_ST_INIT) | S(MF_ST_UNCONFIGURED) | S(MF_ST_WAIT_BANKD), + .action = main_st_operational, + .onenter = main_st_operational_onenter, + }, +}; + +static struct osmo_fsm client_main_fsm = { + .name = "CLIENT_MAIN", + .states = main_fsm_states, + .num_states = ARRAY_SIZE(main_fsm_states), + .allstate_event_mask = S(MF_E_SRVC_LOST) | S(MF_E_SRVC_RESET_REQ), + .allstate_action = main_allstate_action, + .log_subsys = DMAIN, + .event_names = main_fsm_event_names, +}; + +struct osmo_fsm_inst *main_fsm_alloc(void *ctx, struct bankd_client *bc) +{ + return osmo_fsm_inst_alloc(&client_main_fsm, ctx, bc, LOGL_DEBUG, "main"); +} + +static __attribute((constructor)) void on_dso_load_main_fsm(void) +{ + OSMO_ASSERT(osmo_fsm_register(&client_main_fsm) == 0); +} diff --git a/src/client/remsim_client.c b/src/client/remsim_client.c index dd78c8e..182894f 100644 --- a/src/client/remsim_client.c +++ b/src/client/remsim_client.c @@ -20,6 +20,10 @@ * */ +/* This file contains code shared among all remsim client applications, + * including the ifd-handler, which is not an executable program with a main() + * function or command line parsing, but a shared library */ + #include #include @@ -33,8 +37,38 @@ #include "client.h" #include "debug.h" +struct client_config *client_config_init(void *ctx) +{ + struct client_config *cfg = talloc_zero(ctx, struct client_config); + if (!cfg) + return NULL; + + cfg->server_host = talloc_strdup(cfg, "127.0.0.1"); + cfg->server_port = 9998; + cfg->client_id = -1; + cfg->client_slot = -1; + cfg->gsmtap_host = talloc_strdup(cfg, "127.0.0.1"); + cfg->keep_running = false; + + cfg->usb.vendor_id = -1; + cfg->usb.product_id = -1; + cfg->usb.config_id = -1; + cfg->usb.if_num = -1; + cfg->usb.altsetting = 0; + cfg->usb.addr = -1; + cfg->usb.path = NULL; + + cfg->atr.data[0] = 0x3B; + cfg->atr.data[1] = 0x00; // the shortest simplest ATR possible + cfg->atr.len = 2; + + return cfg; +}; + static int bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) { + struct bankd_client *bc = bankdc2bankd_client(bankdc); + switch (pdu->msg.present) { case RsproPDUchoice_PR_connectClientRes: /* Store 'identity' of bankd to in peer_comp_id */ @@ -42,8 +76,11 @@ osmo_fsm_inst_dispatch(bankdc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); break; case RsproPDUchoice_PR_tpduCardToModem: + return osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_TPDU, (void *) pdu); case RsproPDUchoice_PR_setAtrReq: - return client_user_bankd_handle_rx(bankdc, pdu); + return osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_ATR, (void *) pdu); + case RsproPDUchoice_PR_bankSlotStatusInd: + return osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_SLOT_STATUS, (void *) pdu); default: LOGPFSML(bankdc->fi, LOGL_ERROR, "Unknown/Unsupported RSPRO PDU %s\n", rspro_msgt_name(pdu)); @@ -78,19 +115,7 @@ server_conn_send_rspro(srvc, resp); break; case RsproPDUchoice_PR_configClientBankReq: - /* store/set the bankd ip/port as instructed by the server */ - osmo_talloc_replace_string(bc, &bc->bankd_conn.server_host, - rspro_IpAddr2str(&pdu->msg.choice.configClientBankReq.bankd.ip)); - rspro2bank_slot(&bc->bankd_slot, &pdu->msg.choice.configClientBankReq.bankSlot); - bc->bankd_conn.server_port = pdu->msg.choice.configClientBankReq.bankd.port; - /* bankd port 0 is a magic value to indicate "no bankd" */ - if (bc->bankd_conn.server_port == 0) - osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_DISCONNECT, NULL); - else - osmo_fsm_inst_dispatch(bc->bankd_conn.fi, SRVC_E_ESTABLISH, NULL); - /* send response to server */ - resp = rspro_gen_ConfigClientBankRes(ResultCode_ok); - server_conn_send_rspro(srvc, resp); + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_SRVC_CONFIG_BANK, (void *) pdu); break; default: LOGPFSML(srvc->fi, LOGL_ERROR, "Unknown/Unsupported RSPRO PDU type: %s\n", @@ -101,7 +126,8 @@ return 0; } -struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software) +struct bankd_client *remsim_client_create(void *ctx, const char *name, const char *software, + struct client_config *cfg) { struct bankd_client *bc = talloc_zero(ctx, struct bankd_client); struct rspro_server_conn *srvc, *bankdc; @@ -110,10 +136,20 @@ if (!bc) return NULL; + bc->cfg = cfg; + + bc->main_fi = main_fsm_alloc(bc, bc); + if (!bc->main_fi) { + fprintf(stderr, "Unable to create main client FSM: %s\n", strerror(errno)); + exit(1); + } + + remsim_client_set_clslot(bc, cfg->client_id, cfg->client_slot); + /* create and [attempt to] establish connection to remsim-server */ srvc = &bc->srv_conn; - srvc->server_host = "localhost"; - srvc->server_port = 9998; + srvc->server_host = cfg->server_host; + srvc->server_port = cfg->server_port; srvc->handle_rx = srvc_handle_rx; srvc->own_comp_id.type = ComponentType_remsimClient; OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, name); @@ -125,6 +161,9 @@ fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); exit(1); } + osmo_fsm_inst_change_parent(srvc->fi, bc->main_fi, MF_E_SRVC_LOST); + srvc->parent_conn_evt = MF_E_SRVC_CONNECTED; + srvc->parent_disc_evt = MF_E_SRVC_LOST; bankdc = &bc->bankd_conn; /* server_host / server_port are configured from remsim-server */ @@ -136,6 +175,9 @@ exit(1); } osmo_fsm_inst_update_id(bankdc->fi, "bankd"); + osmo_fsm_inst_change_parent(bankdc->fi, bc->main_fi, MF_E_BANKD_LOST); + bankdc->parent_conn_evt = MF_E_BANKD_CONNECTED; + bankdc->parent_disc_evt = MF_E_BANKD_LOST; return bc; } diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c index 95eb089..6587e6b 100644 --- a/src/client/remsim_client_main.c +++ b/src/client/remsim_client_main.c @@ -23,27 +23,56 @@ { printf( " -h --help Print this help message\n" + " -v --version Print program version\n" " -i --server-ip A.B.C.D remsim-server IP address\n" " -p --server-port 13245 remsim-server TCP port\n" - " -i --client-id <0-65535> RSPRO ClientId of this client\n" + " -c --client-id <0-65535> RSPRO ClientId of this client\n" " -n --client-slot <0-65535> RSPRO SlotNr of this client\n" + " -e --event-script event script to be called by client\n" +#ifdef USB_SUPPORT + " -V --usb-vendor VENDOR_ID\n" + " -P --usb-product PRODUCT_ID\n" + " -C --usb-config CONFIG_ID\n" + " -I --usb-interface INTERFACE_ID\n" + " -S --usb-altsetting ALTSETTING_ID\n" + " -A --usb-address ADDRESS\n" + " -H --usb-path PATH\n" +#endif ); } -static void handle_options(struct bankd_client *bc, int argc, char **argv) +static void handle_options(struct client_config *cfg, int argc, char **argv) { + int rc; + while (1) { int option_index = 0, c; static const struct option long_options[] = { { "help", 0, 0, 'h' }, + { "version", 0, 0, 'v' }, { "server-ip", 1, 0, 'i' }, { "server-port", 1, 0, 'p' }, { "client-id", 1, 0, 'c' }, { "client-slot", 1, 0, 'n' }, + { "atr", 1, 0, 'a' }, + { "event-script", 1, 0, 'e' }, +#ifdef USB_SUPPORT + { "usb-vendor", 1, 0, 'V' }, + { "usb-product", 1, 0, 'P' }, + { "usb-config", 1, 0, 'C' }, + { "usb-interface", 1, 0, 'I' }, + { "usb-altsetting", 1, 0, 'S' }, + { "usb-address", 1, 0, 'A' }, + { "usb-path", 1, 0, 'H' }, +#endif { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hi:p:c:n:", + c = getopt_long(argc, argv, "hvi:p:c:n:e:" +#ifdef USB_SUPPORT + "V:P:C:I:S:A:H:" +#endif + , long_options, &option_index); if (c == -1) break; @@ -53,18 +82,55 @@ printf_help(); exit(0); break; + case 'v': + printf("osmo-remsim-client version %s\n", VERSION); + exit(0); + break; case 'i': - bc->srv_conn.server_host = optarg; + osmo_talloc_replace_string(cfg, &cfg->server_host, optarg); break; case 'p': - bc->srv_conn.server_port = atoi(optarg); + cfg->server_port = atoi(optarg); break; case 'c': - remsim_client_set_clslot(bc, atoi(optarg), -1); + cfg->client_id = atoi(optarg); break; case 'n': - remsim_client_set_clslot(bc, -1, atoi(optarg)); + cfg->client_slot = atoi(optarg); break; + case 'a': + rc = osmo_hexparse(optarg, cfg->atr.data, ARRAY_SIZE(cfg->atr.data)); + if (rc < 2 || rc > ARRAY_SIZE(cfg->atr.data)) { + fprintf(stderr, "ATR malformed\n"); + exit(2); + } + break; + case 'e': + osmo_talloc_replace_string(cfg, &cfg->event_script, optarg); + break; +#ifdef USB_SUPPORT + case 'V': + cfg->usb.vendor_id = strtol(optarg, NULL, 16); + break; + case 'P': + cfg->usb.product_id = strtol(optarg, NULL, 16); + break; + case 'C': + cfg->usb.config_id = atoi(optarg); + break; + case 'I': + cfg->usb.if_num = atoi(optarg); + break; + case 'S': + cfg->usb.altsetting = atoi(optarg); + break; + case 'A': + cfg->usb.addr = atoi(optarg); + break; + case 'H': + cfg->usb.path = optarg; + break; +#endif default: break; } @@ -74,6 +140,7 @@ int main(int argc, char **argv) { struct bankd_client *g_client; + struct client_config *cfg; char hostname[256]; gethostname(hostname, sizeof(hostname)); @@ -84,9 +151,11 @@ osmo_init_logging2(g_tall_ctx, &log_info); - g_client = remsim_client_create(g_tall_ctx, hostname, "remsim-client"); + cfg = client_config_init(g_tall_ctx); + OSMO_ASSERT(cfg); + handle_options(cfg, argc, argv); - handle_options(g_client, argc, argv); + g_client = remsim_client_create(g_tall_ctx, hostname, "remsim-client",cfg); osmo_fsm_inst_dispatch(g_client->srv_conn.fi, SRVC_E_ESTABLISH, NULL); diff --git a/src/client/simtrace2-remsim_client.c b/src/client/simtrace2-remsim_client.c deleted file mode 100644 index e495f10..0000000 --- a/src/client/simtrace2-remsim_client.c +++ /dev/null @@ -1,1284 +0,0 @@ -/* (C) 2018-2020 by Harald Welte - * (C) 2018 by sysmocom - s.f.m.c. GmbH, Author: Kevin Redon - * - * 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 -#include -#include -#include - -#include -#include - -#include "rspro_util.h" -#include "client.h" -#include "debug.h" - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -/* transport to a SIMtrace device */ -struct st_transport { - /* USB */ - struct libusb_device_handle *usb_devh; - struct { - uint8_t in; - uint8_t out; - uint8_t irq_in; - } usb_ep; -}; - -/* a SIMtrace slot; communicates over a transport */ -struct st_slot { - /* transport through which the slot can be reached */ - struct st_transport *transp; - /* number of the slot within the transport */ - uint8_t slot_nr; -}; - -/* One istance of card emulation */ -struct cardem_inst { - /* slot on which this card emulation instance runs */ - struct st_slot *slot; - struct cardemu_usb_msg_status last_status; - char *usb_path; -}; - -/* global GSMTAP instance */ -static struct gsmtap_inst *g_gti; - -struct bankd_client *g_client; -static void *g_tall_ctx; -void __thread *talloc_asn1_ctx; -int asn_debug; - -/* should we leave main loop processing? */ -bool g_leave_main = false; - -__attribute__((unused)) static int gsmtap_send_sim(const uint8_t *apdu, unsigned int len) -{ - struct gsmtap_hdr *gh; - unsigned int gross_len = len + sizeof(*gh); - uint8_t *buf = malloc(gross_len); - int rc; - - if (!buf) - return -ENOMEM; - - memset(buf, 0, sizeof(*gh)); - gh = (struct gsmtap_hdr *) buf; - gh->version = GSMTAP_VERSION; - gh->hdr_len = sizeof(*gh)/4; - gh->type = GSMTAP_TYPE_SIM; - - memcpy(buf + sizeof(*gh), apdu, len); - - rc = write(gsmtap_inst_fd(g_gti), buf, gross_len); - if (rc < 0) { - perror("write gsmtap"); - free(buf); - return rc; - } - - free(buf); - return 0; -} - -/* build the (additional) environment for executing a script */ -static char **build_script_env(struct bankd_client *clnt, const char *cause) -{ - struct cardem_inst *ci = clnt->cardem; - char **env = talloc_zero_size(clnt, 256*sizeof(char *)); - int i = 0; - - if (!env) - return NULL; - - env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_VERSION=%s", VERSION); - - env[i++] = talloc_asprintf(env, "REMSIM_SERVER_ADDR=%s:%u", - clnt->srv_conn.server_host, clnt->srv_conn.server_port); - env[i++] = talloc_asprintf(env, "REMSIM_SERVER_STATE=%s", - osmo_fsm_inst_state_name(clnt->srv_conn.fi)); - - env[i++] = talloc_asprintf(env, "REMSIM_BANKD_ADDR=%s:%u", - clnt->bankd_conn.server_host, clnt->bankd_conn.server_port); - env[i++] = talloc_asprintf(env, "REMSIM_BANKD_STATE=%s", - osmo_fsm_inst_state_name(clnt->bankd_conn.fi)); - - - if (clnt->srv_conn.clslot) { - env[i++] = talloc_asprintf(env, "REMSIM_CLIENT_SLOT=%lu:%lu", - g_client->srv_conn.clslot->clientId, - g_client->srv_conn.clslot->slotNr); - } - env[i++] = talloc_asprintf(env, "REMSIM_BANKD_SLOT=%u:%u", - clnt->bankd_slot.bank_id, clnt->bankd_slot.slot_nr); - - env[i++] = talloc_asprintf(env, "REMSIM_USB_PATH=%s", ci->usb_path); - env[i++] = talloc_asprintf(env, "REMSIM_USB_INTERFACE=%u", clnt->cfg->usb.if_num); - - /* TODO: SIM card state VCC/CLK/RST */ - env[i++] = talloc_asprintf(env, "REMSIM_SIM_VCC=%u", - !!(ci->last_status.flags & CEMU_STATUS_F_VCC_PRESENT)); - env[i++] = talloc_asprintf(env, "REMSIM_SIM_RST=%u", - !!(ci->last_status.flags & CEMU_STATUS_F_RESET_ACTIVE)); - - env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause); - - /* terminate last entry */ - env[i++] = NULL; - return env; -} - -static int call_script(struct bankd_client *clnt, const char *cause) -{ - char **env, *cmd; - int rc; - - if (!clnt->cfg->event_script) - return 0; - - env = build_script_env(clnt, cause); - if (!env) - return -ENOMEM; - - cmd = talloc_asprintf(env, "%s %s", clnt->cfg->event_script, cause); - if (!cmd) { - talloc_free(env); - return -ENOMEM; - } - - rc = osmo_system_nowait(cmd, osmo_environment_whitelist, env); - talloc_free(env); - - return rc; -} - -/*********************************************************************** - * SIMTRACE core protocol - ***********************************************************************/ - -/*! \brief allocate a message buffer for simtrace use */ -static struct msgb *st_msgb_alloc(void) -{ - return msgb_alloc_headroom(1024+32, 32, "SIMtrace"); -} - -#if 0 -static void apdu_out_cb(uint8_t *buf, unsigned int len, void *user_data) -{ - printf("APDU: %s\n", osmo_hexdump(buf, len)); - gsmtap_send_sim(buf, len); -} -#endif - -static void usb_out_xfer_cb(struct libusb_transfer *xfer) -{ - struct msgb *msg = xfer->user_data; - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - break; - case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); - g_leave_main = true; - break; - default: - fprintf(stderr, "USB OUT transfer failed, status=%u\n", xfer->status); - g_leave_main = true; - break; - } - - msgb_free(msg); - libusb_free_transfer(xfer); -} - -/*! \brief Transmit a given command to the SIMtrace2 device */ -int st_transp_tx_msg(struct st_transport *transp, struct msgb *msg) -{ - struct libusb_transfer *xfer; - int rc; - - printf("SIMtrace <- %s\n", msgb_hexdump(msg)); - - 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 = 1000; - xfer->user_data = msg; - xfer->length = msgb_length(msg); - xfer->buffer = msgb_data(msg); - xfer->callback = usb_out_xfer_cb; - - /* submit the OUT transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); - - return rc; -} - -static struct simtrace_msg_hdr *st_push_hdr(struct msgb *msg, uint8_t msg_class, uint8_t msg_type, - uint8_t slot_nr) -{ - struct simtrace_msg_hdr *sh; - - sh = (struct simtrace_msg_hdr *) msgb_push(msg, sizeof(*sh)); - memset(sh, 0, sizeof(*sh)); - sh->msg_class = msg_class; - sh->msg_type = msg_type; - sh->slot_nr = slot_nr; - sh->msg_len = msgb_length(msg); - - return sh; -} - -/* transmit a given message to a specified slot. Expects all headers - * present before calling the function */ -int st_slot_tx_msg(struct st_slot *slot, struct msgb *msg, - uint8_t msg_class, uint8_t msg_type) -{ - st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); - - return st_transp_tx_msg(slot->transp, msg); -} - -/*********************************************************************** - * Card Emulation protocol - ***********************************************************************/ - - -/*! \brief Request the SIMtrace2 to generate a card-insert signal */ -static int cardem_request_card_insert(struct cardem_inst *ci, bool inserted) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_cardinsert *cins; - - cins = (struct cardemu_usb_msg_cardinsert *) msgb_put(msg, sizeof(*cins)); - memset(cins, 0, sizeof(*cins)); - if (inserted) - cins->card_insert = 1; - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_CARDINSERT); -} - -/*! \brief Request the SIMtrace2 to transmit a Procedure Byte, then Rx */ -static int cardem_request_pb_and_rx(struct cardem_inst *ci, uint8_t pb, uint8_t le) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_tx_data *txd; - txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - - printf("SIMtrace <= %s(%02x, %d)\n", __func__, pb, le); - - memset(txd, 0, sizeof(*txd)); - txd->data_len = 1; - txd->flags = CEMU_DATA_F_PB_AND_RX; - /* one data byte */ - msgb_put_u8(msg, pb); - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_TX_DATA); -} - -/*! \brief Request the SIMtrace2 to transmit a Procedure Byte, then Tx */ -static int cardem_request_pb_and_tx(struct cardem_inst *ci, uint8_t pb, - const uint8_t *data, uint16_t data_len_in) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_tx_data *txd; - uint8_t *cur; - - txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - - printf("SIMtrace <= %s(%02x, %s, %d)\n", __func__, pb, - osmo_hexdump(data, data_len_in), data_len_in); - - memset(txd, 0, sizeof(*txd)); - txd->data_len = 1 + data_len_in; - txd->flags = CEMU_DATA_F_PB_AND_TX; - /* procedure byte */ - msgb_put_u8(msg, pb); - /* data */ - cur = msgb_put(msg, data_len_in); - memcpy(cur, data, data_len_in); - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_TX_DATA); -} - -/*! \brief Request the SIMtrace2 to send a Status Word */ -static int cardem_request_sw_tx(struct cardem_inst *ci, const uint8_t *sw) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_tx_data *txd; - uint8_t *cur; - - txd = (struct cardemu_usb_msg_tx_data *) msgb_put(msg, sizeof(*txd)); - - printf("SIMtrace <= %s(%02x %02x)\n", __func__, sw[0], sw[1]); - - memset(txd, 0, sizeof(*txd)); - txd->data_len = 2; - txd->flags = CEMU_DATA_F_PB_AND_TX | CEMU_DATA_F_FINAL; - cur = msgb_put(msg, 2); - cur[0] = sw[0]; - cur[1] = sw[1]; - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_TX_DATA); -} - -/*! \brief Request the SIMtrace2 to send a Status Word */ -static int cardem_request_config(struct cardem_inst *ci, uint32_t features) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_config *cfg; - - cfg = (struct cardemu_usb_msg_config *) msgb_put(msg, sizeof(*cfg)); - - printf("SIMtrace <= %s(%08x)\n", __func__, features); - - memset(cfg, 0, sizeof(*cfg)); - cfg->features = features; - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_BD_CEMU_CONFIG); -} - -// FIXME check if the ATR actually includes a checksum -__attribute__((unused)) static void atr_update_csum(uint8_t *atr, unsigned int atr_len) -{ - uint8_t csum = 0; - int i; - - for (i = 1; i < atr_len - 1; i++) - csum = csum ^ atr[i]; - - atr[atr_len-1] = csum; -} - -static int cardem_request_set_atr(struct cardem_inst *ci, const uint8_t *atr, unsigned int atr_len) -{ - struct msgb *msg = st_msgb_alloc(); - struct cardemu_usb_msg_set_atr *satr; - uint8_t *cur; - - satr = (struct cardemu_usb_msg_set_atr *) msgb_put(msg, sizeof(*satr)); - - printf("SIMtrace <= %s(%s)\n", __func__, osmo_hexdump(atr, atr_len)); - - memset(satr, 0, sizeof(*satr)); - satr->atr_len = atr_len; - cur = msgb_put(msg, atr_len); - memcpy(cur, atr, atr_len); - - return st_slot_tx_msg(ci->slot, msg, SIMTRACE_MSGC_CARDEM, SIMTRACE_MSGT_DT_CEMU_SET_ATR); -} - -/*********************************************************************** - * Modem Control protocol - ***********************************************************************/ - -static int _modem_reset(struct st_slot *slot, uint8_t asserted, uint16_t pulse_ms) -{ - struct msgb *msg = st_msgb_alloc(); - struct st_modem_reset *sr ; - - sr = (struct st_modem_reset *) msgb_put(msg, sizeof(*sr)); - sr->asserted = asserted; - sr->pulse_duration_msec = pulse_ms; - - return st_slot_tx_msg(slot, msg, SIMTRACE_MSGC_MODEM, SIMTRACE_MSGT_DT_MODEM_RESET); -} - -/*! \brief pulse the RESET line of the modem for \a duration_ms milli-seconds*/ -int st_modem_reset_pulse(struct st_slot *slot, uint16_t duration_ms) -{ - return _modem_reset(slot, 2, duration_ms); -} - -/*! \brief assert the RESET line of the modem */ -int st_modem_reset_active(struct st_slot *slot) -{ - return _modem_reset(slot, 1, 0); -} - -/*! \brief de-assert the RESET line of the modem */ -int st_modem_reset_inactive(struct st_slot *slot) -{ - return _modem_reset(slot, 0, 0); -} - -static int _modem_sim_select(struct st_slot *slot, uint8_t remote_sim) -{ - struct msgb *msg = st_msgb_alloc(); - struct st_modem_sim_select *ss; - - ss = (struct st_modem_sim_select *) msgb_put(msg, sizeof(*ss)); - ss->remote_sim = remote_sim; - - return st_slot_tx_msg(slot, msg, SIMTRACE_MSGC_MODEM, SIMTRACE_MSGT_DT_MODEM_SIM_SELECT); -} - -/*! \brief select local (physical) SIM for given slot */ -int st_modem_sim_select_local(struct st_slot *slot) -{ - return _modem_sim_select(slot, 0); -} - -/*! \brief select remote (emulated/forwarded) SIM for given slot */ -int st_modem_sim_select_remote(struct st_slot *slot) -{ - return _modem_sim_select(slot, 1); -} - -/*! \brief Request slot to send us status information about the modem */ -int st_modem_get_status(struct st_slot *slot) -{ - struct msgb *msg = st_msgb_alloc(); - - return st_slot_tx_msg(slot, msg, SIMTRACE_MSGC_MODEM, SIMTRACE_MSGT_BD_MODEM_STATUS); -} - - -/*********************************************************************** - * Incoming Messages - ***********************************************************************/ - -/*! \brief Process a STATUS message from the SIMtrace2 */ -static int process_do_status(struct cardem_inst *ci, uint8_t *buf, int len) -{ - 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); - - return 0; -} - -/*! \brief Process a PTS indication message from the SIMtrace2 */ -static int process_do_pts(struct cardem_inst *ci, uint8_t *buf, int len) -{ - struct cardemu_usb_msg_pts_info *pts; - pts = (struct cardemu_usb_msg_pts_info *) buf; - - printf("SIMtrace => PTS req: %s\n", osmo_hexdump(pts->req, sizeof(pts->req))); - - return 0; -} - -/*! \brief Process a ERROR indication message from the SIMtrace2 */ -__attribute__((unused)) static int process_do_error(struct cardem_inst *ci, uint8_t *buf, int len) -{ - 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 : ""); - - return 0; -} - -static struct osmo_apdu_context ac; // this will hold the complete APDU (across calls) - -/*! \brief Process a RX-DATA indication message from the SIMtrace2 */ -static int process_do_rx_da(struct cardem_inst *ci, uint8_t *buf, int len) -{ - struct cardemu_usb_msg_rx_data *data = (struct cardemu_usb_msg_rx_data *) buf; // cast the data from the USB message - int rc; - - printf("SIMtrace => DATA: flags=%x, %s: ", data->flags, - osmo_hexdump(data->data, data->data_len)); - - rc = osmo_apdu_segment_in(&ac, data->data, data->data_len, - data->flags & CEMU_DATA_F_TPDU_HDR); // parse the APDU data in the USB message - - if (rc & APDU_ACT_TX_CAPDU_TO_CARD) { // there is no pending data coming from the modem - uint8_t apdu_command[sizeof(ac.hdr) + ac.lc.tot]; // to store the APDU command to send - memcpy(apdu_command, &ac.hdr, sizeof(ac.hdr)); // copy APDU command header - if (ac.lc.tot) { - memcpy(apdu_command + sizeof(ac.hdr), ac.dc, ac.lc.tot); // copy APDU command data - } - // send APDU to card - BankSlot_t bslot; - bank_slot2rspro(&bslot, &g_client->bankd_slot); - RsproPDU_t *pdu = rspro_gen_TpduModem2Card(g_client->srv_conn.clslot, &bslot, apdu_command, sizeof(ac.hdr) + ac.lc.tot); // create RSPRO packet - server_conn_send_rspro(&g_client->bankd_conn, pdu); - // the response will come separately - } else if (ac.lc.tot > ac.lc.cur) { // there is pending data from the modem - cardem_request_pb_and_rx(ci, ac.hdr.ins, ac.lc.tot - ac.lc.cur); // send procedure byte to get remaining data - } - return 0; -} - -#if 0 - case SIMTRACE_CMD_DO_ERROR - rc = process_do_error(ci, buf, len); - break; -#endif - -/*! \brief Process an incoming message from the SIMtrace2 */ -static int process_usb_msg(struct cardem_inst *ci, uint8_t *buf, int len) -{ - struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; - int rc; - - printf("SIMtrace -> %s\n", osmo_hexdump(buf, len)); - - buf += sizeof(*sh); - - switch (sh->msg_type) { - case SIMTRACE_MSGT_BD_CEMU_STATUS: - rc = process_do_status(ci, buf, len); - break; - case SIMTRACE_MSGT_DO_CEMU_PTS: - rc = process_do_pts(ci, buf, len); - break; - case SIMTRACE_MSGT_DO_CEMU_RX_DATA: - rc = process_do_rx_da(ci, buf, len); - break; - case SIMTRACE_MSGT_BD_CEMU_CONFIG: - /* firmware confirms configuration change; ignore */ - break; - default: - printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); - rc = -1; - break; - } - - return rc; -} - - -/*! \brief Process a STATUS message on IRQ endpoint from the SIMtrace2 */ -static int process_irq_status(struct cardem_inst *ci, const uint8_t *buf, int len) -{ - const struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; - - printf("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); - - BankSlot_t bslot; - bank_slot2rspro(&bslot, &g_client->bankd_slot); - RsproPDU_t *pdu = rspro_gen_ClientSlotStatusInd(g_client->srv_conn.clslot, &bslot, - status->flags & CEMU_STATUS_F_RESET_ACTIVE, - status->flags & CEMU_STATUS_F_VCC_PRESENT, - status->flags & CEMU_STATUS_F_CLK_ACTIVE, - -1 /* FIXME: make this dependent on board */); - server_conn_send_rspro(&g_client->bankd_conn, pdu); - - if (ci->last_status.flags != status->flags) { - ci->last_status = *status; - call_script(g_client, "event-modem-status"); - } else - ci->last_status = *status; - - return 0; -} - -static int process_usb_msg_irq(struct cardem_inst *ci, const uint8_t *buf, unsigned int len) -{ - struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; - int rc; - - printf("SIMtrace IRQ %s\n", osmo_hexdump(buf, len)); - - buf += sizeof(*sh); - - switch (sh->msg_type) { - case SIMTRACE_MSGT_BD_CEMU_STATUS: - rc = process_irq_status(ci, buf, len); - break; - default: - printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); - rc = -1; - break; - } - - return rc; -} - -static void usb_in_xfer_cb(struct libusb_transfer *xfer) -{ - struct cardem_inst *ci = xfer->user_data; - int rc; - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - /* hand the message up the stack */ - process_usb_msg(ci, xfer->buffer, xfer->actual_length); - break; - case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); - g_leave_main = true; - break; - default: - fprintf(stderr, "USB IN transfer failed, status=%u\n", xfer->status); - g_leave_main = true; - break; - } - - /* re-submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static void allocate_and_submit_in(struct cardem_inst *ci) -{ - struct st_transport *transp = ci->slot->transp; - 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.in; - xfer->timeout = 0; - xfer->user_data = ci; - xfer->length = 16*256; - - xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); - OSMO_ASSERT(xfer->buffer); - xfer->callback = usb_in_xfer_cb; - - /* submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static void usb_irq_xfer_cb(struct libusb_transfer *xfer) -{ - struct cardem_inst *ci = xfer->user_data; - int rc; - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - process_usb_msg_irq(ci, xfer->buffer, xfer->actual_length); - break; - case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); - g_leave_main = true; - break; - default: - fprintf(stderr, "USB IRQ transfer failed, status=%u\n", xfer->status); - g_leave_main = true; - break; - } - - /* re-submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static void allocate_and_submit_irq(struct cardem_inst *ci) -{ - struct st_transport *transp = ci->slot->transp; - 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_INTERRUPT; - xfer->endpoint = transp->usb_ep.irq_in; - xfer->timeout = 0; - xfer->user_data = ci; - xfer->length = 64; - - xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); - OSMO_ASSERT(xfer->buffer); - xfer->callback = usb_irq_xfer_cb; - - /* submit the IN transfer */ - rc = libusb_submit_transfer(xfer); - OSMO_ASSERT(rc == 0); -} - - -static struct st_transport _transp; - -static struct st_slot _slot = { - .transp = &_transp, - .slot_nr = 0, -}; - -static struct cardem_inst *g_ci; - -static void signal_handler(int signal) -{ - switch (signal) { - case SIGINT: - cardem_request_card_insert(g_ci, false); - exit(0); - break; - default: - break; - } -} - -/** remsim_client **/ - -static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) -{ - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); - - const struct TpduCardToModem *card2modem = &pdu->msg.choice.tpduCardToModem; - if (card2modem->data.size < 2) { // at least the two SW bytes are needed - return -1; - } - - // save SW to our current APDU context - ac.sw[0] = card2modem->data.buf[card2modem->data.size - 2]; - ac.sw[1] = card2modem->data.buf[card2modem->data.size - 1]; - printf("SIMtrace <= SW=0x%02x%02x, len_rx=%d\n", ac.sw[0], ac.sw[1], card2modem->data.size - 2); - if (card2modem->data.size > 2) { // send PB and data to modem - cardem_request_pb_and_tx(bc->cardem, ac.hdr.ins, card2modem->data.buf, card2modem->data.size - 2); - } - cardem_request_sw_tx(bc->cardem, ac.sw); // send SW to modem - - return 0; -} - -static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) -{ - RsproPDU_t *resp; - int rc; - - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); - - /* FIXME: is this permitted at any time by the SIMtrace2 cardemfirmware? */ - rc = cardem_request_set_atr(bc->cardem, pdu->msg.choice.setAtrReq.atr.buf, - pdu->msg.choice.setAtrReq.atr.size); - if (rc == 0) - resp = rspro_gen_SetAtrRes(ResultCode_ok); - else - resp = rspro_gen_SetAtrRes(ResultCode_cardTransmissionError); - if (!resp) - return -ENOMEM; - server_conn_send_rspro(&g_client->bankd_conn, resp); - - return 0; -} - -/* handle incoming message from bankd */ -static int bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) -{ - switch (pdu->msg.present) { - case RsproPDUchoice_PR_connectClientRes: - /* Store 'identity' of bankd to in peer_comp_id */ - rspro_comp_id_retrieve(&bankdc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); - osmo_fsm_inst_dispatch(bankdc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); - call_script(g_client, "event-bankd-connect"); - break; - case RsproPDUchoice_PR_tpduCardToModem: // APDU response from card received - bankd_handle_tpduCardToModem(g_client, pdu); - break; - case RsproPDUchoice_PR_setAtrReq: - bankd_handle_setAtrReq(g_client, pdu); - break; - default: - LOGPFSML(bankdc->fi, LOGL_ERROR, "Unknown/Unsuppoerted RSPRO PDU %s\n", - rspro_msgt_name(pdu)); - return -1; - } - - return 0; -} - -/* handle incoming messages from server */ -static int srvc_handle_rx(struct rspro_server_conn *srvc, const RsproPDU_t *pdu) -{ - RsproPDU_t *resp; - - switch (pdu->msg.present) { - case RsproPDUchoice_PR_connectClientRes: - /* Store 'identity' of server in srvc->peer_comp_id */ - rspro_comp_id_retrieve(&srvc->peer_comp_id, &pdu->msg.choice.connectClientRes.identity); - osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_CLIENT_CONN_RES, (void *) pdu); - call_script(g_client, "event-server-connect"); - break; - case RsproPDUchoice_PR_configClientIdReq: - /* store/set the clientID as instructed by the server */ - if (!g_client->srv_conn.clslot) - g_client->srv_conn.clslot = talloc_zero(g_client, ClientSlot_t); - *g_client->srv_conn.clslot = pdu->msg.choice.configClientIdReq.clientSlot; - if (!g_client->bankd_conn.clslot) - g_client->bankd_conn.clslot = talloc_zero(g_client, ClientSlot_t); - *g_client->bankd_conn.clslot = *g_client->srv_conn.clslot; - /* send response to server */ - resp = rspro_gen_ConfigClientIdRes(ResultCode_ok); - server_conn_send_rspro(srvc, resp); - break; - case RsproPDUchoice_PR_configClientBankReq: - /* store/set the bankd ip/port as instructed by the server */ - osmo_talloc_replace_string(g_client, &g_client->bankd_conn.server_host, - rspro_IpAddr2str(&pdu->msg.choice.configClientBankReq.bankd.ip)); - rspro2bank_slot(&g_client->bankd_slot, &pdu->msg.choice.configClientBankReq.bankSlot); - g_client->bankd_conn.server_port = pdu->msg.choice.configClientBankReq.bankd.port; - /* bankd port 0 is a magic value to indicate "no bankd" */ - if (g_client->bankd_conn.server_port == 0) - osmo_fsm_inst_dispatch(g_client->bankd_conn.fi, SRVC_E_DISCONNECT, NULL); - else - osmo_fsm_inst_dispatch(g_client->bankd_conn.fi, SRVC_E_ESTABLISH, NULL); - /* send response to server */ - resp = rspro_gen_ConfigClientBankRes(ResultCode_ok); - server_conn_send_rspro(srvc, resp); - call_script(g_client, "event-config-bankd"); - break; - default: - LOGPFSML(srvc->fi, LOGL_ERROR, "Unknown/Unsupported RSPRO PDU type: %s\n", - rspro_msgt_name(pdu)); - return -1; - } - - return 0; -} - -static void handle_sig_usr1(int signal) -{ - OSMO_ASSERT(signal == SIGUSR1); - talloc_report_full(g_tall_ctx, stderr); - printf("===== NULL\n"); - talloc_report_full(NULL, stderr); -} - -static void print_welcome(void) -{ - printf("simtrace2-remsim-client - Remote SIM card client for SIMtrace\n" - "(C) 2010-2020, Harald Welte \n" - "(C) 2018, sysmocom -s.f.m.c. GmbH, Author: Kevin Redon \n\n"); -} - -static void print_help(void) -{ - printf( "\t-s\t--server-host HOST\n" - "\t-p\t--server-port PORT\n" - "\t-c\t--client-id <0-65535>\n" - "\t-n\t--client-slot <0-65535>\n" - "\t-h\t--help\n" - "\t-v\t--version\n" - "\t-i\t--gsmtap-ip\tA.B.C.D\n" - "\t-k\t--keep-running\n" - "\t-V\t--usb-vendor\tVENDOR_ID\n" - "\t-P\t--usb-product\tPRODUCT_ID\n" - "\t-C\t--usb-config\tCONFIG_ID\n" - "\t-I\t--usb-interface\tINTERFACE_ID\n" - "\t-S\t--usb-altsetting ALTSETTING_ID\n" - "\t-A\t--usb-address\tADDRESS\n" - "\t-H\t--usb-path\tPATH\n" - "\t-a\t--atr\tATR\n" - "\t-e\t--event-script\tPATH\n" - "\n" - ); -} - -static struct client_config *client_config_init(void *ctx) -{ - struct client_config *cfg = talloc_zero(ctx, struct client_config); - if (!cfg) - return NULL; - - cfg->server_host = talloc_strdup(cfg, "127.0.0.1"); - cfg->server_port = 9998; - cfg->client_id = -1; - cfg->client_slot = -1; - cfg->gsmtap_host = talloc_strdup(cfg, "127.0.0.1"); - cfg->keep_running = false; - - cfg->usb.vendor_id = -1; - cfg->usb.product_id = -1; - cfg->usb.config_id = -1; - cfg->usb.if_num = -1; - cfg->usb.altsetting = 0; - cfg->usb.addr = -1; - cfg->usb.path = NULL; - - cfg->atr.data[0] = 0x3B; - cfg->atr.data[1] = 0x00; // the shortest simplest ATR possible - cfg->atr.len = 2; - - return cfg; -}; - -static void handle_options(struct client_config *cfg, int argc, char **argv) -{ - const struct option opts[] = { - { "server-host", 1, 0, 's' }, - { "server-port", 1, 0, 'p' }, - { "client-id", 1, 0, 'c' }, - { "client-slot", 1, 0, 'n' }, - { "help", 0, 0, 'h' }, - { "version", 0, 0, 'v' }, - { "gsmtap-ip", 1, 0, 'i' }, - { "keep-running", 0, 0, 'k' }, - { "usb-vendor", 1, 0, 'V' }, - { "usb-product", 1, 0, 'P' }, - { "usb-config", 1, 0, 'C' }, - { "usb-interface", 1, 0, 'I' }, - { "usb-altsetting", 1, 0, 'S' }, - { "usb-address", 1, 0, 'A' }, - { "usb-path", 1, 0, 'H' }, - { "atr", 1, 0, 'a' }, - { "event-script", 1, 0, 'e' }, - { NULL, 0, 0, 0 } - }; - int c, rc; - - while (1) { - int option_index = 0; - - c = getopt_long(argc, argv, "s:p:c:n:hvi:kV:P:C:I:S:A:H:a:e:", opts, &option_index); - if (c == -1) - break; - switch (c) { - case 's': - osmo_talloc_replace_string(cfg, &cfg->server_host, optarg); - break; - case 'p': - cfg->server_port = atoi(optarg); - break; - case 'c': - cfg->client_id = atoi(optarg); - break; - case 'n': - cfg->client_slot = atoi(optarg); - break; - case 'h': - print_help(); - exit(0); - break; - case 'v': - printf("osmo-remsim-client version %s\n", VERSION); - exit(0); - break; - case 'i': - osmo_talloc_replace_string(cfg, &cfg->gsmtap_host, optarg); - break; - case 'k': - cfg->keep_running = 1; - break; - case 'V': - cfg->usb.vendor_id = strtol(optarg, NULL, 16); - break; - case 'P': - cfg->usb.product_id = strtol(optarg, NULL, 16); - break; - case 'C': - cfg->usb.config_id = atoi(optarg); - break; - case 'I': - cfg->usb.if_num = atoi(optarg); - break; - case 'S': - cfg->usb.altsetting = atoi(optarg); - break; - case 'A': - cfg->usb.addr = atoi(optarg); - break; - case 'H': - cfg->usb.path = optarg; - break; - case 'a': - rc = osmo_hexparse(optarg, cfg->atr.data, ARRAY_SIZE(cfg->atr.data)); - if (rc < 2 || rc > ARRAY_SIZE(cfg->atr.data)) { - fprintf(stderr, "ATR malformed\n"); - exit(2); - } - cfg->atr.len = rc; - break; - case 'e': - osmo_talloc_replace_string(cfg, &cfg->event_script, optarg); - break; - } - } - - if (argc > optind) { - fprintf(stderr, "Unsupported positional arguments on command line\n"); - exit(2); - } -} - - -static void main_body(struct cardem_inst *ci, struct client_config *cfg) -{ - struct st_transport *transp = ci->slot->transp; - struct usb_interface_match _ifm, *ifm = &_ifm; - int rc, i; - - ifm->vendor = cfg->usb.vendor_id; - ifm->product = cfg->usb.product_id; - ifm->configuration = cfg->usb.config_id; - ifm->interface = cfg->usb.if_num; - ifm->altsetting = cfg->usb.altsetting; - ifm->addr = cfg->usb.addr; - if (cfg->usb.path) - osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); - transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); - if (!transp->usb_devh) { - fprintf(stderr, "can't open USB device\n"); - return; - } - - /* (re)determine the USB path of the opened device */ - talloc_free(ci->usb_path); - ci->usb_path = osmo_libusb_dev_get_path_c(ci, libusb_get_device(transp->usb_devh)); - - rc = libusb_claim_interface(transp->usb_devh, cfg->usb.if_num); - if (rc < 0) { - fprintf(stderr, "can't claim interface %d; rc=%d\n", cfg->usb.if_num, rc); - goto close_exit; - } - - rc = osmo_libusb_get_ep_addrs(transp->usb_devh, cfg->usb.if_num, &transp->usb_ep.out, - &transp->usb_ep.in, &transp->usb_ep.irq_in); - if (rc < 0) { - fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc); - goto close_exit; - } - - // switch modem SIM port to emulated SIM on OWHW - if (USB_VENDOR_OPENMOKO == ifm->vendor && USB_PRODUCT_OWHW_SAM3 == ifm->product) { // we are on the OWHW - int modem = -1; - switch (ifm->interface) { // the USB interface indicates for which modem we want to emulate the SIM - case 0: - modem = 1; - break; - case 1: - modem = 2; - break; - default: - fprintf(stderr, "unknown GPIO for SIMtrace interface %d\n", ifm->interface); - goto close_exit; - } - // - char gpio_path[PATH_MAX]; - snprintf(gpio_path, sizeof(gpio_path), "/dev/gpio/connect_st_usim%d/value", modem); - int connec_st_usim = open(gpio_path, O_WRONLY); - if (-1 == connec_st_usim) { - fprintf(stderr, "can't open GPIO %s to switch modem %d to emulated USIM\n", gpio_path, modem); - goto close_exit; - } - if (1 != write(connec_st_usim, "1", 1)) { - fprintf(stderr, "can't write GPIO %s to switch modem %d to emulated USIM\n", gpio_path, modem); - goto close_exit; - } - printf("switched modem %d to emulated USIM\n", modem); - - snprintf(gpio_path, sizeof(gpio_path), "/dev/gpio/mdm%d_rst/value", modem); - int mdm_rst = open(gpio_path, O_WRONLY); - if (-1 == mdm_rst) { - fprintf(stderr, "can't open GPIO %s to reset modem %d\n", gpio_path, modem); - goto close_exit; - } - if (1 != write(mdm_rst, "1", 1)) { - fprintf(stderr, "can't write GPIO %s to reset modem %d\n", gpio_path, modem); - goto close_exit; - } - sleep(1); // wait a bit to ensure reset is effective - if (1 != write(mdm_rst, "0", 1)) { - fprintf(stderr, "can't write GPIO %s to reset modem %d\n", gpio_path, modem); - goto close_exit; - } - printf("modem %d reset\n", modem); - } - - /* request firmware to generate STATUS on IRQ endpoint */ - cardem_request_config(ci, CEMU_FEAT_F_STATUS_IRQ); - - /* simulate card-insert to modem (owhw, not qmod) */ - cardem_request_card_insert(ci, true); - call_script(g_client, "request-card-insert"); - - /* select remote (forwarded) SIM */ - st_modem_sim_select_remote(ci->slot); - call_script(g_client, "request-sim-remote"); - - /* set the ATR */ - //atr_update_csum(real_atr, sizeof(real_atr)); - cardem_request_set_atr(ci, cfg->atr.data, cfg->atr.len); - - /* select remote (forwarded) SIM */ - st_modem_reset_pulse(ci->slot, 300); - call_script(g_client, "request-modem-reset"); - - printf("Entering main loop\n"); - - allocate_and_submit_irq(ci); - /* submit multiple IN URB in order to work around OS#4409 */ - for (i = 0; i < 4; i++) - allocate_and_submit_in(ci); - - while (!g_leave_main) { - osmo_select_main(false); - } - g_leave_main = false; - - libusb_release_interface(transp->usb_devh, 0); - -close_exit: - if (transp->usb_devh) - libusb_close(transp-> usb_devh); -} - -int main(int argc, char **argv) -{ - struct rspro_server_conn *srvc, *bankdc; - struct client_config *cfg; - int rc; - int ret = 1; - - print_welcome(); - - talloc_enable_null_tracking(); - g_tall_ctx = talloc_named_const(NULL, 0, "global"); - talloc_asn1_ctx = talloc_named_const(g_tall_ctx, 0, "asn1"); - msgb_talloc_ctx_init(g_tall_ctx, 0); - osmo_init_logging2(g_tall_ctx, &log_info); - - g_ci = talloc_zero(g_tall_ctx, struct cardem_inst); - g_ci->slot = &_slot; - - cfg = client_config_init(g_ci); - handle_options(cfg, argc, argv); - - if (cfg->usb.vendor_id < 0 || cfg->usb.product_id < 0) { - fprintf(stderr, "You have to specify the vendor and product ID\n"); - goto do_exit; - } - - signal(SIGUSR1, handle_sig_usr1); - - rc = osmo_libusb_init(NULL); - if (rc < 0) { - fprintf(stderr, "libusb initialization failed\n"); - goto do_exit; - } - - g_gti = gsmtap_source_init(cfg->gsmtap_host, GSMTAP_UDP_PORT, 0); - if (!g_gti) { - perror("unable to open GSMTAP"); - goto close_exit; - } - gsmtap_source_add_sink(g_gti); - - signal(SIGINT, &signal_handler); - - // initialize remote SIM client - - g_client = talloc_zero(g_tall_ctx, struct bankd_client); - g_client->cfg = cfg; - g_client->cardem = g_ci; - - if (cfg->client_id != -1) { - g_client->srv_conn.clslot = talloc_zero(g_client, ClientSlot_t); - g_client->srv_conn.clslot->clientId = cfg->client_id; - /* default to client slot 0 */ - if (cfg->client_slot == -1) - g_client->srv_conn.clslot->slotNr = 0; - else - g_client->srv_conn.clslot->slotNr = cfg->client_slot; - g_client->bankd_conn.clslot = talloc_zero(g_client, ClientSlot_t); - *g_client->bankd_conn.clslot = *g_client->srv_conn.clslot; - } - - /* create and [attempt to] establish connection to remsim-server */ - srvc = &g_client->srv_conn; - srvc->server_host = cfg->server_host; - srvc->server_port = cfg->server_port; - srvc->handle_rx = srvc_handle_rx; - srvc->own_comp_id.type = ComponentType_remsimClient; - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "simtrace2-remsim-client"); - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-client"); - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION); - rc = server_conn_fsm_alloc(g_client, srvc); - if (rc < 0) { - fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno)); - exit(1); - } - osmo_fsm_inst_dispatch(srvc->fi, SRVC_E_ESTABLISH, NULL); - - /* create and not yet establish connection to remsim-bankd */ - srvc = &g_client->srv_conn; - bankdc = &g_client->bankd_conn; - /* server_host / server_port are configured from remsim-server */ - bankdc->handle_rx = bankd_handle_rx; - memcpy(&bankdc->own_comp_id, &srvc->own_comp_id, sizeof(bankdc->own_comp_id)); - rc = server_conn_fsm_alloc(g_client, bankdc); - if (rc < 0) { - fprintf(stderr, "Unable to create bankd conn FSM: %s\n", strerror(errno)); - exit(1); - } - osmo_fsm_inst_update_id(bankdc->fi, "bankd"); - - asn_debug = 0; - - // connect to SIMtrace2 cardem - do { - main_body(g_ci, cfg); - sleep(1); - } while (cfg->keep_running); - -close_exit: - osmo_libusb_exit(NULL); -do_exit: - return ret; -} diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c index 677b781..188d3a6 100644 --- a/src/client/user_ifdhandler.c +++ b/src/client/user_ifdhandler.c @@ -148,70 +148,66 @@ } /*********************************************************************** - * Incoming RSPRO messages from bank-daemon (SIM card) + * frontend to remsim-client main FSM code ***********************************************************************/ -static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_request_card_insert(struct bankd_client *bc) { - const struct TpduCardToModem *card2modem; + return 0; +} + +int frontend_request_sim_remote(struct bankd_client *bc) +{ + return 0; +} + +int frontend_request_modem_reset(struct bankd_client *bc) +{ + return 0; +} + +int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len) +{ struct client_thread *ct = bc->data; struct msgb *msg; - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); + OSMO_ASSERT(data); - card2modem = &pdu->msg.choice.tpduCardToModem; - DEBUGP(DMAIN, "R-APDU: %s\n", osmo_hexdump(card2modem->data.buf, card2modem->data.size)); + DEBUGP(DMAIN, "R-APDU: %s\n", osmo_hexdump(data, len)); /* enqueue towards IFD thread */ - msg = itmsg_alloc(ITMSG_TYPE_R_APDU_IND, 0, card2modem->data.buf, card2modem->data.size); + msg = itmsg_alloc(ITMSG_TYPE_R_APDU_IND, 0, data, len); OSMO_ASSERT(msg); enqueue_to_ifd(ct, msg); return 0; } -static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len) { struct client_thread *ct = bc->data; - RsproPDU_t *resp; unsigned int atr_len; - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); + OSMO_ASSERT(data); - DEBUGP(DMAIN, "SET_ATR: %s\n", osmo_hexdump(pdu->msg.choice.setAtrReq.atr.buf, - pdu->msg.choice.setAtrReq.atr.size)); + DEBUGP(DMAIN, "SET_ATR: %s\n", osmo_hexdump(data, len)); /* store ATR in local data structure until somebody needs it */ - atr_len = pdu->msg.choice.setAtrReq.atr.size; + atr_len = len; if (atr_len > sizeof(ct->atr)) atr_len = sizeof(ct->atr); - memcpy(ct->atr, pdu->msg.choice.setAtrReq.atr.buf, atr_len); + memcpy(ct->atr, data, atr_len); ct->atr_len = atr_len; - resp = rspro_gen_SetAtrRes(ResultCode_ok); - if (!resp) - return -ENOMEM; - server_conn_send_rspro(&bc->bankd_conn, resp); - return 0; } - -int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) +int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts) { - struct bankd_client *bc = bankdc2bankd_client(bankdc); + return 0; +} - switch (pdu->msg.present) { - case RsproPDUchoice_PR_tpduCardToModem: - bankd_handle_tpduCardToModem(bc, pdu); - break; - case RsproPDUchoice_PR_setAtrReq: - bankd_handle_setAtrReq(bc, pdu); - break; - default: - OSMO_ASSERT(0); - } +int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +{ return 0; } @@ -363,6 +359,7 @@ static void *client_pthread_main(void *arg) { struct client_thread_cfg *cfg = arg; + struct client_config *ccfg; struct client_thread *ct; int rc; @@ -373,17 +370,20 @@ ct = talloc_zero(OTC_GLOBAL, struct client_thread); OSMO_ASSERT(ct); + ccfg = client_config_init(ct); + OSMO_ASSERT(ccfg); + osmo_talloc_replace_string(ccfg, &ccfg->server_host, cfg->server_host); + if (cfg->server_port >= 0) + ccfg->server_port = cfg->server_port; + ccfg->client_id = cfg->client_id; + ccfg->client_slot = cfg->client_slot; + if (!talloc_asn1_ctx) talloc_asn1_ctx= talloc_named_const(ct, 0, "asn1"); - ct->bc = remsim_client_create(ct, cfg->name, "remsim_ifdhandler"); + ct->bc = remsim_client_create(ct, cfg->name, "remsim_ifdhandler", ccfg); OSMO_ASSERT(ct->bc); ct->bc->data = ct; - remsim_client_set_clslot(ct->bc, cfg->client_id, cfg->client_slot); - if (cfg->server_host) - ct->bc->srv_conn.server_host = (char *) cfg->server_host; - if (cfg->server_port >= 0) - ct->bc->srv_conn.server_port = cfg->server_port; INIT_LLIST_HEAD(&ct->it_msgq); osmo_fd_setup(&ct->it_ofd, cfg->it_sock_fd, OSMO_FD_READ, &it_sock_fd_cb, ct, 0); diff --git a/src/client/user_shell.c b/src/client/user_shell.c index abe1542..40bcddd 100644 --- a/src/client/user_shell.c +++ b/src/client/user_shell.c @@ -12,58 +12,54 @@ /*********************************************************************** - * Incoming RSPRO messages from bank-daemon (SIM card) + * stdin frontend code to remsim-client ***********************************************************************/ -static int bankd_handle_tpduCardToModem(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_request_card_insert(struct bankd_client *bc) { - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_tpduCardToModem == pdu->msg.present); + return 0; +} - const struct TpduCardToModem *card2modem = &pdu->msg.choice.tpduCardToModem; +int frontend_request_sim_remote(struct bankd_client *bc) +{ + return 0; +} - printf("R-APDU: %s\n", osmo_hexdump(card2modem->data.buf, card2modem->data.size)); +int frontend_request_modem_reset(struct bankd_client *bc) +{ + return 0; +} + +int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len) +{ + OSMO_ASSERT(data); + printf("R-APDU: %s\n", osmo_hexdump(data, len)); fflush(stdout); return 0; } -static int bankd_handle_setAtrReq(struct bankd_client *bc, const RsproPDU_t *pdu) +int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len) { - RsproPDU_t *resp; + OSMO_ASSERT(data); - OSMO_ASSERT(pdu); - OSMO_ASSERT(RsproPDUchoice_PR_setAtrReq == pdu->msg.present); - - printf("SET_ATR: %s\n", osmo_hexdump(pdu->msg.choice.setAtrReq.atr.buf, - pdu->msg.choice.setAtrReq.atr.size)); + printf("SET_ATR: %s\n", osmo_hexdump(data, len)); fflush(stdout); - resp = rspro_gen_SetAtrRes(ResultCode_ok); - if (!resp) - return -ENOMEM; - server_conn_send_rspro(&bc->bankd_conn, resp); - return 0; } - -int client_user_bankd_handle_rx(struct rspro_server_conn *bankdc, const RsproPDU_t *pdu) +int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts) { - struct bankd_client *client = bankdc2bankd_client(bankdc); - switch (pdu->msg.present) { - case RsproPDUchoice_PR_tpduCardToModem: - bankd_handle_tpduCardToModem(client, pdu); - break; - case RsproPDUchoice_PR_setAtrReq: - bankd_handle_setAtrReq(client, pdu); - break; - default: - OSMO_ASSERT(0); - } return 0; } +int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +{ + return 0; +} + + /*********************************************************************** * Incoming command from the user application (stdin shell in our case) ***********************************************************************/ diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c new file mode 100644 index 0000000..24a8d09 --- /dev/null +++ b/src/client/user_simtrace2.c @@ -0,0 +1,458 @@ +/* (C) 2018-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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include + +#include + +#include +#include + +#include + +#include +#include +#include + +#include "client.h" +#include "debug.h" + + +/*********************************************************************** + * Incoming Messages from cardem firmware + ***********************************************************************/ + +/*! \brief Process a STATUS message from the SIMtrace2 */ +static int process_do_status(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + 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); + + return 0; +} + +/*! \brief Process a PTS indication message from the SIMtrace2 */ +static int process_do_pts(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + struct cardemu_usb_msg_pts_info *pts = (struct cardemu_usb_msg_pts_info *) buf; + struct bankd_client *bc = ci->priv; + struct frontend_pts fpts = { + .buf = pts->req, + .len = sizeof(pts->req), + }; + + printf("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); + + return 0; +} + +/*! \brief Process a ERROR indication message from the SIMtrace2 */ +__attribute__((unused)) static int process_do_error(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + 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 : ""); + + return 0; +} + +static struct osmo_apdu_context ac; // this will hold the complete APDU (across calls) + +/*! \brief Process a RX-DATA indication message from the SIMtrace2 */ +static int process_do_rx_da(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + struct cardemu_usb_msg_rx_data *data = (struct cardemu_usb_msg_rx_data *) buf; + struct bankd_client *bc = ci->priv; + struct frontend_tpdu ftpdu; + int rc; + + printf("SIMtrace => DATA: flags=%x, %s: ", data->flags, + osmo_hexdump(data->data, data->data_len)); + + /* parse the APDU data in the USB message */ + rc = osmo_apdu_segment_in(&ac, data->data, data->data_len, + data->flags & CEMU_DATA_F_TPDU_HDR); + + if (rc & APDU_ACT_TX_CAPDU_TO_CARD) { + /* there is no pending data coming from the modem */ + uint8_t apdu_command[sizeof(ac.hdr) + ac.lc.tot]; + memcpy(apdu_command, &ac.hdr, sizeof(ac.hdr)); + if (ac.lc.tot) + memcpy(apdu_command + sizeof(ac.hdr), ac.dc, ac.lc.tot); + /* 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); + } 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); + } + return 0; +} + +#if 0 + case SIMTRACE_CMD_DO_ERROR + rc = process_do_error(ci, buf, len); + break; +#endif + +/*! \brief Process an incoming message from the SIMtrace2 */ +static int process_usb_msg(struct osmo_st2_cardem_inst *ci, uint8_t *buf, int len) +{ + struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; + int rc; + + printf("SIMtrace -> %s\n", osmo_hexdump(buf, len)); + + buf += sizeof(*sh); + + switch (sh->msg_type) { + case SIMTRACE_MSGT_BD_CEMU_STATUS: + rc = process_do_status(ci, buf, len); + break; + case SIMTRACE_MSGT_DO_CEMU_PTS: + rc = process_do_pts(ci, buf, len); + break; + case SIMTRACE_MSGT_DO_CEMU_RX_DATA: + rc = process_do_rx_da(ci, buf, len); + break; + case SIMTRACE_MSGT_BD_CEMU_CONFIG: + /* firmware confirms configuration change; ignore */ + break; + default: + printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); + rc = -1; + break; + } + + return rc; +} + + +/*! \brief Process a STATUS message on IRQ endpoint from the SIMtrace2 */ +static int process_irq_status(struct osmo_st2_cardem_inst *ci, const uint8_t *buf, int len) +{ + const struct cardemu_usb_msg_status *status = (struct cardemu_usb_msg_status *) buf; + struct bankd_client *bc = ci->priv; + struct frontend_phys_status pstatus = { + .flags = { + .reset_active = status->flags & CEMU_STATUS_F_RESET_ACTIVE, + .vcc_present = status->flags & CEMU_STATUS_F_VCC_PRESENT, + .clk_active = status->flags & CEMU_STATUS_F_CLK_ACTIVE, + .card_present = -1 /* FIXME: make this dependent on board */, + }, + .voltage_mv = status->voltage_mv, + .fi = status->fi, + .di = status->di, + .wi = status->wi, + .waiting_time = status->waiting_time, + }; + + printf("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); + + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_STATUS_IND, &pstatus); + return 0; +} + +static int process_usb_msg_irq(struct osmo_st2_cardem_inst *ci, const uint8_t *buf, unsigned int len) +{ + struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; + int rc; + + printf("SIMtrace IRQ %s\n", osmo_hexdump(buf, len)); + + buf += sizeof(*sh); + + switch (sh->msg_type) { + case SIMTRACE_MSGT_BD_CEMU_STATUS: + rc = process_irq_status(ci, buf, len); + break; + default: + printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); + rc = -1; + break; + } + + return rc; +} + +static void usb_in_xfer_cb(struct libusb_transfer *xfer) +{ + struct osmo_st2_cardem_inst *ci = xfer->user_data; + int rc; + + switch (xfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + /* hand the message up the stack */ + process_usb_msg(ci, xfer->buffer, xfer->actual_length); + break; + case LIBUSB_TRANSFER_NO_DEVICE: + fprintf(stderr, "USB device disappeared\n"); + exit(1); + break; + default: + fprintf(stderr, "USB IN transfer failed, status=%u\n", xfer->status); + exit(1); + break; + } + + /* re-submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + +static void allocate_and_submit_in(struct osmo_st2_cardem_inst *ci) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + 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.in; + xfer->timeout = 0; + xfer->user_data = ci; + xfer->length = 16*256; + + xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); + OSMO_ASSERT(xfer->buffer); + xfer->callback = usb_in_xfer_cb; + + /* submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + +static void usb_irq_xfer_cb(struct libusb_transfer *xfer) +{ + struct osmo_st2_cardem_inst *ci = xfer->user_data; + int rc; + + switch (xfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + process_usb_msg_irq(ci, xfer->buffer, xfer->actual_length); + break; + case LIBUSB_TRANSFER_NO_DEVICE: + fprintf(stderr, "USB device disappeared\n"); + exit(1); + break; + default: + fprintf(stderr, "USB IRQ transfer failed, status=%u\n", xfer->status); + exit(1); + break; + } + + /* re-submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + +static void allocate_and_submit_irq(struct osmo_st2_cardem_inst *ci) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + 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_INTERRUPT; + xfer->endpoint = transp->usb_ep.irq_in; + xfer->timeout = 0; + xfer->user_data = ci; + xfer->length = 64; + + xfer->buffer = libusb_dev_mem_alloc(xfer->dev_handle, xfer->length); + OSMO_ASSERT(xfer->buffer); + xfer->callback = usb_irq_xfer_cb; + + /* submit the IN transfer */ + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); +} + + + + +/*********************************************************************** + * simtrace2 frontend code to remsim-client + ***********************************************************************/ + +int frontend_request_card_insert(struct bankd_client *bc) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_cardem_request_card_insert(ci, true); +} + +int frontend_request_sim_remote(struct bankd_client *bc) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_modem_sim_select_remote(ci->slot); +} + +int frontend_request_modem_reset(struct bankd_client *bc) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_modem_reset_pulse(ci->slot, 300); +} + +int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len) +{ + 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]; + + printf("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); + } + osmo_st2_cardem_request_sw_tx(ci, ac.sw); // send SW to modem + return 0; +} + +int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + return osmo_st2_cardem_request_set_atr(ci, data, len); +} + +int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts) +{ + /* we currently don't propagate bankd status to cardem */ + return 0; +} + +int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +{ + struct osmo_st2_cardem_inst *ci = bc->cardem; + int i = 0; + + if (max_env < 4) + return -ENOSPC; + + env[i++] = talloc_asprintf(env, "REMSIM_USB_PATH=%s", ci->usb_path); + /* TODO: Configuration; Altsetting */ + env[i++] = talloc_asprintf(env, "REMSIM_USB_INTERFACE=%u", bc->cfg->usb.if_num); + + return i; +} + +/* FIXME: This must be cleaned up */ +static struct osmo_st2_transport _transp; +static struct osmo_st2_slot _slot = { + .transp = &_transp, + .slot_nr = 0, +}; + +int client_user_main(struct bankd_client *bc) +{ + struct usb_interface_match _ifm, *ifm = &_ifm; + struct osmo_st2_transport *transp; + struct osmo_st2_cardem_inst *ci; + struct client_config *cfg = bc->cfg; + int rc, i; + + rc = osmo_libusb_init(NULL); + if (rc < 0) { + fprintf(stderr, "libusb initialization failed\n"); + return rc; + } + + ci = talloc_zero(bc, struct osmo_st2_cardem_inst); + OSMO_ASSERT(ci); + ci->slot = &_slot; + transp = ci->slot->transp; + ci->priv = bc; + bc->cardem = ci; + + ifm->vendor = cfg->usb.vendor_id; + ifm->product = cfg->usb.product_id; + ifm->configuration = cfg->usb.config_id; + ifm->interface = cfg->usb.if_num; + ifm->altsetting = cfg->usb.altsetting; + ifm->addr = cfg->usb.addr; + if (cfg->usb.path) + osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); + transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); + if (!transp->usb_devh) { + fprintf(stderr, "can't open USB device\n"); + return -1; + } + + /* (re)determine the USB path of the opened device */ + talloc_free(ci->usb_path); + ci->usb_path = osmo_libusb_dev_get_path_c(ci, libusb_get_device(transp->usb_devh)); + + rc = libusb_claim_interface(transp->usb_devh, cfg->usb.if_num); + if (rc < 0) { + fprintf(stderr, "can't claim interface %d; rc=%d\n", cfg->usb.if_num, rc); + goto close_exit; + } + + rc = osmo_libusb_get_ep_addrs(transp->usb_devh, cfg->usb.if_num, &transp->usb_ep.out, + &transp->usb_ep.in, &transp->usb_ep.irq_in); + if (rc < 0) { + fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc); + goto close_exit; + } + + allocate_and_submit_irq(ci); + /* submit multiple IN URB in order to work around OS#4409 */ + for (i = 0; i < 4; i++) + allocate_and_submit_in(ci); + + /* request firmware to generate STATUS on IRQ endpoint */ + osmo_st2_cardem_request_config(ci, CEMU_FEAT_F_STATUS_IRQ); + + while (1) { + osmo_select_main(0); + } + + return 0; + +close_exit: + if (transp->usb_devh) + libusb_close(transp->usb_devh); + osmo_libusb_exit(NULL); + + return -1; +} diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index e55892c..36a3016 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -397,7 +397,7 @@ [SRVC_ST_INIT] = { .name = "INIT", .in_event_mask = 0, /* S(SRVC_E_ESTABLISH) via allstate */ - .out_state_mask = S(SRVC_ST_REESTABLISH), + .out_state_mask = S(SRVC_ST_INIT) | S(SRVC_ST_REESTABLISH), .action = srvc_st_init, }, [SRVC_ST_ESTABLISHED] = { -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I44a430bc5674dea00ed72a0b28729ac8bcb4e022 Gerrit-Change-Number: 17361 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 Wed Mar 4 17:15:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:15:58 +0000 Subject: Change in osmo-remsim[master]: client: Fix TODO: add CLK status information to event-script environment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17362 ) Change subject: client: Fix TODO: add CLK status information to event-script environment ...................................................................... client: Fix TODO: add CLK status information to event-script environment Change-Id: Iecc6002a8effaae7d8c3cab2aa4c6109f83f35b2 --- M src/client/main_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c index b94af26..0674f6c 100644 --- a/src/client/main_fsm.c +++ b/src/client/main_fsm.c @@ -70,7 +70,7 @@ env[i++] = talloc_asprintf(env, "REMSIM_SIM_VCC=%u", bc->last_status.flags.vcc_present); env[i++] = talloc_asprintf(env, "REMSIM_SIM_RST=%u", bc->last_status.flags.reset_active); - /* TODO: SIM card state CLK */ + env[i++] = talloc_asprintf(env, "REMSIM_SIM_CLK=%u", bc->last_status.flags.clk_active); env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iecc6002a8effaae7d8c3cab2aa4c6109f83f35b2 Gerrit-Change-Number: 17362 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 Wed Mar 4 17:21:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:21:01 +0000 Subject: Change in osmo-remsim[master]: Install config files to /etc/default/ 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/+/17366 to look at the new patch set (#4). Change subject: Install config files to /etc/default/ ...................................................................... Install config files to /etc/default/ Related: OS#4326 Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b --- M contrib/etc_default/Makefile.am M debian/osmo-remsim-bankd.install M debian/osmo-remsim-client.install 3 files changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/66/17366/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b Gerrit-Change-Number: 17366 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 Mar 4 17:24:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:24:26 +0000 Subject: Change in osmo-remsim[master]: configure/Makefile: Include contrib in "make dist" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17364 ) Change subject: configure/Makefile: Include contrib in "make dist" ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I2d6a2e06f075391e8e51d1342a1afe955cc127b0 Gerrit-Change-Number: 17364 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 17:24:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 17:24:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:24:28 +0000 Subject: Change in osmo-remsim[master]: configure.ac + debian: Add systemd service file support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17365 ) Change subject: configure.ac + debian: Add systemd service file support ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0d7b6562c1127f005ddbd47298c03942ac3d241d Gerrit-Change-Number: 17365 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 17:24:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 17:24:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:24:30 +0000 Subject: Change in osmo-remsim[master]: Install config files to /etc/default/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17366 ) Change subject: Install config files to /etc/default/ ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b Gerrit-Change-Number: 17366 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 17:24: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 Mar 4 17:28:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:28:25 +0000 Subject: Change in osmo-remsim[master]: configure/Makefile: Include contrib in "make dist" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17364 ) Change subject: configure/Makefile: Include contrib in "make dist" ...................................................................... configure/Makefile: Include contrib in "make dist" Change-Id: I2d6a2e06f075391e8e51d1342a1afe955cc127b0 --- M Makefile.am M configure.ac A contrib/Makefile.am A contrib/etc_default/Makefile.am A contrib/systemd/Makefile.am 5 files changed, 11 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 9789ba3..9c51a55 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2 -SUBDIRS = src include doc +SUBDIRS = contrib src include doc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-rspro.pc diff --git a/configure.ac b/configure.ac index c4d9766..d2c5e58 100644 --- a/configure.ac +++ b/configure.ac @@ -169,6 +169,9 @@ AC_OUTPUT( Makefile libosmo-rspro.pc + contrib/Makefile + contrib/etc_default/Makefile + contrib/systemd/Makefile doc/Makefile doc/manuals/Makefile src/Makefile diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 0000000..17f56ed --- /dev/null +++ b/contrib/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = etc_default systemd + +EXTRA_DIST = remsim-apitool.py owhw-event-script.sh diff --git a/contrib/etc_default/Makefile.am b/contrib/etc_default/Makefile.am new file mode 100644 index 0000000..49c9fe6 --- /dev/null +++ b/contrib/etc_default/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = osmo-remsim-bankd \ + osmo-remsim-client \ + osmo-remsim-client-0 osmo-remsim-client-1 osmo-remsim-client-2 osmo-remsim-client-3 diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am new file mode 100644 index 0000000..642920c --- /dev/null +++ b/contrib/systemd/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = osmo-remsim-bankd.service osmo-remsim-client at .service osmo-remsim-server.service -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I2d6a2e06f075391e8e51d1342a1afe955cc127b0 Gerrit-Change-Number: 17364 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 Wed Mar 4 17:28:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:28:26 +0000 Subject: Change in osmo-remsim[master]: configure.ac + debian: Add systemd service file support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17365 ) Change subject: configure.ac + debian: Add systemd service file support ...................................................................... configure.ac + debian: Add systemd service file support Closes: OS#4326 Change-Id: I0d7b6562c1127f005ddbd47298c03942ac3d241d --- M configure.ac M contrib/systemd/Makefile.am M debian/osmo-remsim-bankd.install M debian/osmo-remsim-client.install M debian/osmo-remsim-server.install 5 files changed, 26 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index d2c5e58..0ccb0ba 100644 --- a/configure.ac +++ b/configure.ac @@ -160,6 +160,22 @@ AC_SUBST([OSMO_GSM_MANUALS_DIR]) fi +# https://www.freedesktop.org/software/systemd/man/daemon.html +AC_ARG_WITH([systemdsystemunitdir], + [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],, + [with_systemdsystemunitdir=auto]) +AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [ + def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) + + AS_IF([test "x$def_systemdsystemunitdir" = "x"], + [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], + [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])]) + with_systemdsystemunitdir=no], + [with_systemdsystemunitdir="$def_systemdsystemunitdir"])]) +AS_IF([test "x$with_systemdsystemunitdir" != "xno"], + [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])]) +AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) + CFLAGS="$CFLAGS -Wall" CPPFLAGS="$CPPFLAGS -Wall" diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am index 642920c..2cc64df 100644 --- a/contrib/systemd/Makefile.am +++ b/contrib/systemd/Makefile.am @@ -1 +1,8 @@ EXTRA_DIST = osmo-remsim-bankd.service osmo-remsim-client at .service osmo-remsim-server.service + +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + osmo-remsim-bankd.service \ + osmo-remsim-server.service \ + osmo-remsim-client at .service +endif diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index d8168d5..58de089 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -1 +1,2 @@ usr/bin/osmo-remsim-bankd +lib/systemd/system/osmo-remsim-bankd.service diff --git a/debian/osmo-remsim-client.install b/debian/osmo-remsim-client.install index 8e73dc1..85ffb82 100644 --- a/debian/osmo-remsim-client.install +++ b/debian/osmo-remsim-client.install @@ -1 +1,2 @@ usr/bin/osmo-remsim-client* +lib/systemd/system/osmo-remsim-client* diff --git a/debian/osmo-remsim-server.install b/debian/osmo-remsim-server.install index f6f14a1..497f7e1 100644 --- a/debian/osmo-remsim-server.install +++ b/debian/osmo-remsim-server.install @@ -1 +1,2 @@ usr/bin/osmo-remsim-server +lib/systemd/system/osmo-remsim-server.service -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0d7b6562c1127f005ddbd47298c03942ac3d241d Gerrit-Change-Number: 17365 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 Wed Mar 4 17:28:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:28:26 +0000 Subject: Change in osmo-remsim[master]: Install config files to /etc/default/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17366 ) Change subject: Install config files to /etc/default/ ...................................................................... Install config files to /etc/default/ Related: OS#4326 Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b --- M contrib/etc_default/Makefile.am M debian/osmo-remsim-bankd.install M debian/osmo-remsim-client.install 3 files changed, 10 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/etc_default/Makefile.am b/contrib/etc_default/Makefile.am index 49c9fe6..b95c645 100644 --- a/contrib/etc_default/Makefile.am +++ b/contrib/etc_default/Makefile.am @@ -1,3 +1,8 @@ -EXTRA_DIST = osmo-remsim-bankd \ - osmo-remsim-client \ - osmo-remsim-client-0 osmo-remsim-client-1 osmo-remsim-client-2 osmo-remsim-client-3 +OSMOCONF_FILES = osmo-remsim-bankd \ + osmo-remsim-client \ + osmo-remsim-client-0 osmo-remsim-client-1 osmo-remsim-client-2 osmo-remsim-client-3 + +EXTRA_DIST = $(OSMOCONF_FILES) + +osmoconfdir = $(sysconfdir)/default +osmoconf_DATA = $(OSMOCONF_FILES) diff --git a/debian/osmo-remsim-bankd.install b/debian/osmo-remsim-bankd.install index 58de089..4e1d6a5 100644 --- a/debian/osmo-remsim-bankd.install +++ b/debian/osmo-remsim-bankd.install @@ -1,2 +1,3 @@ usr/bin/osmo-remsim-bankd lib/systemd/system/osmo-remsim-bankd.service +etc/default/osmo-remsim-bankd diff --git a/debian/osmo-remsim-client.install b/debian/osmo-remsim-client.install index 85ffb82..abf53ed 100644 --- a/debian/osmo-remsim-client.install +++ b/debian/osmo-remsim-client.install @@ -1,2 +1,3 @@ usr/bin/osmo-remsim-client* lib/systemd/system/osmo-remsim-client* +etc/default/osmo-remsim-client* -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ibff534c2f247557bb4eb0f72b8babe85ad0b315b Gerrit-Change-Number: 17366 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 17:31:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 17:31:51 +0000 Subject: Change in osmo-remsim[master]: contrib/jenkins.sh: Harmonize with what we do in other projects References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17368 ) Change subject: contrib/jenkins.sh: Harmonize with what we do in other projects ...................................................................... contrib/jenkins.sh: Harmonize with what we do in other projects most importantly: * conditional build of manuals * enforce build of manuals if enabled * publish manuals, if requested Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 --- M contrib/jenkins.sh 1 file changed, 17 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/68/17368/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 347ea9b..c3ae730 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -27,6 +27,13 @@ osmo-build-dep.sh libosmo-netif osmo-build-dep.sh simtrace2 +# Additional configure options and depends +CONFIG="" +if [ "$WITH_MANUALS" = "1" ]; then + osmo-build-dep.sh osmo-gsm-manuals + CONFIG="--enable-manuals" +fi + set +x echo echo @@ -35,11 +42,18 @@ echo set -x +cd "$base" autoreconf --install --force -./configure --enable-sanitize #--enable-werror +./configure --enable-sanitize --enable-werror $CONFIG $MAKE $PARALLEL_MAKE -$MAKE distcheck \ +LD_LIBRARY_PATH="$inst/lib" \ + DISTCHCK_CONFIGURE_FLAGS="--enable-werror $CONFIG" \ + $MAKE distcheck \ || cat-testlogs.sh -$MAKE maintainer-clean +if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then + make -C "$base/doc/manuals" publish +fi + +$MAKE maintainer-clean osmo-clean-workspace.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 Gerrit-Change-Number: 17368 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 Mar 4 18:22:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:54 +0000 Subject: Change in osmo-remsim[master]: contrib/jenkins.sh: Harmonize with what we do in other projects 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/+/17368 to look at the new patch set (#2). Change subject: contrib/jenkins.sh: Harmonize with what we do in other projects ...................................................................... contrib/jenkins.sh: Harmonize with what we do in other projects most importantly: * conditional build of manuals * enforce build of manuals if enabled * publish manuals, if requested Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 --- M contrib/jenkins.sh 1 file changed, 23 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/68/17368/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 Gerrit-Change-Number: 17368 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 Mar 4 18:22:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:55 +0000 Subject: Change in osmo-remsim[master]: debian: split osmo-remsim-client into osmo-remsim-client-{shell, st2} References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17369 ) Change subject: debian: split osmo-remsim-client into osmo-remsim-client-{shell,st2} ...................................................................... debian: split osmo-remsim-client into osmo-remsim-client-{shell,st2} The -shell client has no dependency to libosmo-simtrace2, so it makes sense to package it separately. Change-Id: I6c634572af5036fd7f9ce1fee6d1474e06bdaa5a --- M debian/control A debian/osmo-remsim-client-shell.install R debian/osmo-remsim-client-st2.install 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/69/17369/1 diff --git a/debian/control b/debian/control index 330b220..d161815 100644 --- a/debian/control +++ b/debian/control @@ -61,16 +61,24 @@ respective cards. It establishes a control connection to remsim-server and receives inbound connections from remsim-clients. -Package: osmo-remsim-client +Package: osmo-remsim-client-st2 Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Osmocom Remote SIM - Client +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: osmo-remsim-client-shell +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Osmocom Remote SIM - Interactive Client + 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: libifd-osmo-remsim-client0 Architecture: any Multi-Arch: same diff --git a/debian/osmo-remsim-client-shell.install b/debian/osmo-remsim-client-shell.install new file mode 100644 index 0000000..3216187 --- /dev/null +++ b/debian/osmo-remsim-client-shell.install @@ -0,0 +1 @@ +usr/bin/osmo-remsim-client-shell diff --git a/debian/osmo-remsim-client.install b/debian/osmo-remsim-client-st2.install similarity index 100% rename from debian/osmo-remsim-client.install rename to debian/osmo-remsim-client-st2.install -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I6c634572af5036fd7f9ce1fee6d1474e06bdaa5a Gerrit-Change-Number: 17369 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 Mar 4 18:22:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:55 +0000 Subject: Change in osmo-remsim[master]: libosmo-rspro: Avoid useless dependency to libosmogsm References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17370 ) Change subject: libosmo-rspro: Avoid useless dependency to libosmogsm ...................................................................... libosmo-rspro: Avoid useless dependency to libosmogsm dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libosmo-rspro1/usr/lib/x86_64-linux-gnu/libosmo-rspro.so.1.0.0 was not linked against libosmogsm.so.13 (it uses none of the library's symbols) Change-Id: I6ed59e4b1a23625653be2647f271a5d993535800 --- M src/Makefile.am 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/70/17370/1 diff --git a/src/Makefile.am b/src/Makefile.am index 6fff228..81fe4ca 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,7 +16,8 @@ RSPRO_LIBVERSION=1:0:0 lib_LTLIBRARIES = libosmo-rspro.la libosmo_rspro_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RSPRO_LIBVERSION) -libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ +# OSMOGSM_LIBS not needed, we don't use any of its symbols, only the header above +libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOABIS_LIBS) \ rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c asn1c_helpers.c -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I6ed59e4b1a23625653be2647f271a5d993535800 Gerrit-Change-Number: 17370 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 Mar 4 18:22:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:56 +0000 Subject: Change in osmo-remsim[master]: Avoid useless dependency on libcsv References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17371 ) Change subject: Avoid useless dependency on libcsv ...................................................................... Avoid useless dependency on libcsv We don't want to link everything against libvsv. Only bankd needs it. Change-Id: I288c27611b042fef76101e247b41c7a2f6c7483b dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libosmo-rspro1/usr/lib/x86_64-linux-gnu/libosmo-rspro.so.1.0.0 was not linked against libcsv.so.3 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-server/usr/bin/osmo-remsim-server was not linked against libcsv.so.3 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-client/usr/bin/osmo-remsim-client-shell debian/osmo-remsim-client/usr/bin/osmo-remsim-client-st2 were not linked against libcsv.so.3 (they use none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libifd-osmo-remsim-client0/usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so.0.0.0 was not linked against libcsv.so.3 (it uses none of the library's symbols) --- M configure.ac M src/bankd/Makefile.am 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/71/17371/1 diff --git a/configure.ac b/configure.ac index 0ccb0ba..586d7ef 100644 --- a/configure.ac +++ b/configure.ac @@ -32,8 +32,9 @@ fi PKG_PROG_PKG_CONFIG([0.20]) -AC_CHECK_LIB(csv, csv_init, LIBS="$LIBS -lcsv", [AC_MSG_ERROR([*** libcsv library not found!])]) +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) diff --git a/src/bankd/Makefile.am b/src/bankd/Makefile.am index 62ed581..f2afa19 100644 --- a/src/bankd/Makefile.am +++ b/src/bankd/Makefile.am @@ -15,7 +15,7 @@ osmo_remsim_bankd_SOURCES = ../slotmap.c ../rspro_client_fsm.c ../debug.c \ bankd_main.c bankd_pcsc.c osmo_remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) $(OSMOSIM_LIBS) \ - $(PCSC_LIBS) $(top_builddir)/src/libosmo-rspro.la -lcsv + $(PCSC_LIBS) $(CSV_LIBS) $(top_builddir)/src/libosmo-rspro.la # as suggested in http://lists.gnu.org/archive/html/automake/2009-03/msg00011.html FORCE: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I288c27611b042fef76101e247b41c7a2f6c7483b Gerrit-Change-Number: 17371 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 Mar 4 18:22:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:57 +0000 Subject: Change in osmo-remsim[master]: libosmo-rspro: Avoid useless dependency to libosmo-abis References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17372 ) Change subject: libosmo-rspro: Avoid useless dependency to libosmo-abis ...................................................................... libosmo-rspro: Avoid useless dependency to libosmo-abis Change-Id: I124003dafb7b90664e6614965990243771be62a9 dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libosmo-rspro1/usr/lib/x86_64-linux-gnu/libosmo-rspro.so.1.0.0 was not linked against libosmoabis.so.6 (it uses none of the library's symbols) --- M src/Makefile.am 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/72/17372/1 diff --git a/src/Makefile.am b/src/Makefile.am index 81fe4ca..5f71df5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,8 +16,8 @@ RSPRO_LIBVERSION=1:0:0 lib_LTLIBRARIES = libosmo-rspro.la libosmo_rspro_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RSPRO_LIBVERSION) -# OSMOGSM_LIBS not needed, we don't use any of its symbols, only the header above -libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOABIS_LIBS) \ +# OSMOGSM_LIBS, OSMOABIS_LIBS not needed, we don't use any of its symbols, only the header above +libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) \ rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c asn1c_helpers.c -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I124003dafb7b90664e6614965990243771be62a9 Gerrit-Change-Number: 17372 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 Mar 4 18:22:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:58 +0000 Subject: Change in osmo-remsim[master]: bankd: Avoid useless dependency to libosmosim References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17373 ) Change subject: bankd: Avoid useless dependency to libosmosim ...................................................................... bankd: Avoid useless dependency to libosmosim Change-Id: I015b1a49dbdd19d030acd929b5a935021b77cefa dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-bankd/usr/bin/osmo-remsim-bankd was not linked against libosmosim.so.0 (it uses none of the library's symbols) --- M src/bankd/Makefile.am M src/bankd/driver_pcsc.c M src/bankd/main.c 3 files changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/73/17373/1 diff --git a/src/bankd/Makefile.am b/src/bankd/Makefile.am index f2afa19..42c9bd3 100644 --- a/src/bankd/Makefile.am +++ b/src/bankd/Makefile.am @@ -1,6 +1,6 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src \ -I$(top_srcdir)/include/osmocom/rspro \ - $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) $(OSMOSIM_CFLAGS) \ + $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) \ $(PCSC_CFLAGS) noinst_HEADERS = bankd.h internal.h @@ -14,7 +14,7 @@ osmo_remsim_bankd_SOURCES = ../slotmap.c ../rspro_client_fsm.c ../debug.c \ bankd_main.c bankd_pcsc.c -osmo_remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) $(OSMOSIM_LIBS) \ +osmo_remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(PCSC_LIBS) $(CSV_LIBS) $(top_builddir)/src/libosmo-rspro.la # as suggested in http://lists.gnu.org/archive/html/automake/2009-03/msg00011.html diff --git a/src/bankd/driver_pcsc.c b/src/bankd/driver_pcsc.c index 5102512..03a7f32 100644 --- a/src/bankd/driver_pcsc.c +++ b/src/bankd/driver_pcsc.c @@ -31,7 +31,6 @@ #include #include -#include #include #include diff --git a/src/bankd/main.c b/src/bankd/main.c index 23fa9d2..4bb91ca 100644 --- a/src/bankd/main.c +++ b/src/bankd/main.c @@ -29,7 +29,6 @@ #include #include -#include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I015b1a49dbdd19d030acd929b5a935021b77cefa Gerrit-Change-Number: 17373 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 Mar 4 18:22:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:58 +0000 Subject: Change in osmo-remsim[master]: client: Avoid useless depedency to libosmosim References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17374 ) Change subject: client: Avoid useless depedency to libosmosim ...................................................................... client: Avoid useless depedency to libosmosim Change-Id: Ic863dc2f7fe7b435c9ea19c9cb97b691411dc0f5 dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-client-st2/usr/bin/osmo-remsim-client-st2 was not linked against libosmosim.so.0 (it uses none of the library's symbols) --- M src/client/Makefile.am 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/74/17374/1 diff --git a/src/client/Makefile.am b/src/client/Makefile.am index 43b030f..871221a 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -1,6 +1,6 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include -I/$(top_builddir)/include -I$(top_srcdir)/src \ $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) \ - $(PCSC_CFLAGS) $(USB_CFLAGS) $(OSMOSIM_CFLAGS) \ + $(PCSC_CFLAGS) $(USB_CFLAGS) \ $(OSMOSIMTRACE2_CFLAGS) \ -I$(top_srcdir)/include/osmocom/rspro @@ -32,7 +32,7 @@ osmo_remsim_client_st2_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_st2_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ - $(USB_LIBS) $(OSMOSIM_LIBS) \ + $(USB_LIBS) \ $(top_builddir)/src/libosmo-rspro.la noinst_HEADERS = client.h -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ic863dc2f7fe7b435c9ea19c9cb97b691411dc0f5 Gerrit-Change-Number: 17374 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 Mar 4 18:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:22:59 +0000 Subject: Change in osmo-remsim[master]: debian/control: Fix typo (package->Package) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17375 ) Change subject: debian/control: Fix typo (package->Package) ...................................................................... debian/control: Fix typo (package->Package) Change-Id: Ia35c5dc603830b83670b20c3f45b6857cb9d19b4 dpkg-gencontrol: warning: package osmo-remsim-doc: unknown substitution variable ${misc:Package} --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/75/17375/1 diff --git a/debian/control b/debian/control index d161815..47033fb 100644 --- a/debian/control +++ b/debian/control @@ -90,7 +90,7 @@ driver into pcscd. This means you can use remote smart cards managed by osmo-remsim-server via normal PC/SC applications. -package: osmo-remsim-doc +Package: osmo-remsim-doc Architecture: all Section: doc Priority: optional -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ia35c5dc603830b83670b20c3f45b6857cb9d19b4 Gerrit-Change-Number: 17375 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 Mar 4 18:31:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:43 +0000 Subject: Change in osmo-remsim[master]: contrib/jenkins.sh: Harmonize with what we do in other projects In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17368 ) Change subject: contrib/jenkins.sh: Harmonize with what we do in other projects ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 Gerrit-Change-Number: 17368 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18:31: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 Mar 4 18:31:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:46 +0000 Subject: Change in osmo-remsim[master]: debian: split osmo-remsim-client into osmo-remsim-client-{shell, st2} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17369 ) Change subject: debian: split osmo-remsim-client into osmo-remsim-client-{shell,st2} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I6c634572af5036fd7f9ce1fee6d1474e06bdaa5a Gerrit-Change-Number: 17369 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18:31:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:31:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:48 +0000 Subject: Change in osmo-remsim[master]: libosmo-rspro: Avoid useless dependency to libosmogsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17370 ) Change subject: libosmo-rspro: Avoid useless dependency to libosmogsm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I6ed59e4b1a23625653be2647f271a5d993535800 Gerrit-Change-Number: 17370 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18:31: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 Mar 4 18:31:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:51 +0000 Subject: Change in osmo-remsim[master]: Avoid useless dependency on libcsv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17371 ) Change subject: Avoid useless dependency on libcsv ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I288c27611b042fef76101e247b41c7a2f6c7483b Gerrit-Change-Number: 17371 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18:31: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 Mar 4 18:31:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:53 +0000 Subject: Change in osmo-remsim[master]: libosmo-rspro: Avoid useless dependency to libosmo-abis In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17372 ) Change subject: libosmo-rspro: Avoid useless dependency to libosmo-abis ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I124003dafb7b90664e6614965990243771be62a9 Gerrit-Change-Number: 17372 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18: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 Wed Mar 4 18:31:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:55 +0000 Subject: Change in osmo-remsim[master]: bankd: Avoid useless dependency to libosmosim In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17373 ) Change subject: bankd: Avoid useless dependency to libosmosim ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I015b1a49dbdd19d030acd929b5a935021b77cefa Gerrit-Change-Number: 17373 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18:31:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:31:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:57 +0000 Subject: Change in osmo-remsim[master]: client: Avoid useless depedency to libosmosim In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17374 ) Change subject: client: Avoid useless depedency to libosmosim ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ic863dc2f7fe7b435c9ea19c9cb97b691411dc0f5 Gerrit-Change-Number: 17374 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18:31:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:31:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:31:59 +0000 Subject: Change in osmo-remsim[master]: debian/control: Fix typo (package->Package) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17375 ) Change subject: debian/control: Fix typo (package->Package) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ia35c5dc603830b83670b20c3f45b6857cb9d19b4 Gerrit-Change-Number: 17375 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 18: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 Mar 4 18:32:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:02 +0000 Subject: Change in osmo-remsim[master]: contrib/jenkins.sh: Harmonize with what we do in other projects In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17368 ) Change subject: contrib/jenkins.sh: Harmonize with what we do in other projects ...................................................................... contrib/jenkins.sh: Harmonize with what we do in other projects most importantly: * conditional build of manuals * enforce build of manuals if enabled * publish manuals, if requested Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 --- M contrib/jenkins.sh 1 file changed, 23 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 347ea9b..30db3d7 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -1,5 +1,10 @@ #!/bin/sh # jenkins build helper script for libosmo-abis. This is how we build on jenkins.osmocom.org +# +# environment variables: +# * WITH_MANUALS: build manual PDFs if set to "1" +# * PUBLISH: upload manuals after building if set to "1" (ignored without WITH_MANUALS = "1") +# if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !" @@ -21,12 +26,20 @@ export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" export LD_LIBRARY_PATH="$inst/lib" +export PATH="$inst/bin:$PATH" osmo-build-dep.sh libosmocore "" --disable-doxygen osmo-build-dep.sh libosmo-abis osmo-build-dep.sh libosmo-netif osmo-build-dep.sh simtrace2 +# Additional configure options and depends +CONFIG="" +if [ "$WITH_MANUALS" = "1" ]; then + osmo-build-dep.sh osmo-gsm-manuals + CONFIG="--enable-manuals" +fi + set +x echo echo @@ -35,11 +48,18 @@ echo set -x +cd "$base" autoreconf --install --force -./configure --enable-sanitize #--enable-werror +./configure --enable-sanitize --enable-werror $CONFIG $MAKE $PARALLEL_MAKE -$MAKE distcheck \ +LD_LIBRARY_PATH="$inst/lib" \ + DISTCHCK_CONFIGURE_FLAGS="--enable-werror $CONFIG" \ + $MAKE distcheck \ || cat-testlogs.sh -$MAKE maintainer-clean +if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then + make -C "$base/doc/manuals" publish +fi + +$MAKE maintainer-clean osmo-clean-workspace.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4ed51fd5aa9d861ea4795e33b6201c15b2281b53 Gerrit-Change-Number: 17368 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 Wed Mar 4 18:32:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:03 +0000 Subject: Change in osmo-remsim[master]: debian: split osmo-remsim-client into osmo-remsim-client-{shell, st2} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17369 ) Change subject: debian: split osmo-remsim-client into osmo-remsim-client-{shell,st2} ...................................................................... debian: split osmo-remsim-client into osmo-remsim-client-{shell,st2} The -shell client has no dependency to libosmo-simtrace2, so it makes sense to package it separately. Change-Id: I6c634572af5036fd7f9ce1fee6d1474e06bdaa5a --- M debian/control A debian/osmo-remsim-client-shell.install R debian/osmo-remsim-client-st2.install 3 files changed, 11 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 330b220..d161815 100644 --- a/debian/control +++ b/debian/control @@ -61,16 +61,24 @@ respective cards. It establishes a control connection to remsim-server and receives inbound connections from remsim-clients. -Package: osmo-remsim-client +Package: osmo-remsim-client-st2 Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Osmocom Remote SIM - Client +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: osmo-remsim-client-shell +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Osmocom Remote SIM - Interactive Client + 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: libifd-osmo-remsim-client0 Architecture: any Multi-Arch: same diff --git a/debian/osmo-remsim-client-shell.install b/debian/osmo-remsim-client-shell.install new file mode 100644 index 0000000..3216187 --- /dev/null +++ b/debian/osmo-remsim-client-shell.install @@ -0,0 +1 @@ +usr/bin/osmo-remsim-client-shell diff --git a/debian/osmo-remsim-client.install b/debian/osmo-remsim-client-st2.install similarity index 100% rename from debian/osmo-remsim-client.install rename to debian/osmo-remsim-client-st2.install -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I6c634572af5036fd7f9ce1fee6d1474e06bdaa5a Gerrit-Change-Number: 17369 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:32:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:04 +0000 Subject: Change in osmo-remsim[master]: libosmo-rspro: Avoid useless dependency to libosmogsm In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17370 ) Change subject: libosmo-rspro: Avoid useless dependency to libosmogsm ...................................................................... libosmo-rspro: Avoid useless dependency to libosmogsm dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libosmo-rspro1/usr/lib/x86_64-linux-gnu/libosmo-rspro.so.1.0.0 was not linked against libosmogsm.so.13 (it uses none of the library's symbols) Change-Id: I6ed59e4b1a23625653be2647f271a5d993535800 --- M src/Makefile.am 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index 6fff228..81fe4ca 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,7 +16,8 @@ RSPRO_LIBVERSION=1:0:0 lib_LTLIBRARIES = libosmo-rspro.la libosmo_rspro_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RSPRO_LIBVERSION) -libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ +# OSMOGSM_LIBS not needed, we don't use any of its symbols, only the header above +libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOABIS_LIBS) \ rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c asn1c_helpers.c -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I6ed59e4b1a23625653be2647f271a5d993535800 Gerrit-Change-Number: 17370 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:32:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:05 +0000 Subject: Change in osmo-remsim[master]: Avoid useless dependency on libcsv In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17371 ) Change subject: Avoid useless dependency on libcsv ...................................................................... Avoid useless dependency on libcsv We don't want to link everything against libvsv. Only bankd needs it. Change-Id: I288c27611b042fef76101e247b41c7a2f6c7483b dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libosmo-rspro1/usr/lib/x86_64-linux-gnu/libosmo-rspro.so.1.0.0 was not linked against libcsv.so.3 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-server/usr/bin/osmo-remsim-server was not linked against libcsv.so.3 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-client/usr/bin/osmo-remsim-client-shell debian/osmo-remsim-client/usr/bin/osmo-remsim-client-st2 were not linked against libcsv.so.3 (they use none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libifd-osmo-remsim-client0/usr/lib/pcsc/drivers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so.0.0.0 was not linked against libcsv.so.3 (it uses none of the library's symbols) --- M configure.ac M src/bankd/Makefile.am 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 0ccb0ba..586d7ef 100644 --- a/configure.ac +++ b/configure.ac @@ -32,8 +32,9 @@ fi PKG_PROG_PKG_CONFIG([0.20]) -AC_CHECK_LIB(csv, csv_init, LIBS="$LIBS -lcsv", [AC_MSG_ERROR([*** libcsv library not found!])]) +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) diff --git a/src/bankd/Makefile.am b/src/bankd/Makefile.am index 62ed581..f2afa19 100644 --- a/src/bankd/Makefile.am +++ b/src/bankd/Makefile.am @@ -15,7 +15,7 @@ osmo_remsim_bankd_SOURCES = ../slotmap.c ../rspro_client_fsm.c ../debug.c \ bankd_main.c bankd_pcsc.c osmo_remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) $(OSMOSIM_LIBS) \ - $(PCSC_LIBS) $(top_builddir)/src/libosmo-rspro.la -lcsv + $(PCSC_LIBS) $(CSV_LIBS) $(top_builddir)/src/libosmo-rspro.la # as suggested in http://lists.gnu.org/archive/html/automake/2009-03/msg00011.html FORCE: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I288c27611b042fef76101e247b41c7a2f6c7483b Gerrit-Change-Number: 17371 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:32:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:06 +0000 Subject: Change in osmo-remsim[master]: libosmo-rspro: Avoid useless dependency to libosmo-abis In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17372 ) Change subject: libosmo-rspro: Avoid useless dependency to libosmo-abis ...................................................................... libosmo-rspro: Avoid useless dependency to libosmo-abis Change-Id: I124003dafb7b90664e6614965990243771be62a9 dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/libosmo-rspro1/usr/lib/x86_64-linux-gnu/libosmo-rspro.so.1.0.0 was not linked against libosmoabis.so.6 (it uses none of the library's symbols) --- M src/Makefile.am 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index 81fe4ca..5f71df5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,8 +16,8 @@ RSPRO_LIBVERSION=1:0:0 lib_LTLIBRARIES = libosmo-rspro.la libosmo_rspro_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RSPRO_LIBVERSION) -# OSMOGSM_LIBS not needed, we don't use any of its symbols, only the header above -libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOABIS_LIBS) \ +# OSMOGSM_LIBS, OSMOABIS_LIBS not needed, we don't use any of its symbols, only the header above +libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) \ rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c asn1c_helpers.c -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I124003dafb7b90664e6614965990243771be62a9 Gerrit-Change-Number: 17372 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:32:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:07 +0000 Subject: Change in osmo-remsim[master]: bankd: Avoid useless dependency to libosmosim In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17373 ) Change subject: bankd: Avoid useless dependency to libosmosim ...................................................................... bankd: Avoid useless dependency to libosmosim Change-Id: I015b1a49dbdd19d030acd929b5a935021b77cefa dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-bankd/usr/bin/osmo-remsim-bankd was not linked against libosmosim.so.0 (it uses none of the library's symbols) --- M src/bankd/Makefile.am M src/bankd/driver_pcsc.c M src/bankd/main.c 3 files changed, 2 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/bankd/Makefile.am b/src/bankd/Makefile.am index f2afa19..42c9bd3 100644 --- a/src/bankd/Makefile.am +++ b/src/bankd/Makefile.am @@ -1,6 +1,6 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src \ -I$(top_srcdir)/include/osmocom/rspro \ - $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) $(OSMOSIM_CFLAGS) \ + $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) \ $(PCSC_CFLAGS) noinst_HEADERS = bankd.h internal.h @@ -14,7 +14,7 @@ osmo_remsim_bankd_SOURCES = ../slotmap.c ../rspro_client_fsm.c ../debug.c \ bankd_main.c bankd_pcsc.c -osmo_remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) $(OSMOSIM_LIBS) \ +osmo_remsim_bankd_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(PCSC_LIBS) $(CSV_LIBS) $(top_builddir)/src/libosmo-rspro.la # as suggested in http://lists.gnu.org/archive/html/automake/2009-03/msg00011.html diff --git a/src/bankd/driver_pcsc.c b/src/bankd/driver_pcsc.c index 5102512..03a7f32 100644 --- a/src/bankd/driver_pcsc.c +++ b/src/bankd/driver_pcsc.c @@ -31,7 +31,6 @@ #include #include -#include #include #include diff --git a/src/bankd/main.c b/src/bankd/main.c index 23fa9d2..4bb91ca 100644 --- a/src/bankd/main.c +++ b/src/bankd/main.c @@ -29,7 +29,6 @@ #include #include -#include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I015b1a49dbdd19d030acd929b5a935021b77cefa Gerrit-Change-Number: 17373 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:32:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:08 +0000 Subject: Change in osmo-remsim[master]: client: Avoid useless depedency to libosmosim In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17374 ) Change subject: client: Avoid useless depedency to libosmosim ...................................................................... client: Avoid useless depedency to libosmosim Change-Id: Ic863dc2f7fe7b435c9ea19c9cb97b691411dc0f5 dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-remsim-client-st2/usr/bin/osmo-remsim-client-st2 was not linked against libosmosim.so.0 (it uses none of the library's symbols) --- M src/client/Makefile.am 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/Makefile.am b/src/client/Makefile.am index 43b030f..871221a 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -1,6 +1,6 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include -I/$(top_builddir)/include -I$(top_srcdir)/src \ $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) \ - $(PCSC_CFLAGS) $(USB_CFLAGS) $(OSMOSIM_CFLAGS) \ + $(PCSC_CFLAGS) $(USB_CFLAGS) \ $(OSMOSIMTRACE2_CFLAGS) \ -I$(top_srcdir)/include/osmocom/rspro @@ -32,7 +32,7 @@ osmo_remsim_client_st2_CFLAGS = $(AM_CFLAGS) osmo_remsim_client_st2_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ - $(USB_LIBS) $(OSMOSIM_LIBS) \ + $(USB_LIBS) \ $(top_builddir)/src/libosmo-rspro.la noinst_HEADERS = client.h -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ic863dc2f7fe7b435c9ea19c9cb97b691411dc0f5 Gerrit-Change-Number: 17374 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 18:32:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 18:32:08 +0000 Subject: Change in osmo-remsim[master]: debian/control: Fix typo (package->Package) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17375 ) Change subject: debian/control: Fix typo (package->Package) ...................................................................... debian/control: Fix typo (package->Package) Change-Id: Ia35c5dc603830b83670b20c3f45b6857cb9d19b4 dpkg-gencontrol: warning: package osmo-remsim-doc: unknown substitution variable ${misc:Package} --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index d161815..47033fb 100644 --- a/debian/control +++ b/debian/control @@ -90,7 +90,7 @@ driver into pcscd. This means you can use remote smart cards managed by osmo-remsim-server via normal PC/SC applications. -package: osmo-remsim-doc +Package: osmo-remsim-doc Architecture: all Section: doc Priority: optional -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ia35c5dc603830b83670b20c3f45b6857cb9d19b4 Gerrit-Change-Number: 17375 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 20:44:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:44:58 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17349 ) Change subject: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 Gerrit-Change-Number: 17349 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:44:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 20:45:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:45:37 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor Downlink measurement processing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17350 ) Change subject: trxcon/scheduler: refactor Downlink measurement processing ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef Gerrit-Change-Number: 17350 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:45: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 Mar 4 20:46:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:46:07 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:46: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 Mar 4 20:46:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:46:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:46: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 Mar 4 20:47:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:47:01 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: constify Downlink burst bits where possible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17353 ) Change subject: trxcon/scheduler: constify Downlink burst bits where possible ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a Gerrit-Change-Number: 17353 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:47: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 Mar 4 20:47:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:47:30 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17354 ) Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:47: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 Mar 4 20:47:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:47:51 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/F: fix Downlink burst completeness check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17355 ) Change subject: trxcon/scheduler: TCH/F: fix Downlink burst completeness check ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 Gerrit-Change-Number: 17355 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:47: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 Mar 4 20:48:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:48:06 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17356 ) Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Mar 2020 20:48: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 Mar 4 20:49:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:49:10 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: check tlv_parsed struct tp before access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17269 ) Change subject: osmo-sim-test: check tlv_parsed struct tp before access ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Gerrit-Change-Number: 17269 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Mar 2020 20:49: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 Mar 4 20:49:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 20:49:13 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: check tlv_parsed struct tp before access In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17269 ) Change subject: osmo-sim-test: check tlv_parsed struct tp before access ...................................................................... osmo-sim-test: check tlv_parsed struct tp before access The variable struct tlv_parsed tp in dump_file() conditionally initalized by tlv_parse() but later it is accessed under a different condition without a check that makes sure that tp is only accessed when tlv_parse() was called beforehand. Lets introduce a check that makes sure tp can not be accessed when it is uninitalized. Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Fixes: CID#208435 --- M utils/osmo-sim-test.c 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index d33f1ba..27de0bc 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -378,11 +378,15 @@ } break; case EF_TYPE_TRANSP: - if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) + if (g_class != 0xA0) { + if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) + goto out; + i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); + printf("File size: %d bytes\n", i); + } else { + printf("Can not determine file size, invalid EF-type!\n"); goto out; - i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); - printf("File size: %d bytes\n", i); - + } for (offset = 0; offset < i-1; ) { uint16_t remain_len = i - offset; uint16_t read_len = OSMO_MIN(remain_len, 256); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b0209b966127a4195e6f4bcb43d49387c7646ce Gerrit-Change-Number: 17269 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 4 21:33:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Mar 2020 21:33:22 +0000 Subject: Change in docker-playground[master]: remsim: Enable "classic" client tests (client in separate container) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17376 ) Change subject: remsim: Enable "classic" client tests (client in separate container) ...................................................................... remsim: Enable "classic" client tests (client in separate container) Change-Id: I0754a7c3c9f9caa65d33bb0a404b53f826cd0a75 --- M ttcn3-remsim-test/jenkins.sh 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/76/17376/1 diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index ab3f550..1b7c7cf 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -34,7 +34,7 @@ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ - /bin/sh -c "osmo-remsim-client >/data/osmo-remsim-client.log 2>&1" + /bin/sh -c "osmo-remsim-client-shell >/data/osmo-remsim-client.log 2>&1" } @@ -75,11 +75,11 @@ docker container kill ${BUILD_TAG}-bankd # 3) client test suite -#echo "Changing to client configuration" -#start_client -#cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ -#start_testsuite -#docker container kill ${BUILD_TAG}-client +echo "Changing to client configuration" +start_client +cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +start_testsuite +docker container kill ${BUILD_TAG}-client network_remove collect_logs -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0754a7c3c9f9caa65d33bb0a404b53f826cd0a75 Gerrit-Change-Number: 17376 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 5 02:26:26 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Mar 2020 02:26:26 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5e60638868c2c_b0e2ab4b0ea26004002b@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: getoldpackages: connect to back-other-opensuse:5253: Connection timed out (worker was lamb21:12) -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 5 12:28:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:28:08 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE This allows doing voice calls over virtphy. Only TCH/F tested so far. Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 33 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/17377/1 diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index ab2cb76..fd7fa54 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -87,6 +87,7 @@ uint8_t link_id; /* rsl link id tells if this is an ssociated or dedicated link */ uint8_t chan_nr; /* encoded rsl channel type, timeslot and mf subslot */ struct osmo_phsap_prim l1sap; + struct msgb *msg_tch; memset(&l1sap, 0, sizeof(l1sap)); /* get rid of l1 gsmtap hdr */ @@ -128,12 +129,7 @@ break; case GSMTAP_CHANNEL_TCH_F: case GSMTAP_CHANNEL_TCH_H: -#if 0 - /* TODO: handle voice messages */ - if (!facch && ! tch_acch) { - osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_TCH, PRIM_OP_INDICATION, msg); - } -#endif + /* This is TCH signalling, for voice frames see GSMTAP_CHANNEL_VOICE */ case GSMTAP_CHANNEL_SDCCH4: case GSMTAP_CHANNEL_SDCCH8: case GSMTAP_CHANNEL_PACCH: @@ -151,6 +147,14 @@ l1sap.u.data.pdch_presence_info = PRES_INFO_BOTH; l1if_process_meas_res(pinst->trx, timeslot, fn, chan_nr, 0, 0, 0, 0); break; + case GSMTAP_CHANNEL_VOICE: + msg_tch = msgb_alloc_headroom(sizeof(l1sap) + msg->len, sizeof(l1sap), + "virtphy-voice-frame-from-GSMTAP-to-Um"); + msgb_put(msg_tch, msg->len); + memcpy(msg_tch->data, msg->data, msg->len); + add_l1sap_header(pinst->trx, msg_tch, NULL, chan_nr, fn, + 0, 10 * signal_dbm, 0, 0, 0); + return; case GSMTAP_CHANNEL_AGCH: case GSMTAP_CHANNEL_PCH: case GSMTAP_CHANNEL_BCCH: diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 91d9153..aae78fe 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -51,8 +51,8 @@ * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. * TODO: we might want to remove unused argument uint8_t tn */ -static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg) +static void _tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, + enum trx_chan_type chan, struct msgb *msg, bool is_voice_frame) { const struct trx_chan_desc *chdesc = &trx_chan_desc[chan]; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ @@ -69,9 +69,11 @@ rsl_dec_chan_nr(chdesc->chan_nr, &rsl_chantype, &subslot, ×lot); /* the timeslot is not encoded in the chan_nr of the chdesc, and so has to be overwritten */ timeslot = tn; + if (is_voice_frame) + gsmtap_chantype = GSMTAP_CHANNEL_VOICE; /* in Osmocom, AGCH is only sent on ccch block 0. no idea why. this seems to cause false GSMTAP channel * types for agch and pch. */ - if (rsl_chantype == RSL_CHAN_PCH_AGCH && + else if (rsl_chantype == RSL_CHAN_PCH_AGCH && l1sap_fn2ccch_block(fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) gsmtap_chantype = GSMTAP_CHANNEL_PCH; else @@ -104,6 +106,18 @@ msgb_free(msg); } +static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, + enum trx_chan_type chan, struct msgb *msg) +{ + _tx_to_virt_um(l1t, tn, fn, chan, msg, false); +} + +static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, + enum trx_chan_type chan, struct msgb *msg) +{ + _tx_to_virt_um(l1t, tn, fn, chan, msg, true); +} + /* * TX on downlink */ @@ -410,11 +424,10 @@ goto send_burst; } - if (msg_facch) { + if (msg_facch) tx_to_virt_um(l1t, tn, fn, chan, msg_facch); - msgb_free(msg_tch); - } else - tx_to_virt_um(l1t, tn, fn, chan, msg_tch); + if (msg_tch) + tx_to_virt_um_voice_frame(l1t, tn, fn, chan, msg_tch); send_burst: @@ -451,11 +464,10 @@ goto send_burst; } - if (msg_facch) { + if (msg_facch) tx_to_virt_um(l1t, tn, fn, chan, msg_facch); - msgb_free(msg_tch); - } else if (msg_tch) - tx_to_virt_um(l1t, tn, fn, chan, msg_tch); + if (msg_tch) + tx_to_virt_um_voice_frame(l1t, tn, fn, chan, msg_tch); send_burst: return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 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 Mar 5 12:29:10 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:29:10 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE This allows doing voice calls over virtphy. Only TCH/F tested so far. Depends: If223020933b083fe359a2e8ff5fab1ce64a363d8 (libosmocore) Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 33 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/17377/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 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 Thu Mar 5 12:33:58 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:33:58 +0000 Subject: Change in osmocom-bb[master]: remove unused func decl References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17378 ) Change subject: remove unused func decl ...................................................................... remove unused func decl Change-Id: I94c8fff1557c0ce50cc3072573ef7cda8622fb84 --- M src/host/virt_phy/include/virtphy/l1ctl_sap.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/78/17378/1 diff --git a/src/host/virt_phy/include/virtphy/l1ctl_sap.h b/src/host/virt_phy/include/virtphy/l1ctl_sap.h index 94174da..d3562a1 100644 --- a/src/host/virt_phy/include/virtphy/l1ctl_sap.h +++ b/src/host/virt_phy/include/virtphy/l1ctl_sap.h @@ -32,7 +32,6 @@ void prim_pm_exit(struct l1_model_ms *model); void l1ctl_sap_tx_to_l23_inst(struct l1_model_ms *model, struct msgb *msg); void l1ctl_sap_rx_from_l23_inst_cb(struct l1ctl_sock_client *lsc, struct msgb *msg); -void l1ctl_sap_rx_from_l23(struct msgb *msg); void l1ctl_sap_handler(struct l1_model_ms *ms, struct msgb *msg); /* utility methods */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I94c8fff1557c0ce50cc3072573ef7cda8622fb84 Gerrit-Change-Number: 17378 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 Mar 5 12:33:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:33:59 +0000 Subject: Change in osmocom-bb[master]: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17379 ) Change subject: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload ...................................................................... mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload That function encapsulates the RTP payload in an MNCC header, but the l1ctl dl header has to be removed first to get only the RTP payload in the MNCC structure. Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a --- M src/host/layer23/src/mobile/voice.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/79/17379/1 diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c index b767833..5106063 100644 --- a/src/host/layer23/src/mobile/voice.c +++ b/src/host/layer23/src/mobile/voice.c @@ -38,6 +38,8 @@ /* 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)); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a Gerrit-Change-Number: 17379 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 Mar 5 12:33:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:33:59 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17380 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... virt_phy: implement GSMTAP_CHANNEL_VOICE Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 --- M src/host/virt_phy/configure.ac M src/host/virt_phy/src/gsmtapl1_if.c 2 files changed, 12 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/80/17380/1 diff --git a/src/host/virt_phy/configure.ac b/src/host/virt_phy/configure.ac index a2c2bf6..fbff2c1 100644 --- a/src/host/virt_phy/configure.ac +++ b/src/host/virt_phy/configure.ac @@ -12,6 +12,8 @@ AC_PROG_INSTALL dnl checks for libraries +dnl TODO: insert libosmocore version with GSMTAP_CHANNEL_VOICE: PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +dnl (at time of writing not released yet) PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm) diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 2b21c6d..b221ee9 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -76,6 +76,11 @@ subslot = 0; gsmtap_chan = chantype_rsl2gsmtap(rsl_chantype, 0); break; + case L1CTL_TRAFFIC_REQ: + timeslot = tn; + subslot = 0; + gsmtap_chan = GSMTAP_CHANNEL_VOICE; + break; default: ul = (struct l1ctl_info_ul *)l1h->data; rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); @@ -219,13 +224,7 @@ switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) { case GSMTAP_CHANNEL_TCH_H: case GSMTAP_CHANNEL_TCH_F: -#if 0 - /* TODO: handle voice */ - if (!facch && !tch_acch) { - l1ctl_tx_traffic_ind(msg, arfcn, link_id, chan_nr, fn, - snr, signal_dbm, 0, 0); - } -#endif + /* This is TCH signalling, for voice frames see GSMTAP_CHANNEL_VOICE */ case GSMTAP_CHANNEL_SDCCH4: case GSMTAP_CHANNEL_SDCCH8: /* only forward messages on dedicated channels to l2, if @@ -235,6 +234,10 @@ l1ctl_tx_data_ind(ms, msg, arfcn, link_id, chan_nr, fn, snr_db, signal_dbm, 0, 0); } break; + case GSMTAP_CHANNEL_VOICE: + l1ctl_tx_traffic_ind(ms, msg, arfcn, link_id, chan_nr, fn, + snr_db, signal_dbm, 0, 0); + break; case GSMTAP_CHANNEL_AGCH: case GSMTAP_CHANNEL_PCH: case GSMTAP_CHANNEL_BCCH: -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 Gerrit-Change-Number: 17380 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 Mar 5 12:33:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:33:59 +0000 Subject: Change in osmocom-bb[master]: HACK: mobile: loopback voice frames References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: HACK: mobile: loopback voice frames ...................................................................... HACK: mobile: loopback voice frames Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/81/17381/1 diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c index 5106063..bafe5de 100644 --- a/src/host/layer23/src/mobile/voice.c +++ b/src/host/layer23/src/mobile/voice.c @@ -36,15 +36,19 @@ { 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->msg_type = GSM_TCHF_FRAME; + mncc->callref = ms->mncc_entity.ref; + + /* HACK: send voice frame back */ + 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); } -- 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: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 12:34:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:34:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor Downlink measurement processing 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/+/17350 to look at the new patch set (#3). Change subject: trxcon/scheduler: refactor Downlink measurement processing ...................................................................... trxcon/scheduler: refactor Downlink measurement processing So far we used to store the sums of ToA and RSSI measurements in the logical channel state, and after decoding of a block, we did calculate the average. This approach works fine for xCCH and PDTCH, but when it comes to block-diagonal interleaving (which is used on TCH/F and TCH/H channels), the results are incorrect. The problem is that a burst on TCH may carry 57 bits of one encoded frame and 57 bits of another. Instead of calculating the sum of measurements on the fly, let's push them into a circular buffer (the measurement history), and keep them there even after decoding of a block. This would allow us to calculate the average of N last measurements depending on the interleaving type. A single circular buffer can hold up to 8 unique measurements, so the recent measurements would basically override the oldest ones. Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_sch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c 10 files changed, 140 insertions(+), 74 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/50/17350/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef Gerrit-Change-Number: 17350 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 Mar 5 12:34:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:34:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation 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/+/17351 to look at the new patch set (#3). Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... trxcon/scheduler: refactor TDMA frame number calculation Using TDMA frame number of a burst with bid=0 is fine for xCCH, but not for TCH and FACCH, because they use the block-diagonel interleaving. A single block on TCH may be interleaved over 8, 4 or even 6 consecutive bursts depending on its type. Since we now have the measurement history, we can attach TDMA frame number to each measurement set, and then look up N-th one when averaging the measurements in sched_trx_meas_avg(). Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c 8 files changed, 33 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/51/17351/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 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 Mar 5 12:34:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:34:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink 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/+/17352 to look at the new patch set (#3). Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... trxcon/scheduler: substitute lost TDMA frames on Downlink It may happen that one or more Downlink bursts are lost on their way to the MS due to a variety of reasons. Modern transceivers supporting TRXDv1 protocol would substitute lost bursts with so-called NOPE indications. Hovewer, neither fake_trx.py nor grgsm_trx do support this feature at the moment. We can still detect and compensate TDMA frame loss per logical channels in the same way as it's already done in osmo-bts-trx. In short, we should keep TDMA frame number of the last received burst in the logical channel state, and using the appropriate multiframe layout, check if there were any gaps between TDMA frame number of the current burst and the stored one. Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 --- M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 2 files changed, 100 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/52/17352/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 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 Mar 5 12:34:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:34:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst 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/+/17354 to look at the new patch set (#3). Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... trxcon/scheduler: align Downlink reception to the first burst It may happen that the burst reception would start from bid != 0: <0005> sched_trx.c:263 (Re)configure TDMA timeslot #2 as TCH/H+SACCH <0005> sched_trx.c:420 Activating lchan=TCH/H(0) on ts=2 <0005> sched_trx.c:420 Activating lchan=SACCH/TH(0) on ts=2 <0006> sched_lchan_xcch.c:96 Received incomplete data frame at fn=0 (0/104) for SACCH/TH(0) <0006> sched_lchan_xcch.c:106 Received bad data frame at fn=0 (0/104) for SACCH/TH(0) so in that case, both measurement processing and the frame number calculation would yield incorrect and/or incomplete results. The Rx burst mask can be used to eliminate this problem. In particular, if we shift it left instead of cleaning, it would never be equal 0x00 after at least one burst is received. This would allow us to skip decoding of an incomplete frame at the beginning when the logical channel was just activated. Note that TCH/H handler is not affected because it already uses the strategy described above, so we keep it unchanged. Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Related: OS#3554 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_xcch.c 3 files changed, 18 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/17354/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 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 Mar 5 12:34:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:34:19 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17382 ) Change subject: trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving ...................................................................... trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving Change-Id: I16cdd2261b3d0d99286c30584847f93d72d02ac0 --- M src/host/trxcon/sched_lchan_desc.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/82/17382/1 diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index fde4d4e..b22a18b 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -155,7 +155,10 @@ /* Rx and Tx, multiple convolutional coding types (3GPP TS 05.03, * chapter 3), block diagonal interleaving (3GPP TS 05.02, clause 7): * - * - a traffic frame is interleaved over 6 consecutive bursts + * - a traffic frame is interleaved over 4 non-consecutive bursts + * using the even numbered bits of the first 2 bursts, + * and odd numbered bits of the last 2 bursts; + * - a FACCH/H frame is interleaved over 6 non-consecutive bursts * using the even numbered bits of the first 2 bursts, * all bits of the middle two 2 bursts, * and odd numbered bits of the last 2 bursts; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16cdd2261b3d0d99286c30584847f93d72d02ac0 Gerrit-Change-Number: 17382 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 Mar 5 12:34:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:34:19 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: fix n_errors for BFI triggered by FACCH References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17383 ) Change subject: trxcon/scheduler: fix n_errors for BFI triggered by FACCH ...................................................................... trxcon/scheduler: fix n_errors for BFI triggered by FACCH These BFI (Bad Frame Indications) substitute speech frames stolen by FACCH/F or FACCH/H frames, so there can be no bit errors in something that was not even transmitted over the air interface. Change-Id: Icdb6209f75ead6581e3c18aeee0da9831aaa272a --- M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c 2 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/83/17383/1 diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 788d153..6531e11 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -155,7 +155,9 @@ .toa256 = 0, .rssi = -110, }; - n_errors = 116 * 4; + + /* No bursts => no errors */ + n_errors = 0; } /* BFI is not applicable in signalling mode */ diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 013dba9..e7037fe 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -349,7 +349,9 @@ .toa256 = 0, .rssi = -110, }; - n_errors = 116 * 2; + + /* No bursts => no errors */ + n_errors = 0; } /* Calculate TDMA frame number of the first burst */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icdb6209f75ead6581e3c18aeee0da9831aaa272a Gerrit-Change-Number: 17383 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 Mar 5 12:35:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:35:20 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: FACCH: ensure fake measurements for BFI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17348 ) Change subject: trxcon/scheduler: FACCH: ensure fake measurements for BFI ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f Gerrit-Change-Number: 17348 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Mar 2020 12:35: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 Mar 5 12:36:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:36:07 +0000 Subject: Change in osmocom-bb[master]: HACK: mobile: loopback voice frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: HACK: mobile: loopback voice frames ...................................................................... Patch Set 1: todo: change this to a simple vty config option to enable/disable voice loopback -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 05 Mar 2020 12:36:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 12:38:17 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 5 Mar 2020 12:38:17 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE 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/+/17380 to look at the new patch set (#2). Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... virt_phy: implement GSMTAP_CHANNEL_VOICE Related: OS#2556 OS#2557 Depends: If223020933b083fe359a2e8ff5fab1ce64a363d8 (libosmocore) Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 --- M src/host/virt_phy/configure.ac M src/host/virt_phy/src/gsmtapl1_if.c 2 files changed, 12 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/80/17380/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 Gerrit-Change-Number: 17380 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 12:51:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:51:12 +0000 Subject: Change in libosmocore[master]: gsmtap.h: Add definitions for voice inside GSMTAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17289 ) Change subject: gsmtap.h: Add definitions for voice inside GSMTAP ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8 Gerrit-Change-Number: 17289 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Mar 2020 12:51: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 Mar 5 12:52:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:52:08 +0000 Subject: Change in osmocom-bb[master]: remove unused func decl In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17378 ) Change subject: remove unused func decl ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I94c8fff1557c0ce50cc3072573ef7cda8622fb84 Gerrit-Change-Number: 17378 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 05 Mar 2020 12: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 Thu Mar 5 12:54:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 12:54:04 +0000 Subject: Change in osmocom-bb[master]: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17379 ) Change subject: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a Gerrit-Change-Number: 17379 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 05 Mar 2020 12:54:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 13:45:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 13:45:14 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17380 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17380/2/src/host/virt_phy/src/gsmtapl1_if.c File src/host/virt_phy/src/gsmtapl1_if.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17380/2/src/host/virt_phy/src/gsmtapl1_if.c at 81 PS2, Line 81: subslot = 0; TCH/H has two sub-slots, so you should derive it from ul->chan_nr somehow. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 Gerrit-Change-Number: 17380 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 05 Mar 2020 13:45: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 Thu Mar 5 14:36:36 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 14:36:36 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) 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/+/16991 to look at the new patch set (#7). Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Added feature to parse USIM Service table (UST) As per TS.31.102, This EF indicates which services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 under DF.GSM. Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 --- M pySim-read.py A pySim/ts_31_102.py M pySim/ts_51_011.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 10 files changed, 297 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/91/16991/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 7 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 Thu Mar 5 14:59:03 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 14:59:03 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) 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/+/16991 to look at the new patch set (#8). Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Added feature to parse USIM Service table (UST) As per TS.31.102, This EF indicates which services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 under DF.GSM. Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 --- M pySim-read.py A pySim/ts_31_102.py M pySim/ts_51_011.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 10 files changed, 306 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/91/16991/8 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 8 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 Thu Mar 5 15:03:13 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:03:13 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) 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/+/16991 to look at the new patch set (#9). Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Added feature to parse USIM Service table (UST) As per TS.31.102, This EF indicates which services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 under DF.GSM. Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 --- M pySim-read.py A pySim/ts_31_102.py M pySim/ts_51_011.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 10 files changed, 306 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/91/16991/9 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 9 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 Thu Mar 5 15:09:39 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:09:39 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) 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/+/16991 to look at the new patch set (#10). Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Added feature to parse USIM Service table (UST) As per TS.31.102, This EF indicates which services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 under DF.GSM. Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 --- M pySim-read.py A pySim/ts_31_102.py M pySim/ts_51_011.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 10 files changed, 306 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/91/16991/10 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 10 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 Thu Mar 5 15:13:31 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:13:31 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) 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/+/16991 to look at the new patch set (#11). Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Added feature to parse USIM Service table (UST) As per TS.31.102, This EF indicates which services are available. If a service is not indicated as available in the USIM, the ME shall not select this service. Parsing of UST is achieved by first selecting the USIM application using its AID. This is followed by selecting EF.UST with File ID - 6f38 under DF.GSM. Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 --- M pySim-read.py A pySim/ts_31_102.py M pySim/ts_51_011.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 10 files changed, 306 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/91/16991/11 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 11 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 Thu Mar 5 15:15:27 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:15:27 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17384 ) Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... pySim-read.py: support for reading GID1 from SIM Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 --- M pySim-read.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 7 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/17384/1 diff --git a/pySim-read.py b/pySim-read.py index 20a19d2..91c14b9 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -109,6 +109,13 @@ else: print("IMSI: Can't read, response code = %s" % (sw,)) + # EF.GID1 + (res, sw) = scc.read_binary(EF['GID1']) + if sw == '9000': + print("GID1: %s" % (res,)) + else: + print("GID1: Can't read, response code = %s" % (sw,)) + # EF.SMSP (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) if sw == '9000': diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 281f09c..9102199 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 8988219000000117833 IMSI: 001010000000111 +GID1: ffffffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: Fairwaves Display HPLMN: False diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 75c52ae..53f4166 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 89445310150011013678 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile Display HPLMN: False diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 41c7d76..da13794 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 1122334455667788990 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index d363c9f..59a3821 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 8988211900000000004 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index b89430e..2936f23 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 1122334455667788990 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 12c6b93..9d1455c 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 1122334455667788990 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 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 Thu Mar 5 15:15:28 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:15:28 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID2 from SIM References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17385 ) Change subject: pySim-read.py: support for reading GID2 from SIM ...................................................................... pySim-read.py: support for reading GID2 from SIM Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 --- M pySim-read.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 7 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/85/17385/1 diff --git a/pySim-read.py b/pySim-read.py index 91c14b9..2c76145 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -116,6 +116,13 @@ else: print("GID1: Can't read, response code = %s" % (sw,)) + # EF.GID2 + (res, sw) = scc.read_binary(EF['GID2']) + if sw == '9000': + print("GID2: %s" % (res,)) + else: + print("GID2: Can't read, response code = %s" % (sw,)) + # EF.SMSP (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) if sw == '9000': diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 9102199..15d7db8 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -3,6 +3,7 @@ ICCID: 8988219000000117833 IMSI: 001010000000111 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: Fairwaves Display HPLMN: False diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 53f4166..7a706ae 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -3,6 +3,7 @@ ICCID: 89445310150011013678 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile Display HPLMN: False diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index da13794..624f303 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -3,6 +3,7 @@ ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 59a3821..24a2de3 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -3,6 +3,7 @@ ICCID: 8988211900000000004 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 2936f23..ccebf46 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -3,6 +3,7 @@ ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 9d1455c..65db17e 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -3,6 +3,7 @@ ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 Gerrit-Change-Number: 17385 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 Thu Mar 5 15:25:28 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:25:28 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17384 to look at the new patch set (#2). Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... pySim-read.py: support for reading GID1 from SIM Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/17384/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 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 Thu Mar 5 15:32:34 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:32:34 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17384 to look at the new patch set (#3). Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... pySim-read.py: support for reading GID1 from SIM Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/17384/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 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 Thu Mar 5 15:35:47 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:35:47 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17384 to look at the new patch set (#4). Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... pySim-read.py: support for reading GID1 from SIM Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/17384/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 Gerrit-PatchSet: 4 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 Thu Mar 5 15:40:55 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:40:55 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17384 to look at the new patch set (#5). Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... pySim-read.py: support for reading GID1 from SIM Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/17384/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 Gerrit-PatchSet: 5 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 Thu Mar 5 15:45:19 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 5 Mar 2020 15:45:19 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID2 from SIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17385 to look at the new patch set (#2). Change subject: pySim-read.py: support for reading GID2 from SIM ...................................................................... pySim-read.py: support for reading GID2 from SIM Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/85/17385/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 Gerrit-Change-Number: 17385 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 Thu Mar 5 15:48:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 15:48:18 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Patch Set 11: (1 comment) please also note there' salso an IST (ISIM Service Table) in the ADF_ISIM. Even if you don't have the time / energy to fully imlpement all of it, it would probably make sense to think a bit how to abstract the handling of SST+UST in a way that the same parser / code can be used for IST or even other future service tables structured in the same way. There could e.g. be a base class which then the SST/UST/IST specific classed derive from - probably mostly adding a list of string names for the services and a list of integers indicating those services to be printed? https://gerrit.osmocom.org/c/pysim/+/16991/11/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/16991/11/pySim-read.py at 209 PS11, Line 209: try: I think this should be factored out in a separate function which knows all the AIDs (not just USIM and ISIM but at least also HPSIM?) and which simply returns the sim_type dict. As there may be other [unknown] applications on the card, a different data format fo the return value might be best, where the [possibly unknown] application name is not the key? Just thiking aloud here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 11 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 05 Mar 2020 15:48: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 Thu Mar 5 15:54:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 15:54:57 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Introduce metrics verification procedures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 ) Change subject: srsue: Introduce metrics verification procedures ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508 Gerrit-Change-Number: 17323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Mar 2020 15: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 Thu Mar 5 15:54:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 15:54:59 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce iperf4 downlink test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 ) Change subject: suites/4g: Introduce iperf4 downlink test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c Gerrit-Change-Number: 17358 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Mar 2020 15:54: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 Mar 5 15:55:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 15:55:02 +0000 Subject: Change in osmo-gsm-tester[master]: Allow overwriting test's report stdout text from inside test code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 ) Change subject: Allow overwriting test's report stdout text from inside test code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049 Gerrit-Change-Number: 17359 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Mar 2020 15:55: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 Mar 5 15:55:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 15:55:05 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Introduce metrics verification procedures In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 ) Change subject: srsue: Introduce metrics verification procedures ...................................................................... srsue: Introduce metrics verification procedures Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508 --- M check_dependencies.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M suites/4g/iperf3.py M suites/4g/suite.conf 5 files changed, 122 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/check_dependencies.py b/check_dependencies.py index 28bfdf7..c3b1d64 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -28,5 +28,6 @@ import smpplib import urllib.request import xml.etree.ElementTree +import numpy print('dependencies ok') diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 1cfd212..1fb2db1 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -76,6 +76,7 @@ self.remote_config_drb_file = None self.remote_log_file = None self._num_prb = 0 + self._txmode = 0 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -179,10 +180,13 @@ config.overlay(values, dict(enb=self._conf)) config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + self._txmode = int(values['enb'].get('transmission_mode', None)) + assert self._txmode + # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - self._num_prb = int(values['enb'].get('num_prb', None)) - assert self._num_prb base_srate = num_prb2base_srate(self._num_prb) rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \ + ':2000,rx_port=tcp://' + self.ue.addr() \ @@ -222,4 +226,31 @@ def num_prb(self): return self._num_prb + def ue_max_rate(self, downlink=True): + # The max rate for a single UE per PRB in TM1 + max_phy_rate_tm1_dl = { 6 : 2.3e6, + 15 : 8e6, + 25 : 16e6, + 50 : 36e6, + 75 : 54e6, + 100 : 75e6 } + # TODO: proper values for this table: + max_phy_rate_tm1_ul = { 6 : 0.23e6, + 15 : 0.8e6, + 25 : 1.6e6, + 50 : 3.6e6, + 75 : 5.4e6, + 100 : 7.5e6 } + 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 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 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index cbd8a68..f90ea32 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -22,6 +22,7 @@ from . import log, util, config, template, process, remote from .run_node import RunNode +from .event_loop import MainLoop from .ms import MS def rf_type_valid(rf_type_str): @@ -91,10 +92,6 @@ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) except Exception as e: self.log(repr(e)) - try: - self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) - except Exception as e: - self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -102,6 +99,9 @@ def netns(self): return "srsue1" + def stop(self): + self.suite_run.stop_process(self.process) + def connect(self, enb): self.log('Starting srsue') self.enb = enb @@ -247,4 +247,80 @@ proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) proc.launch_sync() + 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(): + 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 + metrics = srsUEMetrics(self.metrics_file) + return metrics.verify(value, operation, metric, criterion) + +import numpy + +class srsUEMetrics(log.Origin): + + VALID_OPERATIONS = ['avg', 'sum'] + VALID_CRITERION = ['eq','gt','lt'] + CRITERION_TO_SYM = { 'eq' : '==', 'gt' : '>', 'lt' : '<' } + CRYTERION_TO_SYM_OPPOSITE = { 'eq' : '!=', 'gt' : '<=', 'lt' : '>=' } + + + def __init__(self, metrics_file): + super().__init__(log.C_RUN, 'srsue_metrics') + self.raw_data = None + self.metrics_file = metrics_file + # 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) + except (ValueError, IndexError, IOError) as error: + self.err("Error parsing metrics CSV file %s" % self.metrics_file) + raise error + + def verify(self, value, operation='avg', metric='dl_brate', criterion='gt'): + 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 + + if operation == 'avg': + result = numpy.average(sel_data) + elif operation == 'sum': + result = numpy.sum(sel_data) + self.dbg(result=result, value=value) + + success = False + if criterion == 'eq' and result == value or \ + criterion == 'gt' and result > value or \ + criterion == 'lt' and result < value: + success = True + + # Convert bitrate in Mbit/s: + if metric.find('brate') > 0: + result /= 1e6 + value /= 1e6 + mbit_str = ' Mbit/s' + else: + mbit_str = '' + + if not success: + result_msg = "{:.2f}{} {} {:.2f}{}".format(result, mbit_str, self.CRYTERION_TO_SYM_OPPOSITE[criterion], value, mbit_str) + raise log.Error(result_msg) + result_msg = "{:.2f}{} {} {:.2f}{}".format(result, mbit_str, self.CRITERION_TO_SYM[criterion], value, mbit_str) + # TODO: overwrite test system-out with this text. + return result_msg + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3.py index 371376f..20489b5 100755 --- a/suites/4g/iperf3.py +++ b/suites/4g/iperf3.py @@ -32,7 +32,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns()) +proc = iperf3cli.prepare_test_proc(False, ue.netns(), time_sec=60) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -42,3 +42,7 @@ proc.launch_sync() iperf3srv.stop() print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +max_rate = enb.ue_max_rate(downlink=False) +res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='ul_brate', criterion='gt') +print(res_str + '\n') diff --git a/suites/4g/suite.conf b/suites/4g/suite.conf index 352293a..59e393a 100644 --- a/suites/4g/suite.conf +++ b/suites/4g/suite.conf @@ -7,3 +7,6 @@ modem: - times: 1 type: srsue + +defaults: + timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508 Gerrit-Change-Number: 17323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 15:55:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 15:55:06 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce iperf4 downlink test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 ) Change subject: suites/4g: Introduce iperf4 downlink test ...................................................................... suites/4g: Introduce iperf4 downlink test Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c --- A suites/4g/iperf3_dl.py R suites/4g/iperf3_ul.py 2 files changed, 48 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/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py new file mode 100755 index 0000000..fd77cd3 --- /dev/null +++ b/suites/4g/iperf3_dl.py @@ -0,0 +1,48 @@ +#!/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 = 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(True, ue.netns(), time_sec=60) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +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()) + +max_rate = enb.ue_max_rate(downlink=True) +res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='dl_brate', criterion='gt') +print(res_str + '\n') diff --git a/suites/4g/iperf3.py b/suites/4g/iperf3_ul.py similarity index 100% rename from suites/4g/iperf3.py rename to suites/4g/iperf3_ul.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c Gerrit-Change-Number: 17358 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 Thu Mar 5 15:55:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 15:55:07 +0000 Subject: Change in osmo-gsm-tester[master]: Allow overwriting test's report stdout text from inside test code In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 ) Change subject: Allow overwriting test's report stdout text from inside test code ...................................................................... Allow overwriting test's report stdout text from inside test code Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049 --- M src/osmo_gsm_tester/report.py M src/osmo_gsm_tester/test.py M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 4 files changed, 20 insertions(+), 12 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_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 8718d0e..5d23c38 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -86,12 +86,7 @@ error = et.SubElement(testcase, 'error') error.text = 'could not run' sout = et.SubElement(testcase, 'system-out') - log_file = t.log_file_path() - if log_file is not None: - with open(log_file, 'r') as myfile: - sout.text = escape_xml_invalid_characters(myfile.read()) - else: - sout.text = 'test log file not available' + sout.text = escape_xml_invalid_characters(t.report_stdout()) return testcase def trial_to_text(trial): diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 66e8656..be6e8da 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -43,6 +43,7 @@ self.fail_type = None self.fail_message = None self.log_target = None + self._report_stdout = None def get_run_dir(self): if self._run_dir is None: @@ -118,9 +119,19 @@ self.status = Test.SKIP self.duration = 0 - def log_file_path(self): - if self.log_target is None: - return None - return self.log_target.log_file_path() + def set_report_stdout(self, text): + 'Overwrite stdout text stored in report from inside a test' + self._report_stdout = text + + def report_stdout(self): + # If test overwrote the text, provide it: + if self._report_stdout is not None: + return self._report_stdout + # Otherwise vy default provide the entire test log: + if self.log_target is not None and self.log_target.log_file_path() is not None: + with open(self.log_target.log_file_path(), 'r') as myfile: + return myfile.read() + else: + return 'test log file not available' # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py index fd77cd3..c98251b 100755 --- a/suites/4g/iperf3_dl.py +++ b/suites/4g/iperf3_dl.py @@ -45,4 +45,5 @@ max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='dl_brate', criterion='gt') -print(res_str + '\n') +print(res_str) +test.set_report_stdout(res_str) diff --git a/suites/4g/iperf3_ul.py b/suites/4g/iperf3_ul.py index 20489b5..fe963a9 100755 --- a/suites/4g/iperf3_ul.py +++ b/suites/4g/iperf3_ul.py @@ -45,4 +45,5 @@ max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='ul_brate', criterion='gt') -print(res_str + '\n') +print(res_str) +test.set_report_stdout(res_str) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049 Gerrit-Change-Number: 17359 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 Thu Mar 5 17:22:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 17:22:21 +0000 Subject: Change in osmo-gsm-tester[master]: remote: Set debug logfile of ssh_sigkiller.sh to /dev/null References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17386 ) Change subject: remote: Set debug logfile of ssh_sigkiller.sh to /dev/null ...................................................................... remote: Set debug logfile of ssh_sigkiller.sh to /dev/null Otherwise processes run eventually as root (due to being run on another netns) may change its permissions and other processes later will fail to write to it (Permission Denied). Change-Id: Ide092db082937be7c2fb16d60e099c85dc1941b7 --- M src/osmo_gsm_tester/remote.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/17386/1 diff --git a/src/osmo_gsm_tester/remote.py b/src/osmo_gsm_tester/remote.py index 10ba069..ba1a5e1 100644 --- a/src/osmo_gsm_tester/remote.py +++ b/src/osmo_gsm_tester/remote.py @@ -59,7 +59,7 @@ wrapper_script = self.run_dir.new_file(RemoteHost.WRAPPER_SCRIPT) with open(wrapper_script, 'w') as f: r = """#!/bin/bash - LOGFILE=/tmp/yes + LOGFILE=/dev/null kill_pid(){ mypid=$1 kill $mypid -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ide092db082937be7c2fb16d60e099c85dc1941b7 Gerrit-Change-Number: 17386 Gerrit-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 Mar 5 17:22:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 17:22:21 +0000 Subject: Change in osmo-gsm-tester[master]: Improve junit xml generated fields References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 ) Change subject: Improve junit xml generated fields ...................................................................... Improve junit xml generated fields Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c --- M src/osmo_gsm_tester/report.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 3 files changed, 36 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/17387/1 diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 5d23c38..d33ba43 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -17,6 +17,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +# junit xml format: https://llg.cubic.org/docs/junit/ + import math import sys import re @@ -50,9 +52,24 @@ def trial_to_junit(trial): testsuites = et.Element('testsuites') + num_tests = 0 + num_failures = 0 + num_errors = 0 + time = 0 + id = 0 for suite in trial.suites: testsuite = suite_to_junit(suite) + testsuite.set('id', str(id)) + id += 1 testsuites.append(testsuite) + num_tests += int(testsuite.get('tests')) + num_failures += int(testsuite.get('failures')) + num_errors += int(testsuite.get('errors')) + time += suite.duration + testsuites.set('tests', str(num_tests)) + testsuites.set('errors', str(num_errors)) + testsuites.set('failures', str(num_failures)) + testsuites.set('time', str(math.ceil(time))) return testsuites def suite_to_junit(suite): @@ -63,7 +80,11 @@ testsuite.set('timestamp', datetime.fromtimestamp(round(suite.start_timestamp)).isoformat()) testsuite.set('time', str(math.ceil(suite.duration))) testsuite.set('tests', str(len(suite.tests))) - testsuite.set('failures', str(suite.count_test_results()[2])) + passed, skipped, failed, errors = suite.count_test_results() + testsuite.set('errors', str(errors)) + testsuite.set('failures', str(failed)) + testsuite.set('skipped', str(skipped)) + testsuite.set('disabled', str(skipped)) for suite_test in suite.tests: testcase = test_to_junit(suite_test) testsuite.append(testcase) @@ -72,6 +93,7 @@ def test_to_junit(t): testcase = et.Element('testcase') testcase.set('name', t.name()) + testcase.set('classname', '') testcase.set('time', str(math.ceil(t.duration))) if t.status == test.Test.SKIP: et.SubElement(testcase, 'skipped') @@ -113,10 +135,12 @@ if not suite.tests: return 'no tests were run.' - passed, skipped, failed = suite.count_test_results() + passed, skipped, failed, errors = suite.count_test_results() details = [] if failed: details.append('fail: %d' % failed) + if errors: + details.append('errors: %d' % errors) if passed: details.append('pass: %d' % passed) if skipped: diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index c2faa36..8c79d35 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -213,9 +213,9 @@ util.import_path_remove(suite_libdir) self.duration = time.time() - self.start_timestamp - passed, skipped, failed = self.count_test_results() + passed, skipped, failed, errors = self.count_test_results() # if no tests ran, count it as failure - if passed and not failed: + if passed and not failed and not errors: self.status = SuiteRun.PASS else: self.status = SuiteRun.FAIL @@ -229,14 +229,17 @@ passed = 0 skipped = 0 failed = 0 + errors = 0 for t in self.tests: - if t.status == test.Test.PASS: + if t.status == test.Test.SKIP: + skipped += 1 + elif t.status == test.Test.PASS: passed += 1 elif t.status == test.Test.FAIL: failed += 1 - else: - skipped += 1 - return (passed, skipped, failed) + else: # error, could not run + 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 diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index be6e8da..0bbff41 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -26,7 +26,7 @@ from . import log, util, resource class Test(log.Origin): - UNKNOWN = 'UNKNOWN' + UNKNOWN = 'UNKNOWN' # matches junit 'error' SKIP = 'skip' PASS = 'pass' FAIL = 'FAIL' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c Gerrit-Change-Number: 17387 Gerrit-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 Mar 5 17:30:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Mar 2020 17:30:47 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g/ping.py: Overwrite test stdout with ping output References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 ) Change subject: suites/4g/ping.py: Overwrite test stdout with ping output ...................................................................... suites/4g/ping.py: Overwrite test stdout with ping output Change-Id: I83403a21c46758132b4fbb930000df67d8650016 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/srs_ue.py M suites/4g/ping.py 3 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/17388/1 diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index 2d539eb..f8a9245 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -666,6 +666,7 @@ proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) proc.launch_sync() + return proc def setup_context_data_plane(self, ctx_id): self.dbg('setup_context_data', path=ctx_id) diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index f90ea32..2cb05a2 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -246,6 +246,7 @@ else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) proc.launch_sync() + return proc def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): # file is not properly flushed until the process has stopped. diff --git a/suites/4g/ping.py b/suites/4g/ping.py index b44ff84..17eee78 100755 --- a/suites/4g/ping.py +++ b/suites/4g/ping.py @@ -19,4 +19,7 @@ wait(ue.is_connected, None) print('UE is attached') -ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) +proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) +output = proc.get_stdout() +print(output) +test.set_report_stdout(output) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I83403a21c46758132b4fbb930000df67d8650016 Gerrit-Change-Number: 17388 Gerrit-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 Mar 5 18:00:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Mar 2020 18:00:27 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17377/2/src/osmo-bts-virtual/l1_if.c File src/osmo-bts-virtual/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17377/2/src/osmo-bts-virtual/l1_if.c at 151 PS2, Line 151: msgb_alloc_headroom Can we reuse the original msg here instead of allocating a new one? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 05 Mar 2020 18:00:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 19:02:43 2020 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Thu, 5 Mar 2020 19:02:43 +0000 Subject: Change in osmo-remsim[master]: fix config defaults for systemd startscripts References: Message-ID: roh has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17389 ) Change subject: fix config defaults for systemd startscripts ...................................................................... fix config defaults for systemd startscripts Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 --- M contrib/etc_default/osmo-remsim-client M contrib/etc_default/osmo-remsim-client-1 M contrib/etc_default/osmo-remsim-client-2 M contrib/etc_default/osmo-remsim-client-3 4 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/89/17389/1 diff --git a/contrib/etc_default/osmo-remsim-client b/contrib/etc_default/osmo-remsim-client index b1a2187..6c977f1 100644 --- a/contrib/etc_default/osmo-remsim-client +++ b/contrib/etc_default/osmo-remsim-client @@ -1,4 +1,4 @@ # Default settings for osmo-remsim-client This file is sourced by systemd # Options to pass to osmo-remsim-client -GLOBAL_CLIENT_OPTS="-s 10.9.99.10 -V 1d50 -P 4004 -C 1" +GLOBAL_CLIENT_OPTS="-i 10.9.99.10 -V 1d50 -P 4004 -C 1" diff --git a/contrib/etc_default/osmo-remsim-client-1 b/contrib/etc_default/osmo-remsim-client-1 index 99d1da8..c056f42 100644 --- a/contrib/etc_default/osmo-remsim-client-1 +++ b/contrib/etc_default/osmo-remsim-client-1 @@ -3,5 +3,5 @@ # Options to pass to osmo-remsim-client REMSIM_I="1" REMSIM_H="2-1.1" -REMSIM_c="0" +REMSIM_c="1" REMSIM_n="1" diff --git a/contrib/etc_default/osmo-remsim-client-2 b/contrib/etc_default/osmo-remsim-client-2 index c705df0..ca5d831 100644 --- a/contrib/etc_default/osmo-remsim-client-2 +++ b/contrib/etc_default/osmo-remsim-client-2 @@ -3,5 +3,5 @@ # Options to pass to osmo-remsim-client REMSIM_I="0" REMSIM_H="2-1.4" -REMSIM_c="0" +REMSIM_c="2" REMSIM_n="2" diff --git a/contrib/etc_default/osmo-remsim-client-3 b/contrib/etc_default/osmo-remsim-client-3 index da48eaa..417d884 100644 --- a/contrib/etc_default/osmo-remsim-client-3 +++ b/contrib/etc_default/osmo-remsim-client-3 @@ -3,5 +3,5 @@ # Options to pass to osmo-remsim-client REMSIM_I="1" REMSIM_H="2-1.4" -REMSIM_c="0" +REMSIM_c="3" REMSIM_n="3" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 Gerrit-Change-Number: 17389 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 21:11:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:11:13 +0000 Subject: Change in osmo-remsim[master]: fix config defaults for systemd startscripts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17389 ) Change subject: fix config defaults for systemd startscripts ...................................................................... Patch Set 1: the -s/-i makes sense, but why would you change the client_ids? They look fine as-is to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 Gerrit-Change-Number: 17389 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 05 Mar 2020 21:11:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 21:13:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:13:41 +0000 Subject: Change in osmo-remsim[master]: fix config defaults for systemd startscripts In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by roh. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17389 ) Change subject: fix config defaults for systemd startscripts ...................................................................... fix config defaults for systemd startscripts Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 --- M contrib/etc_default/osmo-remsim-client 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/89/17389/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 Gerrit-Change-Number: 17389 Gerrit-PatchSet: 2 Gerrit-Owner: roh 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 Mar 5 21:15:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:15:27 +0000 Subject: Change in libosmocore[master]: gsmtap.h: Add definitions for voice inside GSMTAP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17289 ) Change subject: gsmtap.h: Add definitions for voice inside GSMTAP ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8 Gerrit-Change-Number: 17289 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Mar 2020 21:15:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 5 21:15:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:15:39 +0000 Subject: Change in libosmocore[master]: gsmtap.h: Add definitions for voice inside GSMTAP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17289 ) Change subject: gsmtap.h: Add definitions for voice inside GSMTAP ...................................................................... gsmtap.h: Add definitions for voice inside GSMTAP We so far are only able to transmit signalling data inside GSMTAP, but not actual voice / user plane payload data. we cannot use the existing TCHF/TCHH sub-types, as those are already used [without further discrimination] for FACCH + SACCH Data on those channels. Instead, we will introduce a new GSMTAP_CHANNEL_VOICE sub-type, which then will have the first byte for a sub-sub-type specifying the payload format in detail. Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8 Related: OS#2557 --- M include/osmocom/core/gsmtap.h 1 file changed, 26 insertions(+), 2 deletions(-) Approvals: laforge: 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/core/gsmtap.h b/include/osmocom/core/gsmtap.h index 35ba71e..87c18e3 100644 --- a/include/osmocom/core/gsmtap.h +++ b/include/osmocom/core/gsmtap.h @@ -82,8 +82,8 @@ #define GSMTAP_CHANNEL_SDCCH 0x06 #define GSMTAP_CHANNEL_SDCCH4 0x07 #define GSMTAP_CHANNEL_SDCCH8 0x08 -#define GSMTAP_CHANNEL_TCH_F 0x09 -#define GSMTAP_CHANNEL_TCH_H 0x0a +#define GSMTAP_CHANNEL_TCH_F 0x09 /* Actually, it's FACCH/F (signaling) */ +#define GSMTAP_CHANNEL_TCH_H 0x0a /* Actually, it's FACCH/H (signaling) */ #define GSMTAP_CHANNEL_PACCH 0x0b #define GSMTAP_CHANNEL_CBCH52 0x0c #define GSMTAP_CHANNEL_PDTCH 0x0d @@ -91,6 +91,7 @@ #define GSMTAP_CHANNEL_PDCH GSMTAP_CHANNEL_PDTCH #define GSMTAP_CHANNEL_PTCCH 0x0e #define GSMTAP_CHANNEL_CBCH51 0x0f +#define GSMTAP_CHANNEL_VOICE 0x10 /* voice codec payload (HR/FR/EFR/AMR) */ /* GPRS Coding Scheme CS1..4 */ #define GSMTAP_GPRS_CS_BASE 0x20 @@ -318,3 +319,26 @@ uint32_t line_nr;/*!< line number */ } src_file; } __attribute__((packed)); + +/*! First byte of type==GSMTAP_TYPE_UM sub_type==GSMTAP_CHANNEL_VOICE payload */ +enum gsmtap_um_voice_type { + /*! 1 byte TOC + 112 bits (14 octets) = 15 octets payload; + * Reference is RFC5993 Section 5.2.1 + 3GPP TS 46.030 Annex B */ + GSMTAP_UM_VOICE_HR, + /*! 33 payload bytes; Reference is RFC3551 Section 4.5.8.1 */ + GSMTAP_UM_VOICE_FR, + /*! 31 payload bytes; Reference is RFC3551 Section 4.5.9 + ETSI TS 101 318 */ + GSMTAP_UM_VOICE_EFR, + /*! 1 byte TOC + 5..31 bytes = 6..32 bytes payload; RFC4867 octet-aligned */ + GSMTAP_UM_VOICE_AMR, + /* TODO: Revisit the types below; their usage; ... */ + GSMTAP_UM_VOICE_AMR_SID_BAD, + GSMTAP_UM_VOICE_AMR_ONSET, + GSMTAP_UM_VOICE_AMR_RATSCCH, + GSMTAP_UM_VOICE_AMR_SID_UPDATE_INH, + GSMTAP_UM_VOICE_AMR_SID_FIRST_P1, + GSMTAP_UM_VOICE_AMR_SID_FIRST_P2, + GSMTAP_UM_VOICE_AMR_SID_FIRST_INH, + GSMTAP_UM_VOICE_AMR_RATSCCH_MARKER, + GSMTAP_UM_VOICE_AMR_RATSCCH_DATA, +}; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If223020933b083fe359a2e8ff5fab1ce64a363d8 Gerrit-Change-Number: 17289 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Thu Mar 5 21:17:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:17:43 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 2: Code-Review-1 What I don't see here is the any treatment of the different voice codecs? The first byte of the GSMTAP payload should indicate whihc codec type a frame is (HR/FR/EFR/AMR) as described in the libosmocore change that introduces this new type. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 05 Mar 2020 21: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 Thu Mar 5 21:17:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:17:58 +0000 Subject: Change in osmocom-bb[master]: remove unused func decl In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17378 ) Change subject: remove unused func decl ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I94c8fff1557c0ce50cc3072573ef7cda8622fb84 Gerrit-Change-Number: 17378 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Mar 2020 21:17: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 Mar 5 21:19:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:19:07 +0000 Subject: Change in osmocom-bb[master]: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17379 ) Change subject: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a Gerrit-Change-Number: 17379 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Mar 2020 21:19: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 Mar 5 21:20:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Mar 2020 21:20:16 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17380 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 2: Code-Review-1 I also don't see any implementation for te "first byte indicates codec type"here. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 Gerrit-Change-Number: 17380 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Mar 2020 21:20: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 Mar 6 00:47:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 00:47:14 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: add a new test vector for Packet Resource Request References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17390 ) Change subject: tests/rlcmac: add a new test vector for Packet Resource Request ...................................................................... tests/rlcmac: add a new test vector for Packet Resource Request This test vector (from HTC Desire 628) demonstrates a bug in the CSN.1 decoder. For some reason, OsmoPCU fails to decode it: DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_TimeslotLinkQualityMeasurements (idx 164) while Wireshark dissects it without any errors. Change-Id: If5873355d52d7ddb06c2716154a88d34100f6ab5 Reported: https://osmocom.org/issues/4338#note-15 Related: OS#4338 --- M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/17390/1 diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index b8506b1..6855340 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -155,6 +155,7 @@ "400e1e61d11d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b", // Packet Uplink Dummy Control Block "400b8020000000000000002480e0032b2b2b2b2b2b2b2b", // Packet Downlink Ack/Nack "4016713dc094270ca2ae57ef909006aa0fc0001f80222b", // Packet Resource Request + "401673c87f24af2632b25964200600000091000b780080", // Packet Resource Request (from keith) "40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b", // EPDAN "400a9020000000000000003010012a0800132b2b2b2b2b", // Packet Downlink Ack/Nack ? }; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 5b89ec8..89e5fb1 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -24,6 +24,8 @@ DCSN1 INFO csnStreamEncoder (type=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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_TimeslotLinkQualityMeasurements (idx 164): End AdditionsR99 | +DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 0 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 3|43| DCSN1 INFO csnStreamDecoder (type=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=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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 2aea569..c44ad6a 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -106,6 +106,14 @@ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector2 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector1 == vector2 : TRUE +vector1 = 401673c87f24af2632b25964200600000091000b780080 +=========Start DECODE=========== ++++++++++Finish DECODE (-5)++++++++++ +=========Start ENCODE============= ++++++++++Finish ENCODE (0)+++++++++++ +vector1 = 40 16 73 c8 7f 24 af 26 32 b2 59 64 20 06 00 00 00 91 00 0b 78 00 80 +vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 00 00 00 91 00 0b 64 03 2b +vector1 == vector2 : FALSE vector1 = 40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If5873355d52d7ddb06c2716154a88d34100f6ab5 Gerrit-Change-Number: 17390 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 Mar 6 00:47:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 00:47:17 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() This change fixes a bug that was reported by Keith Whyte and confirmed in [1]. The problem is that a user-defined handler in case of CSN_SERIALIZE may parse only a part of the given bit-stream, leaving some bits unhandled. This is expected because the sender (i.e. the MS) may use more recent RLC/MAC message definitions containing new fields at the end. Those bits that were left unhandled by serialize() shall not be interpreted as continuation of the message, they shall be skipped. Note that the encoded vector in the RLCMAC unit test still does not match the original one. That's a known bug explained in [2]. [1] If5873355d52d7ddb06c2716154a88d34100f6ab5 [2] Ic46d6e56768f516203d27d8e7a5adb77afdf32b7 Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Related: OS#4338 --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/17391/1 diff --git a/src/csn1.c b/src/csn1.c index 594e8ec..21d3662 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -571,6 +571,13 @@ remaining_bits_len = arT.remaining_bits_len; bit_offset = arT.bit_offset; } + + /* Skip bits not handled by serialize(), if any */ + if (Status > 0) { + LOGPC(DCSN1, LOGL_NOTICE, "skipped = %d | ", Status); + *readIndex += Status; + } + pDescr++; } else diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 89e5fb1..fdba943 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -24,8 +24,8 @@ DCSN1 INFO csnStreamEncoder (type=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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_TimeslotLinkQualityMeasurements (idx 164): End AdditionsR99 | -DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 0 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 3|43| +DCSN1 INFO csnStreamDecoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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 | skipped = 21 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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 = 11|43|43| DCSN1 INFO csnStreamDecoder (type=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=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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index c44ad6a..fdf4ff0 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -108,11 +108,11 @@ vector1 == vector2 : TRUE vector1 = 401673c87f24af2632b25964200600000091000b780080 =========Start DECODE=========== -+++++++++Finish DECODE (-5)++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= +++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 16 73 c8 7f 24 af 26 32 b2 59 64 20 06 00 00 00 91 00 0b 78 00 80 -vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 00 00 00 91 00 0b 64 03 2b +vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 12 20 01 6f 00 10 0b 2b 2b vector1 == vector2 : FALSE vector1 = 40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 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 Mar 6 00:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 00:57:18 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of Packet Resource Request message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of Packet Resource Request message ...................................................................... Patch Set 4: -Code-Review Ok, since we never need to encode MS RA Capability on practice, but only decode, let's move it forward and get merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 00: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 Fri Mar 6 01:12:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 01:12:07 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of MS RA Capability IE In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#5) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of MS RA Capability IE ...................................................................... gsm_rlcmac: improve dissection of MS RA Capability IE Port from wireshark.git de028e81c53f9c45ccc5adb3bffd2f16ae2017bf This commit breaks transcoding of the test vectors containing the MS RA Capability IE due to the reasons explained in [1]. The more fields we add, the longer gets the output of the CSN.1 encoder. This is not critical, since we never need to encode messages containing the MS RA Capability IE on practice. [1] Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Ported-by: Pau Espin Pedrol Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 80 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/50/17050/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 01:22:24 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 6 Mar 2020 01:22:24 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: add a new test vector for Packet Resource Request In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17390 ) Change subject: tests/rlcmac: add a new test vector for Packet Resource Request ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If5873355d52d7ddb06c2716154a88d34100f6ab5 Gerrit-Change-Number: 17390 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Fri, 06 Mar 2020 01:22: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 Mar 6 01:23:46 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 6 Mar 2020 01:23:46 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... Patch Set 1: Code-Review+1 I can't claim that I fully understand what's going on here yet, but I have tested this with the phone that exhibited the error and it's all good. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Fri, 06 Mar 2020 01:23:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 01:44:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 01:44:27 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suspend encoding errors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17392 ) Change subject: rlcmac: fix encode_gsm_*(): do not suspend encoding errors ...................................................................... rlcmac: fix encode_gsm_*(): do not suspend encoding errors Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 10 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/17392/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index e8ce2ef..781e273 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -5429,8 +5429,8 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); - ret = 0; + LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode an Uplink block: not enough bits " + "in the output buffer, need more %d\n", ret); } return ret; @@ -5635,8 +5635,8 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); - ret = 0; + LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode a Downlink block: not enough bits " + "in the output buffer, need more %d\n", ret); } return ret; @@ -5818,8 +5818,8 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); - ret = 0; + LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode MS RA Capability IE: not enough bits " + "in the output buffer, need more %d\n", ret); } return ret; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index a1dde77..63498ca 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -284,7 +284,7 @@ { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); - log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DCSN1,2:"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,2:"); log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); log_set_print_category_hex(osmo_stderr_target, 0); diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index d7a438b..b52f0e8 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -32,5 +32,7 @@ DCSN1 INFO csnStreamEncoder (type=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=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 = 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 } | +DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec 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 = 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 = 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 } | +DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer, need more 107 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 | diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 438417f..3c9d8b0 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -136,7 +136,7 @@ GPRS multislot class = 3 EGPRS multislot class = 0 === Test encoding of MS RA Capability === -encode_gsm_ra_cap() returns 0 +encode_gsm_ra_cap() returns 107 vector1 (len_ind=29) = 13 a5 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 vector2 (len_ind=65) = 18 25 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 === Test decoding of a malformed vector (short length indicator) === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 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 Mar 6 01:51:43 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 6 Mar 2020 01:51:43 +0000 Subject: Change in osmo-pcu[master]: Send UL-CTRL Packet to GSMTAP even if we fail to decode. References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17393 ) Change subject: Send UL-CTRL Packet to GSMTAP even if we fail to decode. ...................................................................... Send UL-CTRL Packet to GSMTAP even if we fail to decode. Move the call to send_gsmtap() before the call to decode_gsm_rlcmac_uplink() as if the latter returns error we return and never get to see the packet on the GSMTAP. Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd --- M src/pdch.cpp 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/93/17393/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 7cf75c5..5b87d51 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -705,6 +705,12 @@ ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + + 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); + else + bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); + rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " @@ -713,11 +719,6 @@ } LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); - 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); - else - bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); - bts()->rlc_rcvd_control(); switch (ul_control_block->u.MESSAGE_TYPE) { case MT_PACKET_CONTROL_ACK: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd Gerrit-Change-Number: 17393 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 01:54:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 01:54:47 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 to look at the new patch set (#2). Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... rlcmac: fix encode_gsm_*(): do not suppress encoding errors Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 10 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/17392/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 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 Mar 6 01:54:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 01:54:47 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors ...................................................................... csn1: fix csnStreamEncoder(): do not suppress 'no space' errors Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 2 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/17394/1 diff --git a/src/csn1.c b/src/csn1.c index 21d3662..d788af5 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1463,11 +1463,6 @@ guint8 Tag = STANDARD_TAG; - if (remaining_bits_len <= 0) - { - return 0; - } - do { switch (pDescr->type) diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index b52f0e8..d2d52d2 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -23,7 +23,7 @@ DCSN1 INFO csnStreamDecoder (type=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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 : | Padding = +DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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) DCSN1 INFO csnStreamDecoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 3c9d8b0..6cf18f8 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -102,7 +102,7 @@ =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE (0)+++++++++++ ++++++++++Finish ENCODE (-5)+++++++++++ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector2 = 40 16 71 3d c0 94 27 48 a2 ae 57 ef 90 90 06 aa 00 00 1f 80 00 3f 00 vector1 == vector2 : FALSE -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 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 Mar 6 02:03:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 02:03:01 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 to look at the new patch set (#3). Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... rlcmac: fix encode_gsm_*(): do not suppress encoding errors Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 13 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/17392/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 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 Fri Mar 6 02:03:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 02:03:01 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 to look at the new patch set (#2). Change subject: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors ...................................................................... csn1: fix csnStreamEncoder(): do not suppress 'no space' errors Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 3 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/17394/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 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 Mar 6 02:04:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 02:04:59 +0000 Subject: Change in osmo-pcu[master]: Send UL-CTRL Packet to GSMTAP even if we fail to decode. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17393 ) Change subject: Send UL-CTRL Packet to GSMTAP even if we fail to decode. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd Gerrit-Change-Number: 17393 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 06 Mar 2020 02:04: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 Mar 6 10:49:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 10:49:32 +0000 Subject: Change in mncc-python[master]: contrib/manual_test_server: Make executable, add #! References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17395 ) Change subject: contrib/manual_test_server: Make executable, add #! ...................................................................... contrib/manual_test_server: Make executable, add #! Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 --- M contrib/manual_test_server.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/95/17395/1 diff --git a/contrib/manual_test_server.py b/contrib/manual_test_server.py old mode 100644 new mode 100755 index 4b2b5bd..efdd836 --- a/contrib/manual_test_server.py +++ b/contrib/manual_test_server.py @@ -1,3 +1,5 @@ +#!/usr/bin/python2 + import mncc import mncc_sock import ctypes -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 Gerrit-Change-Number: 17395 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 Mar 6 10:49:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 10:49:33 +0000 Subject: Change in mncc-python[master]: MnccSocketServer: Don't unlink if the socket doesn't exist References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17396 ) Change subject: MnccSocketServer: Don't unlink if the socket doesn't exist ...................................................................... MnccSocketServer: Don't unlink if the socket doesn't exist Change-Id: I5164502f2d20d5e82e916918ad8556c2b5f7a3d1 --- M mncc_sock.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/96/17396/1 diff --git a/mncc_sock.py b/mncc_sock.py index 009a476..b2d0705 100644 --- a/mncc_sock.py +++ b/mncc_sock.py @@ -154,7 +154,8 @@ class MnccSocketServer(object): def __init__(self, address = '/tmp/bsc_mncc'): - os.unlink(address) + if os.path.exists(address): + os.unlink(address) self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_SEQPACKET) self.sock.bind(address) self.sock.listen(5) -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5164502f2d20d5e82e916918ad8556c2b5f7a3d1 Gerrit-Change-Number: 17396 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 Mar 6 10:49:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 10:49:34 +0000 Subject: Change in mncc-python[master]: Fix regen-mncc-py.sh script to work on Debian8 (jessie) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17397 ) Change subject: Fix regen-mncc-py.sh script to work on Debian8 (jessie) ...................................................................... Fix regen-mncc-py.sh script to work on Debian8 (jessie) As python-ctypeslib is long unmaintained, it is not packaged for anything more recent than Debian 8 (jessie). Let's print that at start and check for availability of the reqquired executable programs (part of python-ctypeslib). Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 --- M regen-mncc-py.sh 1 file changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/97/17397/1 diff --git a/regen-mncc-py.sh b/regen-mncc-py.sh index 30bdd34..f1c85db 100755 --- a/regen-mncc-py.sh +++ b/regen-mncc-py.sh @@ -1,5 +1,16 @@ #/bin/sh -echo on Debian, codegen/cparser.py must call gccxml.real instead of gccxml! +echo This script requires that python-ctypeslib is installed on the system +echo Unfortunately, this package is long unmaintained and only available on Debian8 +echo + +if [ ! -x `which h2xml` ]; then + echo No h2xml executable found - python-ctypeslib not installed? +fi + +if [ ! -x `which xml2py` ]; then + echo No xml2py executable found - python-ctypeslib not installed? +fi + cp ./mncc.h /tmp/mncc.h -h2xml.py ./mncc.h -c -o mncc.xml -xml2py.py mncc.xml -k dest -v -o mncc.py +h2xml ./mncc.h -c -o mncc.xml +xml2py mncc.xml -k dest -v -o mncc.py -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 Gerrit-Change-Number: 17397 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 Mar 6 11:04:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 11:04:25 +0000 Subject: Change in mncc-python[master]: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17398 ) Change subject: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 ...................................................................... mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 Change-Id: Ic893922b3e4b272f2899d793df3219b6ef9b749f --- M mncc.h 1 file changed, 45 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/98/17398/1 diff --git a/mncc.h b/mncc.h index 3e00db8..64928a8 100644 --- a/mncc.h +++ b/mncc.h @@ -6,6 +6,34 @@ #include +/* GSM 04.08 Bearer Capability: Information Transfer Capability */ +enum gsm48_bcap_itcap { + GSM48_BCAP_ITCAP_SPEECH = 0, + GSM48_BCAP_ITCAP_UNR_DIG_INF = 1, + GSM48_BCAP_ITCAP_3k1_AUDIO = 2, + GSM48_BCAP_ITCAP_FAX_G3 = 3, + GSM48_BCAP_ITCAP_OTHER = 5, + GSM48_BCAP_ITCAP_RESERVED = 7, +}; + +/* GSM 04.08 Bearer Capability: Transfer Mode */ +enum gsm48_bcap_tmod { + GSM48_BCAP_TMOD_CIRCUIT = 0, + GSM48_BCAP_TMOD_PACKET = 1, +}; + +/* GSM 04.08 Bearer Capability: Coding Standard */ +enum gsm48_bcap_coding { + GSM48_BCAP_CODING_GSM_STD = 0, +}; + +/* GSM 04.08 Bearer Capability: Radio Channel Requirements */ +enum gsm48_bcap_rrq { + GSM48_BCAP_RRQ_FR_ONLY = 1, + GSM48_BCAP_RRQ_DUAL_HR = 2, + GSM48_BCAP_RRQ_DUAL_FR = 3, +}; + /* GSM 04.08 Bearer Capability: Rate Adaption */ enum gsm48_bcap_ra { GSM48_BCAP_RA_NONE = 0, @@ -71,6 +99,19 @@ GSM48_BCAP_MT_AUTO_1 = 8, }; +/*! GSM 04.08 Bearer Capability: Speech Version Indication + * (See also 3GPP TS 24.008, Table 10.5.103) */ +enum gsm48_bcap_speech_ver { + GSM48_BCAP_SV_FR = 0, /*!< GSM FR V1 (GSM FR) */ + GSM48_BCAP_SV_HR = 1, /*!< GSM HR V1 (GSM HR) */ + GSM48_BCAP_SV_EFR = 2, /*!< GSM FR V2 (GSM EFR) */ + GSM48_BCAP_SV_AMR_F = 4, /*!< GSM FR V3 (FR AMR) */ + GSM48_BCAP_SV_AMR_H = 5, /*!< GSM HR V3 (HR_AMR) */ + GSM48_BCAP_SV_AMR_OFW = 6, /*!< GSM FR V4 (OFR AMR-WB) */ + GSM48_BCAP_SV_AMR_OHW = 7, /*!< GSM HR V4 (OHR AMR-WB) */ + GSM48_BCAP_SV_AMR_FW = 8, /*!< GSM FR V5 (FR AMR-WB) */ + GSM48_BCAP_SV_AMR_OH = 11, /*!< GSM HR V6 (OHR AMR) */ +}; #define GSM_MAX_FACILITY 128 @@ -265,6 +306,8 @@ unsigned char lchan_type; unsigned char lchan_mode; + + char sdp[1024]; }; struct gsm_data_frame { @@ -273,7 +316,7 @@ unsigned char data[0]; }; -#define MNCC_SOCK_VERSION 5 +#define MNCC_SOCK_VERSION 6 struct gsm_mncc_hello { uint32_t msg_type; uint32_t version; @@ -296,6 +339,7 @@ uint16_t port; uint32_t payload_type; uint32_t payload_msg_type; + char sdp[1024]; }; struct gsm_mncc_bridge { -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ic893922b3e4b272f2899d793df3219b6ef9b749f Gerrit-Change-Number: 17398 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 Mar 6 11:04:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 11:04:26 +0000 Subject: Change in mncc-python[master]: update mncc.py to mncc.h after MNCCv6 update References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17399 ) Change subject: update mncc.py to mncc.h after MNCCv6 update ...................................................................... update mncc.py to mncc.h after MNCCv6 update Change-Id: I9f112a0f76b9cd00d58dc2d5751b031ee056e194 --- M mncc.py M mncc.xml 2 files changed, 919 insertions(+), 832 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/99/17399/1 diff --git a/mncc.py b/mncc.py index 16f977f..9acac29 100644 --- a/mncc.py +++ b/mncc.py @@ -2,49 +2,82 @@ +GSM48_BCAP_TR_TR_PREF = 2 +GSM48_BCAP_PAR_EVEN = 2 +GSM48_BCAP_PAR_ODD = 0 +GSM48_BCAP_SA_I440_I450 = 1 +GSM48_BCAP_PAR_ZERO = 4 +GSM48_BCAP_SA_X28_NDP = 5 +GSM48_BCAP_ITCAP_SPEECH = 0 +GSM48_BCAP_TR_TRANSP = 0 +GSM48_BCAP_TR_RLP = 1 +GSM48_BCAP_MT_V26ter = 5 +GSM48_BCAP_SA_X32 = 6 +GSM48_BCAP_ITCAP_OTHER = 5 +GSM48_BCAP_MT_V32 = 6 +GSM48_BCAP_SV_FR = 0 +GSM48_BCAP_SA_X28_DP_IN = 3 +GSM48_BCAP_MT_V23 = 4 +GSM48_BCAP_MT_AUTO_1 = 8 +GSM48_BCAP_MT_V22bis = 3 +GSM48_BCAP_ITCAP_FAX_G3 = 3 +GSM48_BCAP_UR_4800 = 4 +GSM48_BCAP_IR_16k = 3 +GSM48_BCAP_RA_OTHER = 3 +GSM48_BCAP_RA_NONE = 0 +GSM48_BCAP_SV_AMR_F = 4 +GSM48_BCAP_MT_V21 = 1 +GSM48_BCAP_ITCAP_3k1_AUDIO = 2 +GSM48_BCAP_SA_X28_DP_UN = 4 +GSM48_BCAP_TR_RLP_PREF = 3 +GSM48_BCAP_SV_AMR_FW = 8 +GSM_MNCC_BCAP_AUDIO = 2 +GSM48_BCAP_RA_X31 = 2 +GSM48_BCAP_SV_HR = 1 +GSM48_BCAP_SV_EFR = 2 +GSM48_BCAP_RA_V110_X30 = 1 +GSM48_BCAP_SV_AMR_H = 5 +GSM_MNCC_BCAP_UNR_DIG = 1 +GSM48_BCAP_TMOD_CIRCUIT = 0 +GSM48_BCAP_MT_NONE = 0 +GSM48_BCAP_UR_1200_75 = 7 +GSM48_BCAP_UR_12000 = 6 +GSM48_BCAP_UR_9600 = 5 +GSM48_BCAP_MT_UNDEF = 7 GSM48_BCAP_UR_2400 = 3 GSM48_BCAP_UR_1200 = 2 -GSM48_BCAP_PAR_ONE = 5 -GSM48_BCAP_SA_X21 = 2 -GSM48_BCAP_SA_I440_I450 = 1 -GSM48_BCAP_PAR_ODD = 0 -GSM48_BCAP_RA_NONE = 0 -GSM48_BCAP_SA_X28_NDP = 5 -GSM48_BCAP_UR_1200_75 = 7 -GSM48_BCAP_PAR_NONE = 3 -GSM48_BCAP_SA_X28_DP_UN = 4 -GSM48_BCAP_PAR_ZERO = 4 -GSM48_BCAP_TR_RLP = 1 -GSM_MNCC_BCAP_RESERVED = 7 -GSM48_BCAP_SA_X28_DP_IN = 3 -GSM_MNCC_BCAP_OTHER_ITC = 5 -GSM48_BCAP_TR_TRANSP = 0 -GSM_MNCC_BCAP_FAX_G3 = 3 -GSM48_BCAP_MT_V26ter = 5 -GSM48_BCAP_MT_V22 = 2 -GSM48_BCAP_MT_V21 = 1 -GSM48_BCAP_IR_16k = 3 -GSM48_BCAP_RA_V110_X30 = 1 -GSM_MNCC_BCAP_UNR_DIG = 1 -GSM48_BCAP_MT_V23 = 4 -GSM_MNCC_BCAP_AUDIO = 2 -GSM_MNCC_BCAP_SPEECH = 0 -GSM48_BCAP_MT_V32 = 6 +GSM48_BCAP_ITCAP_RESERVED = 7 GSM48_BCAP_UR_300 = 1 -GSM48_BCAP_TR_RLP_PREF = 3 -GSM48_BCAP_MT_V22bis = 3 -GSM48_BCAP_RA_X31 = 2 -GSM48_BCAP_UR_9600 = 5 -GSM48_BCAP_MT_NONE = 0 -GSM48_BCAP_RA_OTHER = 3 -GSM48_BCAP_PAR_EVEN = 2 -GSM48_BCAP_UR_12000 = 6 -GSM48_BCAP_MT_UNDEF = 7 -GSM48_BCAP_TR_TR_PREF = 2 +GSM_MNCC_BCAP_RESERVED = 7 +GSM_MNCC_BCAP_OTHER_ITC = 5 +GSM_MNCC_BCAP_FAX_G3 = 3 +GSM48_BCAP_RRQ_DUAL_FR = 3 GSM48_BCAP_IR_8k = 2 -GSM48_BCAP_UR_4800 = 4 -GSM48_BCAP_SA_X32 = 6 -GSM48_BCAP_MT_AUTO_1 = 8 +GSM48_BCAP_PAR_NONE = 3 +GSM_MNCC_BCAP_SPEECH = 0 +GSM48_BCAP_MT_V22 = 2 +GSM48_BCAP_SV_AMR_OH = 11 +GSM48_BCAP_SA_X21 = 2 +GSM48_BCAP_RRQ_DUAL_HR = 2 +GSM48_BCAP_PAR_ONE = 5 +GSM48_BCAP_SV_AMR_OHW = 7 +GSM48_BCAP_SV_AMR_OFW = 6 +GSM48_BCAP_ITCAP_UNR_DIG_INF = 1 +GSM48_BCAP_RRQ_FR_ONLY = 1 +GSM48_BCAP_TMOD_PACKET = 1 +GSM48_BCAP_CODING_GSM_STD = 0 + +# values for enumeration 'gsm48_bcap_itcap' +gsm48_bcap_itcap = c_int # enum + +# values for enumeration 'gsm48_bcap_tmod' +gsm48_bcap_tmod = c_int # enum + +# values for enumeration 'gsm48_bcap_coding' +gsm48_bcap_coding = c_int # enum + +# values for enumeration 'gsm48_bcap_rrq' +gsm48_bcap_rrq = c_int # enum # values for enumeration 'gsm48_bcap_ra' gsm48_bcap_ra = c_int # enum @@ -66,6 +99,9 @@ # values for enumeration 'gsm48_bcap_modem_type' gsm48_bcap_modem_type = c_int # enum + +# values for enumeration 'gsm48_bcap_speech_ver' +gsm48_bcap_speech_ver = c_int # enum class gsm_mncc_bearer_cap(Structure): pass class N19gsm_mncc_bearer_cap3DOT_0E(Structure): @@ -177,6 +213,7 @@ ('imsi', c_char * 16), ('lchan_type', c_ubyte), ('lchan_mode', c_ubyte), + ('sdp', c_char * 1024), ] class gsm_data_frame(Structure): pass @@ -207,6 +244,7 @@ ('port', uint16_t), ('payload_type', uint32_t), ('payload_msg_type', uint32_t), + ('sdp', c_char * 1024), ] class gsm_mncc_bridge(Structure): pass @@ -224,7 +262,7 @@ __GNU_LIBRARY__ = 6 # Variable c_int '6' MNCC_REL_CNF = 274 # Variable c_int '274' __USE_XOPEN = 1 # Variable c_int '1' -__USE_LARGEFILE64 = 1 # Variable c_int '1' +MNCC_REL_REQ = 272 # Variable c_int '272' MNCC_RTP_CREATE = 516 # Variable c_int '516' __USE_XOPEN2KXSI = 1 # Variable c_int '1' MNCC_STOP_DTMF_RSP = 281 # Variable c_int '281' @@ -232,6 +270,7 @@ __USE_POSIX2 = 1 # Variable c_int '1' GSM_TCH_FRAME_AMR = 771 # Variable c_int '771' __USE_XOPEN2K8XSI = 1 # Variable c_int '1' +__USE_POSIX199309 = 1 # Variable c_int '1' MNCC_FACILITY_IND = 276 # Variable c_int '276' MNCC_LCHAN_MODIFY = 515 # Variable c_int '515' GSM_MAX_FACILITY = 128 # Variable c_int '128' @@ -244,7 +283,7 @@ MNCC_START_DTMF_REJ = 279 # Variable c_int '279' INT_LEAST16_MAX = 32767 # Variable c_int '32767' MNCC_SETUP_COMPL_IND = 262 # Variable c_int '262' -MNCC_SOCK_VERSION = 5 # Variable c_int '5' +MNCC_SOCK_VERSION = 6 # Variable c_int '6' INTMAX_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' INT32_MAX = 2147483647 # Variable c_int '2147483647' INTMAX_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l' @@ -252,22 +291,22 @@ _POSIX_SOURCE = 1 # Variable c_int '1' _ISOC95_SOURCE = 1 # Variable c_int '1' INT64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' -MNCC_REL_REQ = 272 # Variable c_int '272' _ISOC99_SOURCE = 1 # Variable c_int '1' -UINT_FAST8_MAX = 255 # Variable c_int '255' -MNCC_NOTIFY_IND = 269 # Variable c_int '269' +MNCC_HOLD_IND = 287 # Variable c_int '287' +__USE_POSIX = 1 # Variable c_int '1' MNCC_HOLD_CNF = 288 # Variable c_int '288' INT_LEAST8_MIN = -128 # Variable c_int '-0x00000000000000080' MNCC_REL_IND = 273 # Variable c_int '273' MNCC_F_SIGNAL = 8192 # Variable c_int '8192' INT_FAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' INT_FAST64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l' -INT_LEAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' +MNCC_DISC_REQ = 270 # Variable c_int '270' MNCC_BRIDGE = 512 # Variable c_int '512' MNCC_F_CALLED = 2 # Variable c_int '2' UINT_LEAST32_MAX = 4294967295L # Variable c_uint '4294967295u' -__USE_POSIX199309 = 1 # Variable c_int '1' +__USE_LARGEFILE64 = 1 # Variable c_int '1' MNCC_RTP_CONNECT = 517 # Variable c_int '517' +MNCC_NOTIFY_IND = 269 # Variable c_int '269' __SYSCALL_WORDSIZE = 64 # Variable c_int '64' __GLIBC_MINOR__ = 19 # Variable c_int '19' MNCC_SOCKET_HELLO = 1024 # Variable c_int '1024' @@ -278,10 +317,10 @@ INT64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l' MNCC_SETUP_REQ = 257 # Variable c_int '257' MNCC_F_USERUSER = 64 # Variable c_int '64' +UINT_FAST8_MAX = 255 # Variable c_int '255' MNCC_REJ_REQ = 295 # Variable c_int '295' __USE_XOPEN2K = 1 # Variable c_int '1' __WORDSIZE_TIME64_COMPAT32 = 1 # Variable c_int '1' -__USE_POSIX = 1 # Variable c_int '1' __USE_XOPEN2K8 = 1 # Variable c_int '1' MNCC_USERINFO_REQ = 293 # Variable c_int '293' MNCC_RTP_FREE = 518 # Variable c_int '518' @@ -324,7 +363,7 @@ MNCC_F_KEYPAD = 4096 # Variable c_int '4096' INT_LEAST32_MAX = 2147483647 # Variable c_int '2147483647' UINT_LEAST8_MAX = 255 # Variable c_int '255' -MNCC_HOLD_IND = 287 # Variable c_int '287' +INT_LEAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' __USE_LARGEFILE = 1 # Variable c_int '1' __USE_EXTERN_INLINES = 1 # Variable c_int '1' PTRDIFF_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' @@ -359,7 +398,6 @@ _LARGEFILE64_SOURCE = 1 # Variable c_int '1' MNCC_MODIFY_RSP = 284 # Variable c_int '284' _XOPEN_SOURCE = 700 # Variable c_int '700' -MNCC_DISC_REQ = 270 # Variable c_int '270' MNCC_SETUP_RSP = 259 # Variable c_int '259' SIZE_MAX = 18446744073709551615L # Variable c_ulong '-1ul' INT_FAST8_MAX = 127 # Variable c_int '127' @@ -406,99 +444,114 @@ uintptr_t = c_ulong intmax_t = c_long uintmax_t = c_ulong -__all__ = ['GSM48_BCAP_SA_X28_DP_UN', 'gsm_mncc_number', +__all__ = ['GSM48_BCAP_SA_X28_DP_UN', 'GSM48_BCAP_ITCAP_OTHER', 'GSM48_BCAP_UR_9600', '_POSIX_C_SOURCE', '_ATFILE_SOURCE', 'MNCC_SETUP_CNF', 'GSM48_BCAP_PAR_ONE', 'GSM_TCHH_FRAME', - 'UINT8_MAX', '__USE_ATFILE', 'INT_LEAST8_MAX', - 'MNCC_F_CAUSE', 'INT32_MIN', 'int_fast32_t', + 'GSM48_BCAP_RRQ_DUAL_FR', '__USE_ATFILE', 'INT_LEAST8_MAX', + 'MNCC_F_CAUSE', 'INT32_MIN', 'MNCC_SETUP_RSP', '__GNU_LIBRARY__', 'MNCC_REL_CNF', 'WINT_MIN', - '__USE_XOPEN', '__USE_LARGEFILE64', 'MNCC_NOTIFY_REQ', + 'MNCC_LCHAN_MODIFY', '__USE_XOPEN', 'MNCC_REL_REQ', 'MNCC_RTP_CREATE', 'MNCC_REJ_IND', '__USE_XOPEN2KXSI', - 'MNCC_STOP_DTMF_RSP', 'UINT_FAST16_MAX', + 'GSM48_BCAP_TMOD_PACKET', 'UINT_FAST16_MAX', 'MNCC_PROGRESS_REQ', 'uint8_t', '__USE_POSIX2', - 'GSM_TCH_FRAME_AMR', 'GSM48_BCAP_MT_UNDEF', - 'INT_LEAST16_MIN', 'MNCC_SETUP_COMPL_IND', - 'uint_least16_t', 'MNCC_FACILITY_IND', 'MNCC_LCHAN_MODIFY', - 'GSM_MAX_FACILITY', 'UINTMAX_MAX', 'GSM48_BCAP_SA_X21', - '_LARGEFILE_SOURCE', 'INT_FAST16_MIN', 'MNCC_F_KEYPAD', - 'GSM_MNCC_BCAP_UNR_DIG', 'UINT64_MAX', - 'gsm_mncc_ssversion', 'GSM48_BCAP_TR_TR_PREF', + 'GSM_TCH_FRAME_AMR', 'GSM48_BCAP_SV_AMR_OFW', + 'GSM48_BCAP_MT_UNDEF', 'INT_LEAST16_MIN', + 'MNCC_SETUP_COMPL_IND', 'uint_least16_t', + 'MNCC_FACILITY_IND', 'GSM48_BCAP_ITCAP_RESERVED', + 'GSM_MAX_FACILITY', 'UINT8_MAX', 'UINTMAX_MAX', + 'GSM48_BCAP_SA_X21', '_LARGEFILE_SOURCE', 'INT_FAST16_MIN', + 'MNCC_F_KEYPAD', 'GSM_MNCC_BCAP_UNR_DIG', 'UINT64_MAX', + 'gsm_mncc_ssversion', 'int32_t', 'GSM48_BCAP_TR_TR_PREF', 'MNCC_START_DTMF_REJ', 'GSM48_BCAP_MT_AUTO_1', 'INT_LEAST16_MAX', 'N19gsm_mncc_bearer_cap3DOT_0E', - 'MNCC_SOCK_VERSION', 'INTMAX_MIN', 'INT_LEAST32_MAX', + 'MNCC_SOCK_VERSION', 'INTMAX_MIN', 'INT32_MAX', 'GSM48_BCAP_IR_16k', 'GSM48_BCAP_UR_12000', - 'GSM48_BCAP_PAR_EVEN', 'int_least16_t', 'INTMAX_MAX', - 'GSM48_BCAP_TR_RLP', 'MNCC_USERINFO_IND', '_POSIX_SOURCE', - '_ISOC95_SOURCE', 'uint_fast16_t', 'INT64_MIN', - '_ISOC99_SOURCE', 'uint_least8_t', 'UINT_FAST8_MAX', - '__USE_POSIX', '__USE_SVID', 'MNCC_HOLD_CNF', - 'INT_LEAST8_MIN', 'MNCC_REL_IND', 'GSM48_BCAP_UR_1200', - 'GSM48_BCAP_MT_V26ter', 'MNCC_F_SIGNAL', - 'GSM48_BCAP_SA_X32', 'INT_FAST64_MIN', 'gsm_mncc_cause', - 'MNCC_DISC_REQ', 'MNCC_BRIDGE', 'int16_t', + 'GSM48_BCAP_PAR_EVEN', 'int_least16_t', + 'gsm48_bcap_speech_ver', 'GSM48_BCAP_TR_RLP', + 'MNCC_USERINFO_IND', '_POSIX_SOURCE', '_ISOC95_SOURCE', + 'uint_fast16_t', 'INT64_MIN', '_ISOC99_SOURCE', + 'uint_least8_t', 'UINT_FAST8_MAX', '__USE_POSIX', + '__USE_SVID', 'MNCC_HOLD_CNF', 'INT_LEAST8_MIN', + 'INTMAX_MAX', 'GSM48_BCAP_UR_1200', 'GSM48_BCAP_MT_V26ter', + 'MNCC_F_SIGNAL', 'GSM48_BCAP_SA_X32', 'INT_FAST64_MIN', + 'MNCC_MODIFY_RSP', 'gsm_mncc_cause', 'INT_LEAST64_MIN', + 'MNCC_HOLD_IND', 'GSM48_BCAP_CODING_GSM_STD', 'GSM48_BCAP_UR_2400', 'uintmax_t', 'MNCC_F_CALLED', - 'UINT_LEAST32_MAX', 'MNCC_REL_REQ', 'MNCC_RTP_CONNECT', - 'GSM48_BCAP_TR_TRANSP', '__SYSCALL_WORDSIZE', - '__GLIBC_MINOR__', 'int_least8_t', 'MNCC_SOCKET_HELLO', - 'UINT32_MAX', 'MNCC_F_PROGRESS', 'MNCC_HOLD_REJ', - 'GSM48_BCAP_SA_I440_I450', 'int64_t', 'GSM_MAX_USERUSER', - 'GSM48_BCAP_PAR_ODD', 'GSM48_BCAP_PAR_NONE', 'INT64_MAX', - 'MNCC_F_FACILITY', 'MNCC_SETUP_REQ', 'GSM48_BCAP_RA_X31', - 'gsm_mncc_bearer_cap', 'MNCC_F_USERUSER', '_SVID_SOURCE', + 'UINT_LEAST32_MAX', '__USE_POSIX199309', + 'MNCC_RTP_CONNECT', 'GSM48_BCAP_TR_TRANSP', + '__SYSCALL_WORDSIZE', '__GLIBC_MINOR__', 'int_least8_t', + 'MNCC_SOCKET_HELLO', 'UINT32_MAX', 'MNCC_F_PROGRESS', + 'MNCC_HOLD_REJ', 'GSM48_BCAP_SA_I440_I450', 'int64_t', + 'GSM_MAX_USERUSER', 'GSM48_BCAP_PAR_ODD', + 'GSM48_BCAP_PAR_NONE', 'INT64_MAX', 'MNCC_F_FACILITY', + 'MNCC_SETUP_REQ', 'MNCC_CALL_CONF_IND', + 'GSM48_BCAP_RA_X31', 'gsm_mncc_bearer_cap', + 'MNCC_F_USERUSER', 'gsm_mncc_number', '_SVID_SOURCE', '__USE_XOPEN2K', '__WORDSIZE_TIME64_COMPAT32', - 'gsm_data_frame', 'MNCC_HOLD_IND', 'GSM48_BCAP_UR_1200_75', + 'gsm_data_frame', 'GSM48_BCAP_UR_1200_75', 'GSM48_BCAP_MT_V22bis', 'GSM_MNCC_BCAP_SPEECH', 'MNCC_USERINFO_REQ', 'MNCC_RTP_FREE', '__USE_GNU', - '__USE_BSD', 'gsm_mncc_cccap', 'GSM48_BCAP_PAR_ZERO', - 'MNCC_F_REDIRECTING', 'UINTPTR_MAX', 'GSM48_BCAP_RA_NONE', + '__USE_BSD', 'MNCC_REL_IND', 'gsm_mncc_cccap', 'INT8_MIN', + 'GSM48_BCAP_PAR_ZERO', 'MNCC_F_REDIRECTING', 'UINTPTR_MAX', + 'GSM48_BCAP_RA_NONE', 'GSM48_BCAP_RRQ_DUAL_HR', 'UINT_LEAST16_MAX', 'gsm48_bcap_user_rate', 'uint16_t', 'MNCC_MODIFY_IND', 'uint_fast8_t', 'gsm48_bcap_interm_rate', 'gsm_mncc', 'INT16_MIN', '_ISOC11_SOURCE', 'MNCC_RETRIEVE_REJ', 'INT8_MAX', - 'GSM48_BCAP_TR_RLP_PREF', 'int32_t', 'uint_least64_t', - 'INT16_MAX', 'GSM48_BCAP_UR_4800', 'INT_LEAST64_MAX', - 'GSM48_BCAP_SA_X28_DP_IN', 'GSM_MNCC_BCAP_FAX_G3', - '__USE_MISC', 'INTPTR_MAX', 'MNCC_DISC_IND', - '_DEFAULT_SOURCE', 'MNCC_FACILITY_REQ', - 'gsm_mncc_useruser', 'INT8_MIN', 'MNCC_RETRIEVE_IND', - 'GSM48_BCAP_RA_V110_X30', 'gsm_mncc_progress', - 'gsm48_bcap_transp', 'INTPTR_MIN', '__USE_ISOC99', - 'UINT_LEAST64_MAX', 'MNCC_F_CONNECTED', - 'GSM_MNCC_BCAP_AUDIO', 'int_least64_t', 'UINT_FAST64_MAX', - 'uintptr_t', 'INT_FAST64_MAX', '_STDINT_H', - 'MNCC_STOP_DTMF_IND', '__USE_FORTIFY_LEVEL', - 'gsm48_bcap_parity', 'int8_t', 'PTRDIFF_MAX', - '__USE_XOPEN2K8', 'gsm48_bcap_sig_access', 'MNCC_F_CCCAP', - 'int_fast8_t', 'MNCC_MODIFY_CNF', 'gsm_mncc_rtp', - 'INT_LEAST32_MIN', 'gsm_mncc_bridge', 'uint_least32_t', - 'UINT16_MAX', 'GSM48_BCAP_MT_V32', '__USE_XOPEN_EXTENDED', - 'INT32_MAX', '__USE_UNIX98', 'UINT_LEAST8_MAX', - 'uint_fast64_t', 'INT_LEAST64_MIN', '__USE_LARGEFILE', - '__USE_EXTERN_INLINES', 'PTRDIFF_MIN', 'UINT_FAST32_MAX', - '_FEATURES_H', 'GSM_MNCC_BCAP_OTHER_ITC', 'gsm_mncc_hello', - 'uint64_t', 'GSM_MAX_SSVERSION', 'MNCC_ALERT_REQ', - 'GSM48_BCAP_RA_OTHER', 'MNCC_START_DTMF_RSP', - 'SIG_ATOMIC_MIN', '__USE_POSIX199506', 'MNCC_MODIFY_REQ', + 'GSM48_BCAP_TR_RLP_PREF', 'gsm48_bcap_rrq', + 'uint_least64_t', 'INT16_MAX', 'GSM48_BCAP_UR_4800', + 'INT_LEAST64_MAX', 'GSM48_BCAP_SA_X28_DP_IN', + 'GSM_MNCC_BCAP_FAX_G3', 'MNCC_STOP_DTMF_RSP', '__USE_MISC', + 'INTPTR_MAX', 'MNCC_DISC_IND', '_DEFAULT_SOURCE', + 'MNCC_FACILITY_REQ', 'gsm_mncc_useruser', '__USE_XOPEN2K8', + 'MNCC_RETRIEVE_IND', 'GSM48_BCAP_RA_V110_X30', + 'gsm_mncc_progress', 'gsm48_bcap_transp', 'INTPTR_MIN', + '__USE_ISOC99', 'UINT_LEAST64_MAX', 'GSM48_BCAP_SV_AMR_FW', + 'GSM_MNCC_BCAP_AUDIO', 'int_least64_t', + 'gsm48_bcap_coding', 'UINT_FAST64_MAX', 'uintptr_t', + 'INT_FAST64_MAX', 'gsm48_bcap_tmod', + 'GSM48_BCAP_SV_AMR_OHW', 'MNCC_STOP_DTMF_IND', + '__USE_FORTIFY_LEVEL', 'gsm48_bcap_parity', 'int8_t', + 'PTRDIFF_MAX', 'GSM48_BCAP_SV_HR', 'gsm48_bcap_sig_access', + 'MNCC_F_CCCAP', 'int_fast8_t', 'MNCC_MODIFY_CNF', + 'gsm_mncc_rtp', 'INT_LEAST32_MIN', + 'GSM48_BCAP_ITCAP_FAX_G3', 'int_fast64_t', + 'gsm_mncc_bridge', 'uint_least32_t', 'UINT16_MAX', + 'GSM48_BCAP_MT_V32', '__USE_XOPEN_EXTENDED', + 'GSM48_BCAP_RRQ_FR_ONLY', '__USE_UNIX98', + 'UINT_LEAST8_MAX', 'uint_fast64_t', 'MNCC_DISC_REQ', + '__USE_LARGEFILE', '__USE_EXTERN_INLINES', 'PTRDIFF_MIN', + 'UINT_FAST32_MAX', '_FEATURES_H', + 'GSM_MNCC_BCAP_OTHER_ITC', 'int16_t', 'gsm_mncc_hello', + 'uint64_t', 'INT_FAST32_MAX', 'GSM_MAX_SSVERSION', + 'MNCC_ALERT_REQ', 'GSM48_BCAP_RA_OTHER', + 'MNCC_START_DTMF_RSP', 'SIG_ATOMIC_MIN', + '__USE_POSIX199506', 'MNCC_MODIFY_REQ', 'gsm_mncc_facility', 'GSM_MNCC_BCAP_RESERVED', 'SIG_ATOMIC_MAX', 'intptr_t', 'SIZE_MAX', 'uint_fast32_t', - 'INT_FAST32_MIN', '__USE_ISOC11', 'gsm48_bcap_modem_type', - 'int_fast16_t', 'GSM48_BCAP_UR_300', - 'MNCC_SETUP_COMPL_REQ', 'MNCC_MODIFY_REJ', - 'GSM_TCHF_FRAME', 'INT_FAST16_MAX', 'GSM48_BCAP_MT_V21', - 'GSM48_BCAP_MT_V22', 'GSM48_BCAP_MT_V23', - 'MNCC_START_DTMF_IND', '_XOPEN_SOURCE_EXTENDED', - 'MNCC_SETUP_IND', '__USE_POSIX199309', 'MNCC_NOTIFY_IND', - '__USE_XOPEN2K8XSI', '__WORDSIZE', 'int_fast64_t', + 'GSM48_BCAP_TMOD_CIRCUIT', 'INT_FAST32_MIN', + '__USE_ISOC11', '__USE_LARGEFILE64', + 'gsm48_bcap_modem_type', 'int_fast16_t', + 'GSM48_BCAP_UR_300', 'MNCC_SETUP_COMPL_REQ', + 'MNCC_MODIFY_REJ', '_STDINT_H', 'int_fast32_t', + 'INT_FAST16_MAX', 'GSM48_BCAP_MT_V21', 'GSM48_BCAP_IR_8k', + 'GSM48_BCAP_MT_V23', 'MNCC_START_DTMF_IND', + 'GSM48_BCAP_ITCAP_SPEECH', '_XOPEN_SOURCE_EXTENDED', + 'MNCC_SETUP_IND', 'MNCC_NOTIFY_REQ', 'MNCC_NOTIFY_IND', + '__USE_XOPEN2K8XSI', '__WORDSIZE', 'GSM_TCHF_FRAME', 'MNCC_FRAME_DROP', '_SYS_CDEFS_H', 'INT_FAST8_MIN', 'MNCC_RETRIEVE_CNF', 'MNCC_F_EMERGENCY', - '_LARGEFILE64_SOURCE', 'MNCC_MODIFY_RSP', '_XOPEN_SOURCE', - 'MNCC_SETUP_RSP', 'MNCC_REJ_REQ', 'INT_FAST8_MAX', - 'GSM48_BCAP_MT_NONE', '__USE_ISOC95', 'MNCC_FRAME_RECV', - 'MNCC_ALERT_IND', 'intmax_t', '__GLIBC__', - 'GSM_TCHF_FRAME_EFR', 'GSM48_BCAP_SA_X28_NDP', - '_BITS_WCHAR_H', 'N8gsm_mncc3DOT_2E', 'int_least32_t', - 'GSM48_BCAP_IR_8k', 'MNCC_F_CALLING', 'INT_FAST32_MAX', - 'MNCC_F_SSVERSION', 'MNCC_F_BEARER_CAP', - 'MNCC_CALL_PROC_REQ', 'WINT_MAX', '_BSD_SOURCE', - 'uint32_t', 'gsm48_bcap_ra', 'MNCC_CALL_CONF_IND', - 'GSM_BAD_FRAME'] + '_LARGEFILE64_SOURCE', 'INT_LEAST32_MAX', '_XOPEN_SOURCE', + 'MNCC_F_CONNECTED', 'GSM48_BCAP_ITCAP_UNR_DIG_INF', + 'MNCC_REJ_REQ', 'INT_FAST8_MAX', 'GSM48_BCAP_MT_NONE', + '__USE_ISOC95', 'MNCC_FRAME_RECV', 'MNCC_ALERT_IND', + 'GSM48_BCAP_SV_EFR', 'intmax_t', 'GSM48_BCAP_SV_AMR_OH', + 'gsm48_bcap_itcap', '__GLIBC__', 'GSM_TCHF_FRAME_EFR', + 'GSM48_BCAP_SA_X28_NDP', '_BITS_WCHAR_H', + 'N8gsm_mncc3DOT_2E', 'GSM48_BCAP_SV_AMR_H', + 'int_least32_t', 'GSM48_BCAP_MT_V22', 'MNCC_F_CALLING', + 'MNCC_BRIDGE', 'MNCC_F_SSVERSION', 'MNCC_F_BEARER_CAP', + 'GSM48_BCAP_SV_AMR_F', 'MNCC_CALL_PROC_REQ', 'WINT_MAX', + '_BSD_SOURCE', 'uint32_t', 'gsm48_bcap_ra', + 'GSM48_BCAP_SV_FR', 'GSM_BAD_FRAME', + 'GSM48_BCAP_ITCAP_3k1_AUDIO'] diff --git a/mncc.xml b/mncc.xml index 88e3e04..dd8be28 100644 --- a/mncc.xml +++ b/mncc.xml @@ -1,150 +1,150 @@ - + - - + + - - - + + + - - + + - - + + - - - + + + - + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - - - - - - + + + + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + - - + + - - + + - - + + - - + + - - + + - + @@ -152,178 +152,181 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - - - + + + - - + + - - + + - + - - + + - - - - + + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - - - - + + + + + - + - + - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + + + + - - - + + + - - + + - - - - - - - + + + + + + + @@ -334,20 +337,25 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -356,93 +364,97 @@ - - - + + + - - - - + + + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - - - - - + + + + + + + + + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + @@ -450,558 +462,580 @@ - - - - - - + + + + + + - - - + + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - + + - - - - - - + + + + + + - - + + - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - + + - + - + - - - - + + + + + + + + + + + + - - + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - - - + + + + + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - - + + + + + + - - + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + - - + + - - + + - - - - - + + + + + - - + + - - + + - + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - - - - - + + + + + + - - + + - - + + - - - - + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - + + - - - + + + - + Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 12:51:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 12:51:28 +0000 Subject: Change in mncc-python[master]: contrib/manual_test_server: Make executable, add #! In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17395 ) Change subject: contrib/manual_test_server: Make executable, add #! ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/mncc-python/+/17395/1/contrib/manual_test_server.py File contrib/manual_test_server.py: https://gerrit.osmocom.org/c/mncc-python/+/17395/1/contrib/manual_test_server.py at 1 PS1, Line 1: /usr/bin/python2 Python can be installed to a different location, so '/usr/bin/env python2' is more portable. -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 Gerrit-Change-Number: 17395 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 06 Mar 2020 12:51: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 Fri Mar 6 12:52:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 12:52:12 +0000 Subject: Change in mncc-python[master]: MnccSocketServer: Don't unlink if the socket doesn't exist In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17396 ) Change subject: MnccSocketServer: Don't unlink if the socket doesn't exist ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5164502f2d20d5e82e916918ad8556c2b5f7a3d1 Gerrit-Change-Number: 17396 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 06 Mar 2020 12:52: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 Mar 6 12:55:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 12:55:02 +0000 Subject: Change in mncc-python[master]: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17398 ) Change subject: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ic893922b3e4b272f2899d793df3219b6ef9b749f Gerrit-Change-Number: 17398 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 06 Mar 2020 12:55: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 Mar 6 14:33:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Mar 2020 14:33:21 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: add osmo_rtp_socket_set_dscp() References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17400 ) Change subject: osmo_ortp: add osmo_rtp_socket_set_dscp() ...................................................................... osmo_ortp: add osmo_rtp_socket_set_dscp() Related: OS#4438 Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b --- M include/osmocom/trau/osmo_ortp.h M src/trau/osmo_ortp.c 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/00/17400/1 diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h index 54afcf0..1e0720c 100644 --- a/include/osmocom/trau/osmo_ortp.h +++ b/include/osmocom/trau/osmo_ortp.h @@ -76,6 +76,7 @@ int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, const char *ip, uint16_t port); int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs); int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type); +int osmo_rtp_socket_set_dscp(struct osmo_rtp_socket *rs, int dscp); int osmo_rtp_socket_free(struct osmo_rtp_socket *rs); int osmo_rtp_skipped_frame(struct osmo_rtp_socket *rs, unsigned int duration); int osmo_rtp_send_frame(struct osmo_rtp_socket *rs, const uint8_t *payload, diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 1d652cb..8b81e37 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -578,6 +578,16 @@ return rc; } +/*! \brief Set the DSCP (Differentiated Services Code Point) for outgoing RTP packets + * \param[in] rs OsmoRTP socket + * \param[in] dscp DSCP value + * \returns 0 on success, < 0 otherwise + */ +int osmo_rtp_socket_set_dscp(struct osmo_rtp_socket *rs, int dscp) +{ + return rtp_session_set_dscp(rs->sess, dscp); +} + /*! \brief completely close the RTP socket and release all resources * \param[in] rs OsmoRTP socket to be released * \returns 0 on success -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b Gerrit-Change-Number: 17400 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 Mar 6 14:35:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Mar 2020 14:35:41 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... rsl: make IP DSCP configurable Related: OS#4438 Depends: libosmo-abis I41603db8c1286660ad57ac1c78a8fb393a2b080b Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a --- M include/osmo-bts/gsm_data_shared.h M src/common/rsl.c M src/common/vty.c 3 files changed, 21 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/17401/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index e0d70b0..3316670 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -741,6 +741,7 @@ uint16_t rtp_port_range_start; uint16_t rtp_port_range_end; uint16_t rtp_port_range_next; + int rtp_ip_dscp; struct { uint8_t ciphers; /* flags A5/1==0x1, A5/2==0x2, A5/3==0x4 */ diff --git a/src/common/rsl.c b/src/common/rsl.c index 10fb95e..6140a14 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2009,8 +2009,11 @@ bts->rtp_port_range_next += 2; - if (rc == 0) + if (rc == 0) { + if (osmo_rtp_socket_set_dscp(rs, bts->rtp_ip_dscp)) + LOGP(DRSL, LOGL_ERROR, "failed to set DSCP=%i\n", bts->rtp_ip_dscp); return 0; + } } return -1; diff --git a/src/common/vty.c b/src/common/vty.c index c03f0d4..68b65f4 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -237,6 +237,8 @@ vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, " rtp port-range %u %u%s", bts->rtp_port_range_start, bts->rtp_port_range_end, VTY_NEWLINE); + if (bts->rtp_ip_dscp) + vty_out(vty, " rtp ip-dscp %i%s", bts->rtp_ip_dscp, VTY_NEWLINE); vty_out(vty, " paging queue-size %u%s", paging_get_queue_max(bts->paging_state), VTY_NEWLINE); vty_out(vty, " paging lifetime %u%s", paging_get_lifetime(bts->paging_state), @@ -501,6 +503,19 @@ return CMD_SUCCESS; } +DEFUN(cfg_bts_rtp_ip_dscp, + cfg_bts_rtp_ip_dscp_cmd, + "rtp ip-dscp <0-255>", + RTP_STR "Apply IP_TOS to the audio stream\n" "The DSCP value\n") +{ + struct gsm_bts *bts = vty->index; + int dscp = atoi(argv[0]); + + bts->rtp_ip_dscp = dscp; + + return CMD_SUCCESS; +} + #define PAG_STR "Paging related parameters\n" DEFUN(cfg_bts_paging_queue_size, @@ -1665,6 +1680,7 @@ install_element(BTS_NODE, &cfg_bts_rtp_bind_ip_cmd); install_element(BTS_NODE, &cfg_bts_rtp_jitbuf_cmd); install_element(BTS_NODE, &cfg_bts_rtp_port_range_cmd); + install_element(BTS_NODE, &cfg_bts_rtp_ip_dscp_cmd); install_element(BTS_NODE, &cfg_bts_band_cmd); install_element(BTS_NODE, &cfg_description_cmd); install_element(BTS_NODE, &cfg_no_description_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 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 Mar 6 15:52:55 2020 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Fri, 6 Mar 2020 15:52:55 +0000 Subject: Change in osmo-remsim[master]: fix config defaults for systemd startscripts In-Reply-To: References: Message-ID: roh has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17389 ) Change subject: fix config defaults for systemd startscripts ...................................................................... Patch Set 2: > Patch Set 1: > > the -s/-i makes sense, but why would you change the client_ids? They look fine as-is to me. this is what is configured on the testbed. i was under the assumption that every osmo-remsim-client-st2 process needs its own client-id as well as slot. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 Gerrit-Change-Number: 17389 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-Comment-Date: Fri, 06 Mar 2020 15: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 Mar 6 17:48:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:48:20 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: add osmo_rtp_socket_set_dscp() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17400 ) Change subject: osmo_ortp: add osmo_rtp_socket_set_dscp() ...................................................................... Patch Set 1: Code-Review+1 TODO_RELEASE should be updated; otherwise fine. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b Gerrit-Change-Number: 17400 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17:48: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 Mar 6 17:49:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:49:49 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... Patch Set 1: Code-Review-1 as DSCP==0 looks like a legal value to me, I think we should use "-1" to indicate it is not specified. i.e. initialize the field to -1, have the VTY override it with a nonnegative number and only set it if it's nonnegative? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17:49:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:50:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:50:16 +0000 Subject: Change in osmo-remsim[master]: fix config defaults for systemd startscripts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17389 ) Change subject: fix config defaults for systemd startscripts ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 Gerrit-Change-Number: 17389 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-Comment-Date: Fri, 06 Mar 2020 17:50:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:50:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:50:19 +0000 Subject: Change in osmo-remsim[master]: fix config defaults for systemd startscripts In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17389 ) Change subject: fix config defaults for systemd startscripts ...................................................................... fix config defaults for systemd startscripts Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 --- M contrib/etc_default/osmo-remsim-client 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/etc_default/osmo-remsim-client b/contrib/etc_default/osmo-remsim-client index b1a2187..6c977f1 100644 --- a/contrib/etc_default/osmo-remsim-client +++ b/contrib/etc_default/osmo-remsim-client @@ -1,4 +1,4 @@ # Default settings for osmo-remsim-client This file is sourced by systemd # Options to pass to osmo-remsim-client -GLOBAL_CLIENT_OPTS="-s 10.9.99.10 -V 1d50 -P 4004 -C 1" +GLOBAL_CLIENT_OPTS="-i 10.9.99.10 -V 1d50 -P 4004 -C 1" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f38c951cc515db61a857221346bc4309f2b4740 Gerrit-Change-Number: 17389 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:50:55 +0000 Subject: Change in mncc-python[master]: Fix regen-mncc-py.sh script to work on Debian8 (jessie) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17397 ) Change subject: Fix regen-mncc-py.sh script to work on Debian8 (jessie) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 Gerrit-Change-Number: 17397 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17:50:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:50:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:50:57 +0000 Subject: Change in mncc-python[master]: Fix regen-mncc-py.sh script to work on Debian8 (jessie) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17397 ) Change subject: Fix regen-mncc-py.sh script to work on Debian8 (jessie) ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 Gerrit-Change-Number: 17397 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17: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 Fri Mar 6 17:52:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:52:27 +0000 Subject: Change in mncc-python[master]: contrib/manual_test_server: Make executable, add #! In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/mncc-python/+/17395 ) Change subject: contrib/manual_test_server: Make executable, add #! ...................................................................... contrib/manual_test_server: Make executable, add #! Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 --- M contrib/manual_test_server.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/95/17395/2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 Gerrit-Change-Number: 17395 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:53:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:53:57 +0000 Subject: Change in mncc-python[master]: contrib/manual_test_server: Make executable, add #! In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17395 ) Change subject: contrib/manual_test_server: Make executable, add #! ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 Gerrit-Change-Number: 17395 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 06 Mar 2020 17:53: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 Mar 6 17:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:03 +0000 Subject: Change in mncc-python[master]: Fix regen-mncc-py.sh script to work on Debian8 (jessie) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17397 ) Change subject: Fix regen-mncc-py.sh script to work on Debian8 (jessie) ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 Gerrit-Change-Number: 17397 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17: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 Fri Mar 6 17:54:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:06 +0000 Subject: Change in mncc-python[master]: MnccSocketServer: Don't unlink if the socket doesn't exist In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17396 ) Change subject: MnccSocketServer: Don't unlink if the socket doesn't exist ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5164502f2d20d5e82e916918ad8556c2b5f7a3d1 Gerrit-Change-Number: 17396 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17:54:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:54:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:17 +0000 Subject: Change in mncc-python[master]: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17398 ) Change subject: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ic893922b3e4b272f2899d793df3219b6ef9b749f Gerrit-Change-Number: 17398 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 17:54: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 Mar 6 17:54:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:20 +0000 Subject: Change in mncc-python[master]: contrib/manual_test_server: Make executable, add #! In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17395 ) Change subject: contrib/manual_test_server: Make executable, add #! ...................................................................... contrib/manual_test_server: Make executable, add #! Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 --- M contrib/manual_test_server.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/contrib/manual_test_server.py b/contrib/manual_test_server.py old mode 100644 new mode 100755 index 4b2b5bd..ddf9f41 --- a/contrib/manual_test_server.py +++ b/contrib/manual_test_server.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python2 + import mncc import mncc_sock import ctypes -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I77ce1c5e9223006ec47f71df12b9a970db5276e2 Gerrit-Change-Number: 17395 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:54:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:21 +0000 Subject: Change in mncc-python[master]: MnccSocketServer: Don't unlink if the socket doesn't exist In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17396 ) Change subject: MnccSocketServer: Don't unlink if the socket doesn't exist ...................................................................... MnccSocketServer: Don't unlink if the socket doesn't exist Change-Id: I5164502f2d20d5e82e916918ad8556c2b5f7a3d1 --- M mncc_sock.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Verified fixeria: Looks good to me, approved diff --git a/mncc_sock.py b/mncc_sock.py index 009a476..b2d0705 100644 --- a/mncc_sock.py +++ b/mncc_sock.py @@ -154,7 +154,8 @@ class MnccSocketServer(object): def __init__(self, address = '/tmp/bsc_mncc'): - os.unlink(address) + if os.path.exists(address): + os.unlink(address) self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_SEQPACKET) self.sock.bind(address) self.sock.listen(5) -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5164502f2d20d5e82e916918ad8556c2b5f7a3d1 Gerrit-Change-Number: 17396 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Mar 6 17:54:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:21 +0000 Subject: Change in mncc-python[master]: Fix regen-mncc-py.sh script to work on Debian8 (jessie) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17397 ) Change subject: Fix regen-mncc-py.sh script to work on Debian8 (jessie) ...................................................................... Fix regen-mncc-py.sh script to work on Debian8 (jessie) As python-ctypeslib is long unmaintained, it is not packaged for anything more recent than Debian 8 (jessie). Let's print that at start and check for availability of the reqquired executable programs (part of python-ctypeslib). Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 --- M regen-mncc-py.sh 1 file changed, 14 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/regen-mncc-py.sh b/regen-mncc-py.sh index 30bdd34..f1c85db 100755 --- a/regen-mncc-py.sh +++ b/regen-mncc-py.sh @@ -1,5 +1,16 @@ #/bin/sh -echo on Debian, codegen/cparser.py must call gccxml.real instead of gccxml! +echo This script requires that python-ctypeslib is installed on the system +echo Unfortunately, this package is long unmaintained and only available on Debian8 +echo + +if [ ! -x `which h2xml` ]; then + echo No h2xml executable found - python-ctypeslib not installed? +fi + +if [ ! -x `which xml2py` ]; then + echo No xml2py executable found - python-ctypeslib not installed? +fi + cp ./mncc.h /tmp/mncc.h -h2xml.py ./mncc.h -c -o mncc.xml -xml2py.py mncc.xml -k dest -v -o mncc.py +h2xml ./mncc.h -c -o mncc.xml +xml2py mncc.xml -k dest -v -o mncc.py -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762 Gerrit-Change-Number: 17397 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 17:54:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 17:54:21 +0000 Subject: Change in mncc-python[master]: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17398 ) Change subject: mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 ...................................................................... mncc.h: Update to MNCC 6 as of libosmocore 1.3.0 / osmo-msc 1.6.1 Change-Id: Ic893922b3e4b272f2899d793df3219b6ef9b749f --- M mncc.h 1 file changed, 45 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified fixeria: Looks good to me, but someone else must approve diff --git a/mncc.h b/mncc.h index 3e00db8..64928a8 100644 --- a/mncc.h +++ b/mncc.h @@ -6,6 +6,34 @@ #include +/* GSM 04.08 Bearer Capability: Information Transfer Capability */ +enum gsm48_bcap_itcap { + GSM48_BCAP_ITCAP_SPEECH = 0, + GSM48_BCAP_ITCAP_UNR_DIG_INF = 1, + GSM48_BCAP_ITCAP_3k1_AUDIO = 2, + GSM48_BCAP_ITCAP_FAX_G3 = 3, + GSM48_BCAP_ITCAP_OTHER = 5, + GSM48_BCAP_ITCAP_RESERVED = 7, +}; + +/* GSM 04.08 Bearer Capability: Transfer Mode */ +enum gsm48_bcap_tmod { + GSM48_BCAP_TMOD_CIRCUIT = 0, + GSM48_BCAP_TMOD_PACKET = 1, +}; + +/* GSM 04.08 Bearer Capability: Coding Standard */ +enum gsm48_bcap_coding { + GSM48_BCAP_CODING_GSM_STD = 0, +}; + +/* GSM 04.08 Bearer Capability: Radio Channel Requirements */ +enum gsm48_bcap_rrq { + GSM48_BCAP_RRQ_FR_ONLY = 1, + GSM48_BCAP_RRQ_DUAL_HR = 2, + GSM48_BCAP_RRQ_DUAL_FR = 3, +}; + /* GSM 04.08 Bearer Capability: Rate Adaption */ enum gsm48_bcap_ra { GSM48_BCAP_RA_NONE = 0, @@ -71,6 +99,19 @@ GSM48_BCAP_MT_AUTO_1 = 8, }; +/*! GSM 04.08 Bearer Capability: Speech Version Indication + * (See also 3GPP TS 24.008, Table 10.5.103) */ +enum gsm48_bcap_speech_ver { + GSM48_BCAP_SV_FR = 0, /*!< GSM FR V1 (GSM FR) */ + GSM48_BCAP_SV_HR = 1, /*!< GSM HR V1 (GSM HR) */ + GSM48_BCAP_SV_EFR = 2, /*!< GSM FR V2 (GSM EFR) */ + GSM48_BCAP_SV_AMR_F = 4, /*!< GSM FR V3 (FR AMR) */ + GSM48_BCAP_SV_AMR_H = 5, /*!< GSM HR V3 (HR_AMR) */ + GSM48_BCAP_SV_AMR_OFW = 6, /*!< GSM FR V4 (OFR AMR-WB) */ + GSM48_BCAP_SV_AMR_OHW = 7, /*!< GSM HR V4 (OHR AMR-WB) */ + GSM48_BCAP_SV_AMR_FW = 8, /*!< GSM FR V5 (FR AMR-WB) */ + GSM48_BCAP_SV_AMR_OH = 11, /*!< GSM HR V6 (OHR AMR) */ +}; #define GSM_MAX_FACILITY 128 @@ -265,6 +306,8 @@ unsigned char lchan_type; unsigned char lchan_mode; + + char sdp[1024]; }; struct gsm_data_frame { @@ -273,7 +316,7 @@ unsigned char data[0]; }; -#define MNCC_SOCK_VERSION 5 +#define MNCC_SOCK_VERSION 6 struct gsm_mncc_hello { uint32_t msg_type; uint32_t version; @@ -296,6 +339,7 @@ uint16_t port; uint32_t payload_type; uint32_t payload_msg_type; + char sdp[1024]; }; struct gsm_mncc_bridge { -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ic893922b3e4b272f2899d793df3219b6ef9b749f Gerrit-Change-Number: 17398 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Mar 6 21:31:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:31:57 +0000 Subject: Change in osmo-pcu[master]: Send UL-CTRL Packet to GSMTAP even if we fail to decode. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17393 ) Change subject: Send UL-CTRL Packet to GSMTAP even if we fail to decode. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd Gerrit-Change-Number: 17393 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 21:31:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 21:31:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:31:59 +0000 Subject: Change in osmo-pcu[master]: Send UL-CTRL Packet to GSMTAP even if we fail to decode. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17393 ) Change subject: Send UL-CTRL Packet to GSMTAP even if we fail to decode. ...................................................................... Send UL-CTRL Packet to GSMTAP even if we fail to decode. Move the call to send_gsmtap() before the call to decode_gsm_rlcmac_uplink() as if the latter returns error we return and never get to see the packet on the GSMTAP. Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd --- M src/pdch.cpp 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 7cf75c5..5b87d51 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -705,6 +705,12 @@ ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + + 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); + else + bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); + rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " @@ -713,11 +719,6 @@ } LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); - 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); - else - bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); - bts()->rlc_rcvd_control(); switch (ul_control_block->u.MESSAGE_TYPE) { case MT_PACKET_CONTROL_ACK: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia6af9f40590f28fcae3fef50d9c601d8435412cd Gerrit-Change-Number: 17393 Gerrit-PatchSet: 1 Gerrit-Owner: keith 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 Mar 6 21:32:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:32:08 +0000 Subject: Change in mncc-python[master]: update mncc.py to mncc.h after MNCCv6 update In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17399 ) Change subject: update mncc.py to mncc.h after MNCCv6 update ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I9f112a0f76b9cd00d58dc2d5751b031ee056e194 Gerrit-Change-Number: 17399 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 21:32: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 Mar 6 21:32:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:32:10 +0000 Subject: Change in mncc-python[master]: update mncc.py to mncc.h after MNCCv6 update In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17399 ) Change subject: update mncc.py to mncc.h after MNCCv6 update ...................................................................... update mncc.py to mncc.h after MNCCv6 update Change-Id: I9f112a0f76b9cd00d58dc2d5751b031ee056e194 --- M mncc.py M mncc.xml 2 files changed, 919 insertions(+), 832 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/mncc.py b/mncc.py index 16f977f..9acac29 100644 --- a/mncc.py +++ b/mncc.py @@ -2,49 +2,82 @@ +GSM48_BCAP_TR_TR_PREF = 2 +GSM48_BCAP_PAR_EVEN = 2 +GSM48_BCAP_PAR_ODD = 0 +GSM48_BCAP_SA_I440_I450 = 1 +GSM48_BCAP_PAR_ZERO = 4 +GSM48_BCAP_SA_X28_NDP = 5 +GSM48_BCAP_ITCAP_SPEECH = 0 +GSM48_BCAP_TR_TRANSP = 0 +GSM48_BCAP_TR_RLP = 1 +GSM48_BCAP_MT_V26ter = 5 +GSM48_BCAP_SA_X32 = 6 +GSM48_BCAP_ITCAP_OTHER = 5 +GSM48_BCAP_MT_V32 = 6 +GSM48_BCAP_SV_FR = 0 +GSM48_BCAP_SA_X28_DP_IN = 3 +GSM48_BCAP_MT_V23 = 4 +GSM48_BCAP_MT_AUTO_1 = 8 +GSM48_BCAP_MT_V22bis = 3 +GSM48_BCAP_ITCAP_FAX_G3 = 3 +GSM48_BCAP_UR_4800 = 4 +GSM48_BCAP_IR_16k = 3 +GSM48_BCAP_RA_OTHER = 3 +GSM48_BCAP_RA_NONE = 0 +GSM48_BCAP_SV_AMR_F = 4 +GSM48_BCAP_MT_V21 = 1 +GSM48_BCAP_ITCAP_3k1_AUDIO = 2 +GSM48_BCAP_SA_X28_DP_UN = 4 +GSM48_BCAP_TR_RLP_PREF = 3 +GSM48_BCAP_SV_AMR_FW = 8 +GSM_MNCC_BCAP_AUDIO = 2 +GSM48_BCAP_RA_X31 = 2 +GSM48_BCAP_SV_HR = 1 +GSM48_BCAP_SV_EFR = 2 +GSM48_BCAP_RA_V110_X30 = 1 +GSM48_BCAP_SV_AMR_H = 5 +GSM_MNCC_BCAP_UNR_DIG = 1 +GSM48_BCAP_TMOD_CIRCUIT = 0 +GSM48_BCAP_MT_NONE = 0 +GSM48_BCAP_UR_1200_75 = 7 +GSM48_BCAP_UR_12000 = 6 +GSM48_BCAP_UR_9600 = 5 +GSM48_BCAP_MT_UNDEF = 7 GSM48_BCAP_UR_2400 = 3 GSM48_BCAP_UR_1200 = 2 -GSM48_BCAP_PAR_ONE = 5 -GSM48_BCAP_SA_X21 = 2 -GSM48_BCAP_SA_I440_I450 = 1 -GSM48_BCAP_PAR_ODD = 0 -GSM48_BCAP_RA_NONE = 0 -GSM48_BCAP_SA_X28_NDP = 5 -GSM48_BCAP_UR_1200_75 = 7 -GSM48_BCAP_PAR_NONE = 3 -GSM48_BCAP_SA_X28_DP_UN = 4 -GSM48_BCAP_PAR_ZERO = 4 -GSM48_BCAP_TR_RLP = 1 -GSM_MNCC_BCAP_RESERVED = 7 -GSM48_BCAP_SA_X28_DP_IN = 3 -GSM_MNCC_BCAP_OTHER_ITC = 5 -GSM48_BCAP_TR_TRANSP = 0 -GSM_MNCC_BCAP_FAX_G3 = 3 -GSM48_BCAP_MT_V26ter = 5 -GSM48_BCAP_MT_V22 = 2 -GSM48_BCAP_MT_V21 = 1 -GSM48_BCAP_IR_16k = 3 -GSM48_BCAP_RA_V110_X30 = 1 -GSM_MNCC_BCAP_UNR_DIG = 1 -GSM48_BCAP_MT_V23 = 4 -GSM_MNCC_BCAP_AUDIO = 2 -GSM_MNCC_BCAP_SPEECH = 0 -GSM48_BCAP_MT_V32 = 6 +GSM48_BCAP_ITCAP_RESERVED = 7 GSM48_BCAP_UR_300 = 1 -GSM48_BCAP_TR_RLP_PREF = 3 -GSM48_BCAP_MT_V22bis = 3 -GSM48_BCAP_RA_X31 = 2 -GSM48_BCAP_UR_9600 = 5 -GSM48_BCAP_MT_NONE = 0 -GSM48_BCAP_RA_OTHER = 3 -GSM48_BCAP_PAR_EVEN = 2 -GSM48_BCAP_UR_12000 = 6 -GSM48_BCAP_MT_UNDEF = 7 -GSM48_BCAP_TR_TR_PREF = 2 +GSM_MNCC_BCAP_RESERVED = 7 +GSM_MNCC_BCAP_OTHER_ITC = 5 +GSM_MNCC_BCAP_FAX_G3 = 3 +GSM48_BCAP_RRQ_DUAL_FR = 3 GSM48_BCAP_IR_8k = 2 -GSM48_BCAP_UR_4800 = 4 -GSM48_BCAP_SA_X32 = 6 -GSM48_BCAP_MT_AUTO_1 = 8 +GSM48_BCAP_PAR_NONE = 3 +GSM_MNCC_BCAP_SPEECH = 0 +GSM48_BCAP_MT_V22 = 2 +GSM48_BCAP_SV_AMR_OH = 11 +GSM48_BCAP_SA_X21 = 2 +GSM48_BCAP_RRQ_DUAL_HR = 2 +GSM48_BCAP_PAR_ONE = 5 +GSM48_BCAP_SV_AMR_OHW = 7 +GSM48_BCAP_SV_AMR_OFW = 6 +GSM48_BCAP_ITCAP_UNR_DIG_INF = 1 +GSM48_BCAP_RRQ_FR_ONLY = 1 +GSM48_BCAP_TMOD_PACKET = 1 +GSM48_BCAP_CODING_GSM_STD = 0 + +# values for enumeration 'gsm48_bcap_itcap' +gsm48_bcap_itcap = c_int # enum + +# values for enumeration 'gsm48_bcap_tmod' +gsm48_bcap_tmod = c_int # enum + +# values for enumeration 'gsm48_bcap_coding' +gsm48_bcap_coding = c_int # enum + +# values for enumeration 'gsm48_bcap_rrq' +gsm48_bcap_rrq = c_int # enum # values for enumeration 'gsm48_bcap_ra' gsm48_bcap_ra = c_int # enum @@ -66,6 +99,9 @@ # values for enumeration 'gsm48_bcap_modem_type' gsm48_bcap_modem_type = c_int # enum + +# values for enumeration 'gsm48_bcap_speech_ver' +gsm48_bcap_speech_ver = c_int # enum class gsm_mncc_bearer_cap(Structure): pass class N19gsm_mncc_bearer_cap3DOT_0E(Structure): @@ -177,6 +213,7 @@ ('imsi', c_char * 16), ('lchan_type', c_ubyte), ('lchan_mode', c_ubyte), + ('sdp', c_char * 1024), ] class gsm_data_frame(Structure): pass @@ -207,6 +244,7 @@ ('port', uint16_t), ('payload_type', uint32_t), ('payload_msg_type', uint32_t), + ('sdp', c_char * 1024), ] class gsm_mncc_bridge(Structure): pass @@ -224,7 +262,7 @@ __GNU_LIBRARY__ = 6 # Variable c_int '6' MNCC_REL_CNF = 274 # Variable c_int '274' __USE_XOPEN = 1 # Variable c_int '1' -__USE_LARGEFILE64 = 1 # Variable c_int '1' +MNCC_REL_REQ = 272 # Variable c_int '272' MNCC_RTP_CREATE = 516 # Variable c_int '516' __USE_XOPEN2KXSI = 1 # Variable c_int '1' MNCC_STOP_DTMF_RSP = 281 # Variable c_int '281' @@ -232,6 +270,7 @@ __USE_POSIX2 = 1 # Variable c_int '1' GSM_TCH_FRAME_AMR = 771 # Variable c_int '771' __USE_XOPEN2K8XSI = 1 # Variable c_int '1' +__USE_POSIX199309 = 1 # Variable c_int '1' MNCC_FACILITY_IND = 276 # Variable c_int '276' MNCC_LCHAN_MODIFY = 515 # Variable c_int '515' GSM_MAX_FACILITY = 128 # Variable c_int '128' @@ -244,7 +283,7 @@ MNCC_START_DTMF_REJ = 279 # Variable c_int '279' INT_LEAST16_MAX = 32767 # Variable c_int '32767' MNCC_SETUP_COMPL_IND = 262 # Variable c_int '262' -MNCC_SOCK_VERSION = 5 # Variable c_int '5' +MNCC_SOCK_VERSION = 6 # Variable c_int '6' INTMAX_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' INT32_MAX = 2147483647 # Variable c_int '2147483647' INTMAX_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l' @@ -252,22 +291,22 @@ _POSIX_SOURCE = 1 # Variable c_int '1' _ISOC95_SOURCE = 1 # Variable c_int '1' INT64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' -MNCC_REL_REQ = 272 # Variable c_int '272' _ISOC99_SOURCE = 1 # Variable c_int '1' -UINT_FAST8_MAX = 255 # Variable c_int '255' -MNCC_NOTIFY_IND = 269 # Variable c_int '269' +MNCC_HOLD_IND = 287 # Variable c_int '287' +__USE_POSIX = 1 # Variable c_int '1' MNCC_HOLD_CNF = 288 # Variable c_int '288' INT_LEAST8_MIN = -128 # Variable c_int '-0x00000000000000080' MNCC_REL_IND = 273 # Variable c_int '273' MNCC_F_SIGNAL = 8192 # Variable c_int '8192' INT_FAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' INT_FAST64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l' -INT_LEAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' +MNCC_DISC_REQ = 270 # Variable c_int '270' MNCC_BRIDGE = 512 # Variable c_int '512' MNCC_F_CALLED = 2 # Variable c_int '2' UINT_LEAST32_MAX = 4294967295L # Variable c_uint '4294967295u' -__USE_POSIX199309 = 1 # Variable c_int '1' +__USE_LARGEFILE64 = 1 # Variable c_int '1' MNCC_RTP_CONNECT = 517 # Variable c_int '517' +MNCC_NOTIFY_IND = 269 # Variable c_int '269' __SYSCALL_WORDSIZE = 64 # Variable c_int '64' __GLIBC_MINOR__ = 19 # Variable c_int '19' MNCC_SOCKET_HELLO = 1024 # Variable c_int '1024' @@ -278,10 +317,10 @@ INT64_MAX = 9223372036854775807 # Variable c_long '9223372036854775807l' MNCC_SETUP_REQ = 257 # Variable c_int '257' MNCC_F_USERUSER = 64 # Variable c_int '64' +UINT_FAST8_MAX = 255 # Variable c_int '255' MNCC_REJ_REQ = 295 # Variable c_int '295' __USE_XOPEN2K = 1 # Variable c_int '1' __WORDSIZE_TIME64_COMPAT32 = 1 # Variable c_int '1' -__USE_POSIX = 1 # Variable c_int '1' __USE_XOPEN2K8 = 1 # Variable c_int '1' MNCC_USERINFO_REQ = 293 # Variable c_int '293' MNCC_RTP_FREE = 518 # Variable c_int '518' @@ -324,7 +363,7 @@ MNCC_F_KEYPAD = 4096 # Variable c_int '4096' INT_LEAST32_MAX = 2147483647 # Variable c_int '2147483647' UINT_LEAST8_MAX = 255 # Variable c_int '255' -MNCC_HOLD_IND = 287 # Variable c_int '287' +INT_LEAST64_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' __USE_LARGEFILE = 1 # Variable c_int '1' __USE_EXTERN_INLINES = 1 # Variable c_int '1' PTRDIFF_MIN = -9223372036854775808 # Variable c_long '-0x08000000000000000l' @@ -359,7 +398,6 @@ _LARGEFILE64_SOURCE = 1 # Variable c_int '1' MNCC_MODIFY_RSP = 284 # Variable c_int '284' _XOPEN_SOURCE = 700 # Variable c_int '700' -MNCC_DISC_REQ = 270 # Variable c_int '270' MNCC_SETUP_RSP = 259 # Variable c_int '259' SIZE_MAX = 18446744073709551615L # Variable c_ulong '-1ul' INT_FAST8_MAX = 127 # Variable c_int '127' @@ -406,99 +444,114 @@ uintptr_t = c_ulong intmax_t = c_long uintmax_t = c_ulong -__all__ = ['GSM48_BCAP_SA_X28_DP_UN', 'gsm_mncc_number', +__all__ = ['GSM48_BCAP_SA_X28_DP_UN', 'GSM48_BCAP_ITCAP_OTHER', 'GSM48_BCAP_UR_9600', '_POSIX_C_SOURCE', '_ATFILE_SOURCE', 'MNCC_SETUP_CNF', 'GSM48_BCAP_PAR_ONE', 'GSM_TCHH_FRAME', - 'UINT8_MAX', '__USE_ATFILE', 'INT_LEAST8_MAX', - 'MNCC_F_CAUSE', 'INT32_MIN', 'int_fast32_t', + 'GSM48_BCAP_RRQ_DUAL_FR', '__USE_ATFILE', 'INT_LEAST8_MAX', + 'MNCC_F_CAUSE', 'INT32_MIN', 'MNCC_SETUP_RSP', '__GNU_LIBRARY__', 'MNCC_REL_CNF', 'WINT_MIN', - '__USE_XOPEN', '__USE_LARGEFILE64', 'MNCC_NOTIFY_REQ', + 'MNCC_LCHAN_MODIFY', '__USE_XOPEN', 'MNCC_REL_REQ', 'MNCC_RTP_CREATE', 'MNCC_REJ_IND', '__USE_XOPEN2KXSI', - 'MNCC_STOP_DTMF_RSP', 'UINT_FAST16_MAX', + 'GSM48_BCAP_TMOD_PACKET', 'UINT_FAST16_MAX', 'MNCC_PROGRESS_REQ', 'uint8_t', '__USE_POSIX2', - 'GSM_TCH_FRAME_AMR', 'GSM48_BCAP_MT_UNDEF', - 'INT_LEAST16_MIN', 'MNCC_SETUP_COMPL_IND', - 'uint_least16_t', 'MNCC_FACILITY_IND', 'MNCC_LCHAN_MODIFY', - 'GSM_MAX_FACILITY', 'UINTMAX_MAX', 'GSM48_BCAP_SA_X21', - '_LARGEFILE_SOURCE', 'INT_FAST16_MIN', 'MNCC_F_KEYPAD', - 'GSM_MNCC_BCAP_UNR_DIG', 'UINT64_MAX', - 'gsm_mncc_ssversion', 'GSM48_BCAP_TR_TR_PREF', + 'GSM_TCH_FRAME_AMR', 'GSM48_BCAP_SV_AMR_OFW', + 'GSM48_BCAP_MT_UNDEF', 'INT_LEAST16_MIN', + 'MNCC_SETUP_COMPL_IND', 'uint_least16_t', + 'MNCC_FACILITY_IND', 'GSM48_BCAP_ITCAP_RESERVED', + 'GSM_MAX_FACILITY', 'UINT8_MAX', 'UINTMAX_MAX', + 'GSM48_BCAP_SA_X21', '_LARGEFILE_SOURCE', 'INT_FAST16_MIN', + 'MNCC_F_KEYPAD', 'GSM_MNCC_BCAP_UNR_DIG', 'UINT64_MAX', + 'gsm_mncc_ssversion', 'int32_t', 'GSM48_BCAP_TR_TR_PREF', 'MNCC_START_DTMF_REJ', 'GSM48_BCAP_MT_AUTO_1', 'INT_LEAST16_MAX', 'N19gsm_mncc_bearer_cap3DOT_0E', - 'MNCC_SOCK_VERSION', 'INTMAX_MIN', 'INT_LEAST32_MAX', + 'MNCC_SOCK_VERSION', 'INTMAX_MIN', 'INT32_MAX', 'GSM48_BCAP_IR_16k', 'GSM48_BCAP_UR_12000', - 'GSM48_BCAP_PAR_EVEN', 'int_least16_t', 'INTMAX_MAX', - 'GSM48_BCAP_TR_RLP', 'MNCC_USERINFO_IND', '_POSIX_SOURCE', - '_ISOC95_SOURCE', 'uint_fast16_t', 'INT64_MIN', - '_ISOC99_SOURCE', 'uint_least8_t', 'UINT_FAST8_MAX', - '__USE_POSIX', '__USE_SVID', 'MNCC_HOLD_CNF', - 'INT_LEAST8_MIN', 'MNCC_REL_IND', 'GSM48_BCAP_UR_1200', - 'GSM48_BCAP_MT_V26ter', 'MNCC_F_SIGNAL', - 'GSM48_BCAP_SA_X32', 'INT_FAST64_MIN', 'gsm_mncc_cause', - 'MNCC_DISC_REQ', 'MNCC_BRIDGE', 'int16_t', + 'GSM48_BCAP_PAR_EVEN', 'int_least16_t', + 'gsm48_bcap_speech_ver', 'GSM48_BCAP_TR_RLP', + 'MNCC_USERINFO_IND', '_POSIX_SOURCE', '_ISOC95_SOURCE', + 'uint_fast16_t', 'INT64_MIN', '_ISOC99_SOURCE', + 'uint_least8_t', 'UINT_FAST8_MAX', '__USE_POSIX', + '__USE_SVID', 'MNCC_HOLD_CNF', 'INT_LEAST8_MIN', + 'INTMAX_MAX', 'GSM48_BCAP_UR_1200', 'GSM48_BCAP_MT_V26ter', + 'MNCC_F_SIGNAL', 'GSM48_BCAP_SA_X32', 'INT_FAST64_MIN', + 'MNCC_MODIFY_RSP', 'gsm_mncc_cause', 'INT_LEAST64_MIN', + 'MNCC_HOLD_IND', 'GSM48_BCAP_CODING_GSM_STD', 'GSM48_BCAP_UR_2400', 'uintmax_t', 'MNCC_F_CALLED', - 'UINT_LEAST32_MAX', 'MNCC_REL_REQ', 'MNCC_RTP_CONNECT', - 'GSM48_BCAP_TR_TRANSP', '__SYSCALL_WORDSIZE', - '__GLIBC_MINOR__', 'int_least8_t', 'MNCC_SOCKET_HELLO', - 'UINT32_MAX', 'MNCC_F_PROGRESS', 'MNCC_HOLD_REJ', - 'GSM48_BCAP_SA_I440_I450', 'int64_t', 'GSM_MAX_USERUSER', - 'GSM48_BCAP_PAR_ODD', 'GSM48_BCAP_PAR_NONE', 'INT64_MAX', - 'MNCC_F_FACILITY', 'MNCC_SETUP_REQ', 'GSM48_BCAP_RA_X31', - 'gsm_mncc_bearer_cap', 'MNCC_F_USERUSER', '_SVID_SOURCE', + 'UINT_LEAST32_MAX', '__USE_POSIX199309', + 'MNCC_RTP_CONNECT', 'GSM48_BCAP_TR_TRANSP', + '__SYSCALL_WORDSIZE', '__GLIBC_MINOR__', 'int_least8_t', + 'MNCC_SOCKET_HELLO', 'UINT32_MAX', 'MNCC_F_PROGRESS', + 'MNCC_HOLD_REJ', 'GSM48_BCAP_SA_I440_I450', 'int64_t', + 'GSM_MAX_USERUSER', 'GSM48_BCAP_PAR_ODD', + 'GSM48_BCAP_PAR_NONE', 'INT64_MAX', 'MNCC_F_FACILITY', + 'MNCC_SETUP_REQ', 'MNCC_CALL_CONF_IND', + 'GSM48_BCAP_RA_X31', 'gsm_mncc_bearer_cap', + 'MNCC_F_USERUSER', 'gsm_mncc_number', '_SVID_SOURCE', '__USE_XOPEN2K', '__WORDSIZE_TIME64_COMPAT32', - 'gsm_data_frame', 'MNCC_HOLD_IND', 'GSM48_BCAP_UR_1200_75', + 'gsm_data_frame', 'GSM48_BCAP_UR_1200_75', 'GSM48_BCAP_MT_V22bis', 'GSM_MNCC_BCAP_SPEECH', 'MNCC_USERINFO_REQ', 'MNCC_RTP_FREE', '__USE_GNU', - '__USE_BSD', 'gsm_mncc_cccap', 'GSM48_BCAP_PAR_ZERO', - 'MNCC_F_REDIRECTING', 'UINTPTR_MAX', 'GSM48_BCAP_RA_NONE', + '__USE_BSD', 'MNCC_REL_IND', 'gsm_mncc_cccap', 'INT8_MIN', + 'GSM48_BCAP_PAR_ZERO', 'MNCC_F_REDIRECTING', 'UINTPTR_MAX', + 'GSM48_BCAP_RA_NONE', 'GSM48_BCAP_RRQ_DUAL_HR', 'UINT_LEAST16_MAX', 'gsm48_bcap_user_rate', 'uint16_t', 'MNCC_MODIFY_IND', 'uint_fast8_t', 'gsm48_bcap_interm_rate', 'gsm_mncc', 'INT16_MIN', '_ISOC11_SOURCE', 'MNCC_RETRIEVE_REJ', 'INT8_MAX', - 'GSM48_BCAP_TR_RLP_PREF', 'int32_t', 'uint_least64_t', - 'INT16_MAX', 'GSM48_BCAP_UR_4800', 'INT_LEAST64_MAX', - 'GSM48_BCAP_SA_X28_DP_IN', 'GSM_MNCC_BCAP_FAX_G3', - '__USE_MISC', 'INTPTR_MAX', 'MNCC_DISC_IND', - '_DEFAULT_SOURCE', 'MNCC_FACILITY_REQ', - 'gsm_mncc_useruser', 'INT8_MIN', 'MNCC_RETRIEVE_IND', - 'GSM48_BCAP_RA_V110_X30', 'gsm_mncc_progress', - 'gsm48_bcap_transp', 'INTPTR_MIN', '__USE_ISOC99', - 'UINT_LEAST64_MAX', 'MNCC_F_CONNECTED', - 'GSM_MNCC_BCAP_AUDIO', 'int_least64_t', 'UINT_FAST64_MAX', - 'uintptr_t', 'INT_FAST64_MAX', '_STDINT_H', - 'MNCC_STOP_DTMF_IND', '__USE_FORTIFY_LEVEL', - 'gsm48_bcap_parity', 'int8_t', 'PTRDIFF_MAX', - '__USE_XOPEN2K8', 'gsm48_bcap_sig_access', 'MNCC_F_CCCAP', - 'int_fast8_t', 'MNCC_MODIFY_CNF', 'gsm_mncc_rtp', - 'INT_LEAST32_MIN', 'gsm_mncc_bridge', 'uint_least32_t', - 'UINT16_MAX', 'GSM48_BCAP_MT_V32', '__USE_XOPEN_EXTENDED', - 'INT32_MAX', '__USE_UNIX98', 'UINT_LEAST8_MAX', - 'uint_fast64_t', 'INT_LEAST64_MIN', '__USE_LARGEFILE', - '__USE_EXTERN_INLINES', 'PTRDIFF_MIN', 'UINT_FAST32_MAX', - '_FEATURES_H', 'GSM_MNCC_BCAP_OTHER_ITC', 'gsm_mncc_hello', - 'uint64_t', 'GSM_MAX_SSVERSION', 'MNCC_ALERT_REQ', - 'GSM48_BCAP_RA_OTHER', 'MNCC_START_DTMF_RSP', - 'SIG_ATOMIC_MIN', '__USE_POSIX199506', 'MNCC_MODIFY_REQ', + 'GSM48_BCAP_TR_RLP_PREF', 'gsm48_bcap_rrq', + 'uint_least64_t', 'INT16_MAX', 'GSM48_BCAP_UR_4800', + 'INT_LEAST64_MAX', 'GSM48_BCAP_SA_X28_DP_IN', + 'GSM_MNCC_BCAP_FAX_G3', 'MNCC_STOP_DTMF_RSP', '__USE_MISC', + 'INTPTR_MAX', 'MNCC_DISC_IND', '_DEFAULT_SOURCE', + 'MNCC_FACILITY_REQ', 'gsm_mncc_useruser', '__USE_XOPEN2K8', + 'MNCC_RETRIEVE_IND', 'GSM48_BCAP_RA_V110_X30', + 'gsm_mncc_progress', 'gsm48_bcap_transp', 'INTPTR_MIN', + '__USE_ISOC99', 'UINT_LEAST64_MAX', 'GSM48_BCAP_SV_AMR_FW', + 'GSM_MNCC_BCAP_AUDIO', 'int_least64_t', + 'gsm48_bcap_coding', 'UINT_FAST64_MAX', 'uintptr_t', + 'INT_FAST64_MAX', 'gsm48_bcap_tmod', + 'GSM48_BCAP_SV_AMR_OHW', 'MNCC_STOP_DTMF_IND', + '__USE_FORTIFY_LEVEL', 'gsm48_bcap_parity', 'int8_t', + 'PTRDIFF_MAX', 'GSM48_BCAP_SV_HR', 'gsm48_bcap_sig_access', + 'MNCC_F_CCCAP', 'int_fast8_t', 'MNCC_MODIFY_CNF', + 'gsm_mncc_rtp', 'INT_LEAST32_MIN', + 'GSM48_BCAP_ITCAP_FAX_G3', 'int_fast64_t', + 'gsm_mncc_bridge', 'uint_least32_t', 'UINT16_MAX', + 'GSM48_BCAP_MT_V32', '__USE_XOPEN_EXTENDED', + 'GSM48_BCAP_RRQ_FR_ONLY', '__USE_UNIX98', + 'UINT_LEAST8_MAX', 'uint_fast64_t', 'MNCC_DISC_REQ', + '__USE_LARGEFILE', '__USE_EXTERN_INLINES', 'PTRDIFF_MIN', + 'UINT_FAST32_MAX', '_FEATURES_H', + 'GSM_MNCC_BCAP_OTHER_ITC', 'int16_t', 'gsm_mncc_hello', + 'uint64_t', 'INT_FAST32_MAX', 'GSM_MAX_SSVERSION', + 'MNCC_ALERT_REQ', 'GSM48_BCAP_RA_OTHER', + 'MNCC_START_DTMF_RSP', 'SIG_ATOMIC_MIN', + '__USE_POSIX199506', 'MNCC_MODIFY_REQ', 'gsm_mncc_facility', 'GSM_MNCC_BCAP_RESERVED', 'SIG_ATOMIC_MAX', 'intptr_t', 'SIZE_MAX', 'uint_fast32_t', - 'INT_FAST32_MIN', '__USE_ISOC11', 'gsm48_bcap_modem_type', - 'int_fast16_t', 'GSM48_BCAP_UR_300', - 'MNCC_SETUP_COMPL_REQ', 'MNCC_MODIFY_REJ', - 'GSM_TCHF_FRAME', 'INT_FAST16_MAX', 'GSM48_BCAP_MT_V21', - 'GSM48_BCAP_MT_V22', 'GSM48_BCAP_MT_V23', - 'MNCC_START_DTMF_IND', '_XOPEN_SOURCE_EXTENDED', - 'MNCC_SETUP_IND', '__USE_POSIX199309', 'MNCC_NOTIFY_IND', - '__USE_XOPEN2K8XSI', '__WORDSIZE', 'int_fast64_t', + 'GSM48_BCAP_TMOD_CIRCUIT', 'INT_FAST32_MIN', + '__USE_ISOC11', '__USE_LARGEFILE64', + 'gsm48_bcap_modem_type', 'int_fast16_t', + 'GSM48_BCAP_UR_300', 'MNCC_SETUP_COMPL_REQ', + 'MNCC_MODIFY_REJ', '_STDINT_H', 'int_fast32_t', + 'INT_FAST16_MAX', 'GSM48_BCAP_MT_V21', 'GSM48_BCAP_IR_8k', + 'GSM48_BCAP_MT_V23', 'MNCC_START_DTMF_IND', + 'GSM48_BCAP_ITCAP_SPEECH', '_XOPEN_SOURCE_EXTENDED', + 'MNCC_SETUP_IND', 'MNCC_NOTIFY_REQ', 'MNCC_NOTIFY_IND', + '__USE_XOPEN2K8XSI', '__WORDSIZE', 'GSM_TCHF_FRAME', 'MNCC_FRAME_DROP', '_SYS_CDEFS_H', 'INT_FAST8_MIN', 'MNCC_RETRIEVE_CNF', 'MNCC_F_EMERGENCY', - '_LARGEFILE64_SOURCE', 'MNCC_MODIFY_RSP', '_XOPEN_SOURCE', - 'MNCC_SETUP_RSP', 'MNCC_REJ_REQ', 'INT_FAST8_MAX', - 'GSM48_BCAP_MT_NONE', '__USE_ISOC95', 'MNCC_FRAME_RECV', - 'MNCC_ALERT_IND', 'intmax_t', '__GLIBC__', - 'GSM_TCHF_FRAME_EFR', 'GSM48_BCAP_SA_X28_NDP', - '_BITS_WCHAR_H', 'N8gsm_mncc3DOT_2E', 'int_least32_t', - 'GSM48_BCAP_IR_8k', 'MNCC_F_CALLING', 'INT_FAST32_MAX', - 'MNCC_F_SSVERSION', 'MNCC_F_BEARER_CAP', - 'MNCC_CALL_PROC_REQ', 'WINT_MAX', '_BSD_SOURCE', - 'uint32_t', 'gsm48_bcap_ra', 'MNCC_CALL_CONF_IND', - 'GSM_BAD_FRAME'] + '_LARGEFILE64_SOURCE', 'INT_LEAST32_MAX', '_XOPEN_SOURCE', + 'MNCC_F_CONNECTED', 'GSM48_BCAP_ITCAP_UNR_DIG_INF', + 'MNCC_REJ_REQ', 'INT_FAST8_MAX', 'GSM48_BCAP_MT_NONE', + '__USE_ISOC95', 'MNCC_FRAME_RECV', 'MNCC_ALERT_IND', + 'GSM48_BCAP_SV_EFR', 'intmax_t', 'GSM48_BCAP_SV_AMR_OH', + 'gsm48_bcap_itcap', '__GLIBC__', 'GSM_TCHF_FRAME_EFR', + 'GSM48_BCAP_SA_X28_NDP', '_BITS_WCHAR_H', + 'N8gsm_mncc3DOT_2E', 'GSM48_BCAP_SV_AMR_H', + 'int_least32_t', 'GSM48_BCAP_MT_V22', 'MNCC_F_CALLING', + 'MNCC_BRIDGE', 'MNCC_F_SSVERSION', 'MNCC_F_BEARER_CAP', + 'GSM48_BCAP_SV_AMR_F', 'MNCC_CALL_PROC_REQ', 'WINT_MAX', + '_BSD_SOURCE', 'uint32_t', 'gsm48_bcap_ra', + 'GSM48_BCAP_SV_FR', 'GSM_BAD_FRAME', + 'GSM48_BCAP_ITCAP_3k1_AUDIO'] diff --git a/mncc.xml b/mncc.xml index 88e3e04..dd8be28 100644 --- a/mncc.xml +++ b/mncc.xml @@ -1,150 +1,150 @@ - + - - + + - - - + + + - - + + - - + + - - - + + + - + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - - - - - - + + + + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + - - + + - - + + - - + + - - + + - - + + - + @@ -152,178 +152,181 @@ - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - - - + + + - - + + - - + + - + - - + + - - - - + + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - - - - + + + + + - + - + - - + + - - - + + + - - + + - - - + + + - - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + + + + - - - + + + - - + + - - - - - - - + + + + + + + @@ -334,20 +337,25 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -356,93 +364,97 @@ - - - + + + - - - - + + + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - - - - - + + + + + + + + + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + @@ -450,558 +462,580 @@ - - - - - - + + + + + + - - - + + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - + + - - - - - - + + + + + + - - + + - - + + - - + + - - - - - - + + + + + + - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - + + - + - + - - - - + + + + + + + + + + + + - - + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - + - - - - - + + + + + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - - + + + + + + - - + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - + + + - - + + - - + + - - - - - + + + + + - - + + - - + + - + - - - - + + + + - - + + - - + + - - - - - - + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - - - - - + + + + + + - - + + - - + + - - - - + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - + + - - - + + + - + Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 21:47:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:47:39 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: add a new test vector for Packet Resource Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17390 ) Change subject: tests/rlcmac: add a new test vector for Packet Resource Request ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If5873355d52d7ddb06c2716154a88d34100f6ab5 Gerrit-Change-Number: 17390 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 21: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 Fri Mar 6 21:48:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:48:23 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Mar 2020 21:48: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 Mar 6 21:49:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:49:04 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: add a new test vector for Packet Resource Request In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17390 ) Change subject: tests/rlcmac: add a new test vector for Packet Resource Request ...................................................................... tests/rlcmac: add a new test vector for Packet Resource Request This test vector (from HTC Desire 628) demonstrates a bug in the CSN.1 decoder. For some reason, OsmoPCU fails to decode it: DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_TimeslotLinkQualityMeasurements (idx 164) while Wireshark dissects it without any errors. Change-Id: If5873355d52d7ddb06c2716154a88d34100f6ab5 Reported: https://osmocom.org/issues/4338#note-15 Related: OS#4338 --- M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 11 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index b8506b1..6855340 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -155,6 +155,7 @@ "400e1e61d11d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b", // Packet Uplink Dummy Control Block "400b8020000000000000002480e0032b2b2b2b2b2b2b2b", // Packet Downlink Ack/Nack "4016713dc094270ca2ae57ef909006aa0fc0001f80222b", // Packet Resource Request + "401673c87f24af2632b25964200600000091000b780080", // Packet Resource Request (from keith) "40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b", // EPDAN "400a9020000000000000003010012a0800132b2b2b2b2b", // Packet Downlink Ack/Nack ? }; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 5b89ec8..89e5fb1 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -24,6 +24,8 @@ DCSN1 INFO csnStreamEncoder (type=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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_TimeslotLinkQualityMeasurements (idx 164): End AdditionsR99 | +DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 0 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 3|43| DCSN1 INFO csnStreamDecoder (type=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=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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 2aea569..c44ad6a 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -106,6 +106,14 @@ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector2 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector1 == vector2 : TRUE +vector1 = 401673c87f24af2632b25964200600000091000b780080 +=========Start DECODE=========== ++++++++++Finish DECODE (-5)++++++++++ +=========Start ENCODE============= ++++++++++Finish ENCODE (0)+++++++++++ +vector1 = 40 16 73 c8 7f 24 af 26 32 b2 59 64 20 06 00 00 00 91 00 0b 78 00 80 +vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 00 00 00 91 00 0b 64 03 2b +vector1 == vector2 : FALSE vector1 = 40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If5873355d52d7ddb06c2716154a88d34100f6ab5 Gerrit-Change-Number: 17390 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder 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 Fri Mar 6 21:49:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:49:05 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() This change fixes a bug that was reported by Keith Whyte and confirmed in [1]. The problem is that a user-defined handler in case of CSN_SERIALIZE may parse only a part of the given bit-stream, leaving some bits unhandled. This is expected because the sender (i.e. the MS) may use more recent RLC/MAC message definitions containing new fields at the end. Those bits that were left unhandled by serialize() shall not be interpreted as continuation of the message, they shall be skipped. Note that the encoded vector in the RLCMAC unit test still does not match the original one. That's a known bug explained in [2]. [1] If5873355d52d7ddb06c2716154a88d34100f6ab5 [2] Ic46d6e56768f516203d27d8e7a5adb77afdf32b7 Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Related: OS#4338 --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 11 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index 594e8ec..21d3662 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -571,6 +571,13 @@ remaining_bits_len = arT.remaining_bits_len; bit_offset = arT.bit_offset; } + + /* Skip bits not handled by serialize(), if any */ + if (Status > 0) { + LOGPC(DCSN1, LOGL_NOTICE, "skipped = %d | ", Status); + *readIndex += Status; + } + pDescr++; } else diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 89e5fb1..fdba943 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -24,8 +24,8 @@ DCSN1 INFO csnStreamEncoder (type=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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_TimeslotLinkQualityMeasurements (idx 164): End AdditionsR99 | -DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 0 | RLC_OCTET_COUNT = 4 | : End Channel_Request_Description | Exist_CHANGE_MARK = 1 | CHANGE_MARK = 0 | C_VALUE = 16 | 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 = 1 | I_LEVEL = 6 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 1 | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 0 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | Exist_EGPRS_TimeslotLinkQualityMeasurements = 1 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 3|43| +DCSN1 INFO csnStreamDecoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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 | skipped = 21 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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 = 11|43|43| DCSN1 INFO csnStreamDecoder (type=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=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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index c44ad6a..fdf4ff0 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -108,11 +108,11 @@ vector1 == vector2 : TRUE vector1 = 401673c87f24af2632b25964200600000091000b780080 =========Start DECODE=========== -+++++++++Finish DECODE (-5)++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= +++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 16 73 c8 7f 24 af 26 32 b2 59 64 20 06 00 00 00 91 00 0b 78 00 80 -vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 00 00 00 91 00 0b 64 03 2b +vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 12 20 01 6f 00 10 0b 2b 2b vector1 == vector2 : FALSE vector1 = 40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria 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 Fri Mar 6 21:49:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:49:56 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17392 ) Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 21:49: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 Mar 6 21:51:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:51:24 +0000 Subject: Change in osmocom-bb[master]: remove unused func decl In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17378 ) Change subject: remove unused func decl ...................................................................... remove unused func decl Change-Id: I94c8fff1557c0ce50cc3072573ef7cda8622fb84 --- M src/host/virt_phy/include/virtphy/l1ctl_sap.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/host/virt_phy/include/virtphy/l1ctl_sap.h b/src/host/virt_phy/include/virtphy/l1ctl_sap.h index 94174da..d3562a1 100644 --- a/src/host/virt_phy/include/virtphy/l1ctl_sap.h +++ b/src/host/virt_phy/include/virtphy/l1ctl_sap.h @@ -32,7 +32,6 @@ void prim_pm_exit(struct l1_model_ms *model); void l1ctl_sap_tx_to_l23_inst(struct l1_model_ms *model, struct msgb *msg); void l1ctl_sap_rx_from_l23_inst_cb(struct l1ctl_sock_client *lsc, struct msgb *msg); -void l1ctl_sap_rx_from_l23(struct msgb *msg); void l1ctl_sap_handler(struct l1_model_ms *ms, struct msgb *msg); /* utility methods */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I94c8fff1557c0ce50cc3072573ef7cda8622fb84 Gerrit-Change-Number: 17378 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 Fri Mar 6 21:51:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 21:51:34 +0000 Subject: Change in osmocom-bb[master]: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17379 ) Change subject: mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload ...................................................................... mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload That function encapsulates the RTP payload in an MNCC header, but the l1ctl dl header has to be removed first to get only the RTP payload in the MNCC structure. Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a --- M src/host/layer23/src/mobile/voice.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c index b767833..5106063 100644 --- a/src/host/layer23/src/mobile/voice.c +++ b/src/host/layer23/src/mobile/voice.c @@ -38,6 +38,8 @@ /* 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)); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id6ddc9b1da43e88c5b9468d4397a39953bdf533a Gerrit-Change-Number: 17379 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 Fri Mar 6 22:20:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 22:20:49 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17402 ) Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... initial checkin of 'osmo-rtpsource' program osmo-rtpsource is a small utility program which is generating RTP flows at a constant rate of 20ms, as required in most IP based telphony. The payload currently is hard-coded. Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a --- A rtpsource/Makefile A rtpsource/ctrl_if.c A rtpsource/internal.h A rtpsource/rtpsource.c 4 files changed, 438 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/02/17402/1 diff --git a/rtpsource/Makefile b/rtpsource/Makefile new file mode 100644 index 0000000..9972325 --- /dev/null +++ b/rtpsource/Makefile @@ -0,0 +1,15 @@ +OSMO_CFLAGS:=$(shell pkg-config --cflags libosmocore libosmoctrl libosmotrau) +OSMO_LIBS:=$(shell pkg-config --libs libosmocore libosmoctrl libosmotrau) + +CFLAGS:= -g -Wall $(OSMO_CFLAGS) +LIBS:= $(OSMO_LIBS) + +rtpsource: rtpsource.o ctrl_if.o + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + +%.o: %.c + $(CC) $(CFLAGS) -o $@ -c $^ + +clean: + @rm -f rtpsource *.o diff --git a/rtpsource/ctrl_if.c b/rtpsource/ctrl_if.c new file mode 100644 index 0000000..708fb02 --- /dev/null +++ b/rtpsource/ctrl_if.c @@ -0,0 +1,131 @@ +/* CTRL interface of rtpsource program + * + * (C) 2020 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include + +#include "internal.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; + + if (find_connection_by_cname(g_rss, cname)) { + cmd->reply = "Connection already exists for cname"; + return CTRL_CMD_ERROR; + } + + conn = create_connection(g_rss, cname); + if (!conn) { + cmd->reply = "Error creating RTP connection"; + return CTRL_CMD_ERROR; + } + + /* Respond */ + cmd->reply = talloc_asprintf(cmd, "%s,%s,%d", conn->cname, conn->local_host, conn->local_port); + return CTRL_CMD_REPLY; +} + +CTRL_CMD_DEFINE_WO_NOVRF(rtp_connect, "rtp_connect"); +static int set_rtp_connect(struct ctrl_cmd *cmd, void *data) +{ + struct rtp_connection *conn; + const char *cname, *remote_host, *remote_port, *pt; + char *tmp, *saveptr; + int rc; + + tmp = talloc_strdup(cmd, cmd->value); + OSMO_ASSERT(tmp); + + /* FIXME: parse command */ + cname = strtok_r(tmp, ",", &saveptr); + remote_host = strtok_r(NULL, ",", &saveptr); + remote_port = strtok_r(NULL, ",", &saveptr); + pt = strtok_r(NULL, ",", &saveptr); + + if (!cname || !remote_host || !remote_port || !pt) { + cmd->reply = "Format is cname,remote_host,remote_port,pt"; + talloc_free(tmp); + return CTRL_CMD_ERROR; + } + + conn = find_connection_by_cname(g_rss, cname); + if (!conn) { + cmd->reply = "Error finding RTP connection for connect"; + talloc_free(tmp); + return CTRL_CMD_ERROR; + } + + rc = connect_connection(conn, remote_host, atoi(remote_port), atoi(pt)); + if (rc < 0) { + cmd->reply = "Error binding RTP connection"; + talloc_free(tmp); + return CTRL_CMD_ERROR; + } + + /* Respond */ + talloc_free(tmp); + cmd->reply = talloc_asprintf(cmd, "%s,%s,%d,%d", conn->cname, conn->remote_host, + conn->remote_port, conn->rtp_pt); + return CTRL_CMD_REPLY; +} + +CTRL_CMD_DEFINE_WO_NOVRF(rtp_delete, "rtp_delete"); +static int set_rtp_delete(struct ctrl_cmd *cmd, void *data) +{ + struct rtp_connection *conn; + const char *cname = cmd->value; + + conn = find_connection_by_cname(g_rss, cname); + if (!conn) { + cmd->reply = "Error finding RTP connection for delete"; + return CTRL_CMD_ERROR; + } + cmd->reply = talloc_asprintf(cmd, "%s", conn->cname); + + delete_connection(conn); + + /* Respond */ + return CTRL_CMD_REPLY; +} + + + + + +int rtpsource_ctrl_cmds_install(void) +{ + int rc; + + rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rtp_create); + if (rc) + goto end; + + rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rtp_connect); + if (rc) + goto end; + + rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rtp_delete); + if (rc) + goto end; +end: + return rc; +} diff --git a/rtpsource/internal.h b/rtpsource/internal.h new file mode 100644 index 0000000..788b695 --- /dev/null +++ b/rtpsource/internal.h @@ -0,0 +1,46 @@ +#pragma once +#include +#include +#include +#include + +enum { + DMAIN, +}; + +struct rtp_connection { + struct llist_head list; + + struct osmo_rtp_socket *rtp_sock; + char *cname; + + char *local_host; + uint16_t local_port; + + char *remote_host; + uint16_t remote_port; + + uint8_t rtp_pt; +}; + +struct rtpsource_state { + struct llist_head connections; + struct osmo_fd timer_ofd; + struct ctrl_handle *ctrl; +}; +extern struct rtpsource_state *g_rss; + +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); + +int connect_connection(struct rtp_connection *conn, const char *remote_host, + uint16_t remote_port, uint8_t pt); + +void delete_connection(struct rtp_connection *conn); + + +int rtpsource_ctrl_cmds_install(void); + +#define CLOGP(conn, subsys, lvl, fmt, args ...) \ + LOGP(subsys, lvl, "[%s]: " fmt, (conn)->cname, ## args) diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c new file mode 100644 index 0000000..7eb39ad --- /dev/null +++ b/rtpsource/rtpsource.c @@ -0,0 +1,246 @@ +/* rtpsource program: RTP load generator + * + * This program binds a CTRL interface to 127.0.0.1:11111 and waits for + * an external entity to issue CTRL commands, such as rtp_create, rtp_connect + * and rtp_delete. Those commands are used to create+bind, connect and destroy + * local RTP connections. + * + * Each connection will send a RTP frame with dummy payload every 20ms. + * + * This is useful for load testing scenarios + * + * (C) 2020 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include + +#include "internal.h" + + +/* find a connection based on its CNAME */ +struct rtp_connection *find_connection_by_cname(struct rtpsource_state *rss, const char *cname) +{ + struct rtp_connection *conn; + llist_for_each_entry(conn, &rss->connections, list) { + if (!strcmp(cname, conn->cname)) + return conn; + } + return NULL; +} + +/* 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 *conn; + const char *host; + int port; + int rc; + + OSMO_ASSERT(!find_connection_by_cname(rss, cname)); + + conn = talloc_zero(rss, struct rtp_connection); + OSMO_ASSERT(conn); + conn->cname = talloc_strdup(conn, cname); + + conn->rtp_sock = osmo_rtp_socket_create(conn, OSMO_RTP_F_POLL); + OSMO_ASSERT(conn->rtp_sock); + + rc = osmo_rtp_socket_bind(conn->rtp_sock, "127.23.23.23", -1); + OSMO_ASSERT(rc == 0); + + rc = osmo_rtp_get_bound_addr(conn->rtp_sock, &host, &port); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(port >= 0 && port <= 0xffff); + conn->local_port = port; + conn->local_host = talloc_strdup(conn, host); + + osmo_rtp_set_source_desc(conn->rtp_sock, conn->cname, "rtpsource", NULL, NULL, + NULL, "osmo-rtpsource", NULL); + + 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); + + + return conn; +} + +/* connect a RTP connection to a given remote peer */ +int connect_connection(struct rtp_connection *conn, const char *remote_host, + uint16_t remote_port, uint8_t pt) +{ + int rc; + + conn->remote_host = talloc_strdup(conn, remote_host); + conn->remote_port = remote_port; + conn->rtp_pt = pt; + + rc = osmo_rtp_socket_connect(conn->rtp_sock, conn->remote_host, conn->remote_port); + OSMO_ASSERT(rc == 0); + rc = osmo_rtp_socket_set_pt(conn->rtp_sock, conn->rtp_pt); + OSMO_ASSERT(rc == 0); + + CLOGP(conn, DMAIN, LOGL_INFO, "Connected RTP connection; remote=%s:%u\n", + conn->remote_host, conn->remote_port); + + return 0; +} + +/* delete a RTP connection */ +void delete_connection(struct rtp_connection *conn) +{ + char *prefix = talloc_asprintf(conn, "[%s]: STATS: ", conn->cname); + osmo_rtp_socket_log_stats(conn->rtp_sock, DMAIN, LOGL_INFO, prefix); + talloc_free(prefix); + osmo_rtp_socket_free(conn->rtp_sock); + conn->rtp_sock = NULL; + + CLOGP(conn, DMAIN, LOGL_INFO, "Deleted RTP connection\n"); + + llist_del(&conn->list); + talloc_free(conn); +} + + + + +/* called every 20ms at timerfd expiration */ +static int timerfd_cb(struct osmo_fd *ofd, unsigned int priv_nr) +{ + struct rtpsource_state *rss = ofd->data; + struct rtp_connection *conn; + uint64_t expire_count; + int rc; + + /* 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; + + if (expire_count > 1) + LOGP(DMAIN, LOGL_ERROR, "Timer expire_count=%"PRIu64" != 1\n", expire_count); + + /* 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, ...) */ + const uint8_t payload[33]; + osmo_rtp_send_frame_ext(conn->rtp_sock, payload, sizeof(payload), 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); + } + return 0; +} + +static const struct log_info_cat rtpsource_cat[] = { + [DMAIN] = { + .name = "DMAIN", + .description ="Main Program", + .enabled = 1, + .loglevel = LOGL_INFO, + }, +}; + +const struct log_info rtpsource_log_info = { + .filter_fn = NULL, + .cat = rtpsource_cat, + .num_cat = ARRAY_SIZE(rtpsource_cat), +}; + +struct rtpsource_state *g_rss; +static void *g_tall_ctx; + +static void signal_handler(int signal) +{ + switch (signal) { + case SIGABRT: + /* in case of abort, we want to obtain a talloc report + * and then return to the caller, who will abort the process */ + case SIGUSR1: + talloc_report_full(g_tall_ctx, stderr); + break; + default: + break; + } +} + +int main(int argc, char **argv) +{ + struct timespec interval = { + .tv_sec = 0, + .tv_nsec = 20*1000*1000, /* every 20ms */ + }; + int rc; + + signal(SIGUSR1, &signal_handler); + signal(SIGABRT, &signal_handler); + + talloc_enable_null_tracking(); + g_tall_ctx = talloc_named_const(NULL, 1, "rtpsource"); + OSMO_ASSERT(g_tall_ctx); + + msgb_talloc_ctx_init(g_tall_ctx, 0); + //osmo_signal_talloc_ctx_init(g_tall_ctx); + osmo_init_logging2(g_tall_ctx, &rtpsource_log_info); + osmo_fsm_log_timeouts(true); + osmo_fsm_log_addr(true); + osmo_stats_init(g_tall_ctx); + osmo_rtp_init(g_tall_ctx); + + g_rss = talloc_zero(g_tall_ctx, struct rtpsource_state); + OSMO_ASSERT(g_rss); + INIT_LLIST_HEAD(&g_rss->connections); + + /* Create CTRL interface */ + //g_rss->ctrl = ctrl_interface_setup_dynip(g_rss, ctrl_vty_get_bind_addr(), 11111, NULL); + g_rss->ctrl = ctrl_interface_setup_dynip(g_rss, "127.0.0.1", 11111, NULL); + OSMO_ASSERT(g_rss->ctrl); + rc = rtpsource_ctrl_cmds_install(); + OSMO_ASSERT(rc == 0); + + /* create + register timerfd to expire every 20ms */ + g_rss->timer_ofd.fd = -1; + rc = osmo_timerfd_setup(&g_rss->timer_ofd, timerfd_cb, g_rss); + OSMO_ASSERT(rc == 0); + + rc = osmo_timerfd_schedule(&g_rss->timer_ofd, NULL, &interval); + OSMO_ASSERT(rc == 0); + + while (1) { + osmo_select_main(0); + } +} -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 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 Mar 6 22:20:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 22:20:50 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17403 ) Change subject: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource ...................................................................... mncc_mt_loadgen.py: Program for MT call load testing with rtpsource This program (derived from mncc_test.py) is used to start MT calls via the MNCC interface of OsmoMSC. Every calls RTP is connected to the new 'rtpsource' process, which generates a realistic RTP flow in terms of number of packets (20ms interval) and payload size. Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 --- A ctrl.py A mncc_mt_loadgen.py 2 files changed, 258 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/03/17403/1 diff --git a/ctrl.py b/ctrl.py new file mode 100644 index 0000000..6f51684 --- /dev/null +++ b/ctrl.py @@ -0,0 +1,70 @@ +# Simple class for synchronous/blocking interface with a remote +# Osmocom program via the CTRL interface + +# (C) 2020 by Harald Welte +# +# Licensed under GNU General Public License, Version 2 or at your +# option, any later version. + +from osmopy.osmo_ipa import Ctrl +import socket + +class OsmoCtrlSimple: + '''Simple class for synchronous/blocking interface with a remote + Osmocom program via the CTRL interface''' + remote_host = "127.0.0.1" + remote_port = 0 + sock = None + + def __init__(self, host=None, port=None): + self.remote_host = host + self.remote_port = port + + def connect(self, host=None, port=None): + if host: + self.remote_host = host + if port: + self.remote_port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setblocking(1) + self.sock.connect((self.remote_host, self.remote_port)) + return self.sock + + def disconnect(self): + self.sock.close() + self.sock = None + + def _leftovers(self, fl): + """ + Read outstanding data if any according to flags + """ + try: + data = self.sock.recv(1024, fl) + except socket.error as _: + return False + if len(data) != 0: + tail = data + while True: + (head, tail) = Ctrl().split_combined(tail) + print("Got message:", Ctrl().rem_header(head)) + if len(tail) == 0: + break + return True + return False + + def do_set_get(self, var, value = None): + self._leftovers(socket.MSG_DONTWAIT) + (r, c) = Ctrl().cmd(var, value) + self.sock.send(c) + while True: + ret = self.sock.recv(4096) + # handle multiple messages, ignore TRAPs + ret = Ctrl().skip_traps(ret) + if ret != None: + (i, k, v) = Ctrl().parse(ret) + break; + return (Ctrl().rem_header(ret),) + Ctrl().verify(ret, r, var, value) + + def set_var(self, var, val): + (a, _, _) = self.do_set_get(var, val) + return a diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py new file mode 100755 index 0000000..976ed06 --- /dev/null +++ b/mncc_mt_loadgen.py @@ -0,0 +1,188 @@ +#!/usr/bin/env python2 + +# Python testing tool for establishing mobile-terminated calls using +# the OsmoMSC MNCC interface. It wants to communicate via CTRL with a +# 'rtpsoucre' program which will take care of generating RtP flows +# for the MT calls that are established. +# +# (C) 2015, 2020 by Harald Welte +# +# Licensed under GNU General Public License, Version 2 or at your +# option, any later version. + +RTPSOURCE_CTRL_IP = "127.0.0.1" +RTPSOURCE_CTRL_PORT = 11111 + + +from gsm_call_fsm import GsmCallFsm, GSM48 +from mncc_sock import MnccSocket +from thread import start_new_thread +from ctrl import OsmoCtrlSimple +import pykka +import logging as log +import signal, sys, time +import readline, code +import socket +import struct +import mncc +from mncc_sock import mncc_rtp_msg + +def int2ipstr(addr): + '''Convert from an integer to a strinf-formatted IPv4 address''' + return socket.inet_ntoa(struct.pack("!I", addr)) + +def ipstr2int(addr): + '''Convert from a string-formatted IPv4 address to integer''' + return struct.unpack("!I", socket.inet_aton(addr))[0] + + +class MnccActor(pykka.ThreadingActor): + '''MnccActor provides an interface for GsmCallFsm to send MNCC messages''' + def __init__(self, mncc_sock): + super(MnccActor, self).__init__() + self.mncc_sock = mncc_sock + + def on_receive(self, message): + if message['type'] == 'send': + msg = message['msg'] + log.debug('MnccActor TxMNCC %s' % msg) + mncc_sock.send(msg) + else: + raise Exception('mncc', 'MnccActor Received unhandled %s' % message) + +def mncc_rx_thread(mncc_sock): + '''MNCC receive thread, broadcasting received MNCC packets to GsmCallFsm''' + while 1: + msg = mncc_sock.recv() + if msg == None: + raise Exception('mncc', 'MnccSocket disconnected') + + if msg.is_frame(): + log.warning("Dropping traffic frame: %s" % msg) + continue + + log.debug("MnccActor RxMNCC %s, broadcasting to Call FSMs" % msg) + # we simply broadcast to all calls + pykka.ActorRegistry.broadcast({'type': 'mncc', 'msg': msg}, GsmCallFsm) + + +class RtpSourceCtrlActor(pykka.ThreadingActor): + '''Actor for talking with the rtpsource program via an osmocom CTRL interface''' + def __init__(self, ctrl_host, ctrl_port=11111): + super(RtpSourceCtrlActor, self).__init__() + self.ctrl = OsmoCtrlSimple(ctrl_host, ctrl_port) + self.ctrl.connect() + + def _set_var(self, var, val): + (res, var, val) = self.ctrl.do_set_get(var, val) + log.debug('RtpSourceCtrlActor result=%s var=%s val=%s' % (res, var, val)) + return (res, var, val) + + def on_receive(self, message): + if message['type'] == 'rtp_create': + (res, var, val) = self._set_var('rtp_create', message['cname']) + 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': + val = '%s,%s,%u,%u' % (message['cname'], message['remote_host'], + message['remote_port'], message['payload_type']) + (res, var, val) = self._set_var('rtp_connect', val) + return res + elif message['type'] == 'rtp_delete': + (res, var, val) = self._set_var('rtp_delete', message['cname']) + return res + else: + raise Exception('ctrl', 'RtpSourceCtrlActor Received unhandled %s' % message) + + +class MTCallRtpsource(pykka.ThreadingActor): + '''Actor to start a network-initiated MT (mobile terminated) call to a given MSISDN, + connecting the RTP flow to an extenal rtpsource program''' + def __init__(self, mncc_act, ctrl_act, codecs_permitted = GSM48.AllCodecs): + super(MTCallRtpsource, self).__init__() + self.mncc_act = mncc_act + self.ctrl_act = ctrl_act + self.codecs_permitted = codecs_permitted + self.call = GsmCallFsm.start(self.mncc_act, self.actor_ref, True, self.codecs_permitted) + self.callref = self.call.ask({'type':'get_callref'}) + self.state = 'NULL' + self.rtp_msc = None + + def start_call(self, msisdn_called, msisdn_calling): + '''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 + r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref}) + self.ext_rtp_host = r['remote_host'] + self.ext_rtp_port = r['remote_port'] + # start the MNCC call FSM + self.call.tell({'type':'start_mt_call', + 'calling':self.msisdn_calling, 'called':self.msisdn_called}) + + def on_stop(self): + # Attempt to do a graceful shutdown by deleting the RTP connection from rtpsource + self.ctrl_act.ask({'type':'rtp_delete', 'cname':self.callref}) + self.call.stop() + + def on_failure(self, exception_type, exception_value, traceback): + # on_stop() is not called in case of failure; fix that + self.on_stop() + + def on_receive(self, message): + if message['type'] == 'rtp_create_ind': + # MSC+MGW informs us of the PLMN side IP/port + mncc_rtp_ind = message['rtp'] + # tell external rtpsourc to connect to this address + r = self.ctrl_act.ask({'type':'rtp_connect', 'cname':self.callref, + 'remote_host': int2ipstr(mncc_rtp_ind.ip), + 'remote_port': mncc_rtp_ind.port, + 'payload_type':33}) + # tell MSC to connect to ip/port @ rtpsource + mncc_rtp_conn = mncc_rtp_msg(msg_type=mncc.MNCC_RTP_CONNECT, callref=self.callref, + ip=ipstr2int(self.ext_rtp_host), port=self.ext_rtp_port) + self.mncc_act.tell({'type': 'send', 'msg': mncc_rtp_conn}) + elif message['type'] == 'call_state_change': + if message['new_state'] == 'NULL': + # Call FSM has reached the NULL state again (call terminated) + # on_stop() will clean up the RTP connection at rtpsource + self.stop() + + +# capture SIGINT (Ctrl+C) and stop all actors +def sigint_handler(signum, frame): + pykka.ActorRegistry.stop_all() + sys.exit(0) + +log.basicConfig(level = log.DEBUG, + format = "%(levelname)s %(filename)s:%(lineno)d %(message)s") + +signal.signal(signal.SIGINT, sigint_handler) + +# start the MnccSocket and associated pykka actor + rx thread +mncc_sock = MnccSocket() +mncc_act = MnccActor.start(mncc_sock) +start_new_thread(mncc_rx_thread, (mncc_sock,)) + +# connect via CTRL to rtpsource +rtpctrl_act = RtpSourceCtrlActor.start(RTPSOURCE_CTRL_IP, RTPSOURCE_CTRL_PORT) + +# convenience wrapper +def mt_call(msisdn_called, msisdn_calling = '123456789', codecs = GSM48.AllCodecs): + call_conn = MTCallRtpsource.start(mncc_act, rtpctrl_act, codecs).proxy() + call_conn.start_call(msisdn_called, msisdn_calling) + return call_conn + +# start one call automatically +mt_call('90001') + +# start a shell to enable the user to add more calls as needed +vars = globals().copy() +vars.update(locals()) +shell = code.InteractiveConsole(vars) +try: + shell.interact() +except SystemExit: + pass +# clan up after user leaves interactive shell +sigint_handler(signal.SIGINT, None) -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 Gerrit-Change-Number: 17403 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 Mar 6 22:20:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 22:20:50 +0000 Subject: Change in mncc-python[master]: mncc_{test, mt_loedgen}.py: don't start calls automatically References: Message-ID: Hello osmith, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/mncc-python/+/17404 to review the following change. Change subject: mncc_{test,mt_loedgen}.py: don't start calls automatically ...................................................................... mncc_{test,mt_loedgen}.py: don't start calls automatically Change-Id: I3173b94f5a5b8baea4a111193a7894b673272a24 --- M mncc_mt_loadgen.py M mncc_test.py 2 files changed, 12 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/04/17404/1 diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index 976ed06..69a5ec2 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -173,8 +173,12 @@ call_conn.start_call(msisdn_called, msisdn_calling) return call_conn -# start one call automatically -mt_call('90001') +log.info("") +log.info("") +log.info("Start calls by typing:") +log.info(" mt_call('90001')") +log.info("") +log.info("") # start a shell to enable the user to add more calls as needed vars = globals().copy() diff --git a/mncc_test.py b/mncc_test.py index 508c5be..90610e4 100755 --- a/mncc_test.py +++ b/mncc_test.py @@ -65,15 +65,13 @@ return call_conn # start a first bogus call -connect_call("7839", "3802") -connect_call("3809", "3814") -connect_call("3805", "3806") -connect_call("3812", "3815") -connect_call("3807", "3811") -connect_call("3804", "3808") -connect_call("3803", "3813") -time.sleep(1) +log.info("") +log.info("") +log.info("Start calls by typing:") +log.info(' connect_call("90001", "90002")') +log.info("") +log.info("") # start a shell to enable the user to add more calls as needed vars = globals().copy() -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I3173b94f5a5b8baea4a111193a7894b673272a24 Gerrit-Change-Number: 17404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 22:20:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 22:20:50 +0000 Subject: Change in mncc-python[master]: mncc_{test, mg_loadgen}.py: Add a manual call-release function References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17405 ) Change subject: mncc_{test,mg_loadgen}.py: Add a manual call-release function ...................................................................... mncc_{test,mg_loadgen}.py: Add a manual call-release function Change-Id: I30265b765f03bd0485bdaa7d6be6d95ad678b0ee --- M gsm_call_fsm.py M mncc_mt_loadgen.py M mncc_test.py 3 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/05/17405/1 diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py index a9ad8c0..c8bcf39 100644 --- a/gsm_call_fsm.py +++ b/gsm_call_fsm.py @@ -90,6 +90,10 @@ bearer_cap = mncc_bearer_cap(self.codecs_permitted)) self.mncc_ref.tell({'type': 'send', 'msg': msg}) + def _onmncc_disc_req(self, e): + msg = mncc_msg(msg_type = mncc.MNCC_DISC_REQ, callref = self.callref) + self.mncc_ref.tell({'type': 'send', 'msg': msg}) + def find_matching_codec(self, ms_codecs): # find common denominator of permitted codecs and MS codecs for i in self.codecs_permitted: @@ -182,6 +186,7 @@ ('onmncc_call_conf_ind', self._onmncc_call_conf_ind), ('onmncc_setup_cnf', self._onmncc_setup_cnf), ('onmncc_disc_ind', self._onmncc_disc_ind), + ('onmncc_disc_req', self._onmncc_disc_req), ('onenterNULL', self._onenter_NULL), ], ) @@ -302,6 +307,8 @@ self.connect_rtp(message['rtp']) elif message['type'] == 'get_callref': return self.callref + elif message['type'] == 'release': + self.fsm.mncc_disc_req(None) else: raise Exception('mncc', '%s: Unknown message %s' % (self, message)) @@ -366,3 +373,6 @@ self.rtp_created(message['called'], message['rtp']) #else: # raise Exception('mncc', 'GsmCallConnector Rx Unknown message %s' % message) + + def release(self): + self.call_a.tell({'type':'release'}) diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index 69a5ec2..bd69998 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -120,6 +120,9 @@ self.call.tell({'type':'start_mt_call', 'calling':self.msisdn_calling, 'called':self.msisdn_called}) + def release(self): + self.call.tell({'type':'release'}) + def on_stop(self): # Attempt to do a graceful shutdown by deleting the RTP connection from rtpsource self.ctrl_act.ask({'type':'rtp_delete', 'cname':self.callref}) diff --git a/mncc_test.py b/mncc_test.py index 90610e4..f92c94b 100755 --- a/mncc_test.py +++ b/mncc_test.py @@ -69,7 +69,8 @@ log.info("") log.info("") log.info("Start calls by typing:") -log.info(' connect_call("90001", "90002")') +log.info(' c = connect_call("90001", "90002")') +log.info(' c.release()') log.info("") log.info("") -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I30265b765f03bd0485bdaa7d6be6d95ad678b0ee Gerrit-Change-Number: 17405 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 Mar 6 22:20:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Mar 2020 22:20:51 +0000 Subject: Change in mncc-python[master]: mncc_test: add calls() to initiate series of calls References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17406 ) Change subject: mncc_test: add calls() to initiate series of calls ...................................................................... mncc_test: add calls() to initiate series of calls Change-Id: I0cec9e5dc52e62247da8a3bec47917f929bde5be --- M mncc_mt_loadgen.py M mncc_test.py 2 files changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/06/17406/1 diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index bd69998..3386644 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -176,6 +176,14 @@ call_conn.start_call(msisdn_called, msisdn_calling) return call_conn +def calls(nr, ramp=1.0): + for i in range(nr): + a = 90001 + i + a = str(a) + print("%d: mt_call(%r)" % (i, a)) + mt_call(a) + time.sleep(ramp) + log.info("") log.info("") log.info("Start calls by typing:") diff --git a/mncc_test.py b/mncc_test.py index f92c94b..1fe0fca 100755 --- a/mncc_test.py +++ b/mncc_test.py @@ -16,6 +16,7 @@ import logging as log import signal, sys, time import readline, code +import time # MnccActor provides an interface for GsmCallFsm to send MNCC messages class MnccActor(pykka.ThreadingActor): @@ -64,6 +65,20 @@ call_conn.start_call_ab(msisdn_a, msisdn_b) return call_conn +def calls(nr, ramp=1.0): + if (nr & 1): + print('Only even numbers allowed, because each invocation has two call legs') + return + nr /= 2 + for i in range(nr): + a = 90001 + 2*i + b = a + 1 + a = str(a) + b = str(b) + print('%d: connect_call(%r, %r)' % (i, a, b)) + connect_call(a, b) + time.sleep(ramp) + # start a first bogus call log.info("") @@ -71,6 +86,8 @@ log.info("Start calls by typing:") log.info(' c = connect_call("90001", "90002")') log.info(' c.release()') +log.info('or') +log.info(' calls(200)') log.info("") log.info("") -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0cec9e5dc52e62247da8a3bec47917f929bde5be Gerrit-Change-Number: 17406 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 Mar 6 22:52:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Mar 2020 22:52:18 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of MS RA Capability IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of MS RA Capability IE ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 22: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 Fri Mar 6 22:57:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Mar 2020 22:57:45 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17392 ) Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... Patch Set 4: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17392/4/src/gsm_rlcmac.cpp File src/gsm_rlcmac.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17392/4/src/gsm_rlcmac.cpp at 5331 PS4, Line 5331: /* Returns 0 on success, negative on error. */ This description doesn't match reality after your change. https://gerrit.osmocom.org/c/osmo-pcu/+/17392/4/tests/rlcmac/RLCMACTest.cpp File tests/rlcmac/RLCMACTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17392/4/tests/rlcmac/RLCMACTest.cpp at 287 PS4, Line 287: log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,2:"); Please do this in a separate commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Mar 2020 22:57: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 Mar 6 23:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Mar 2020 23:04:09 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17394/3/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17394/3/src/csn1.c at 1465 PS3, Line 1465: This patch doesn't look good to me. This section you are removing looks like the base case for the recursion, and you are changing the behavior here, since it will go through all the code at least once (due to loop being a do-while). That doesn't make sense since in here at the start we know we hit an error (negative number of bites) or we simply reached the end, so we are done. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Mar 2020 23:04: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 Mar 6 23:08:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Mar 2020 23:08:43 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of MS RA Capability IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of MS RA Capability IE ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Mar 2020 23:08: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 Mar 6 23:23:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Mar 2020 23:23:35 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Mar 2020 23:23:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 6 23:24:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Mar 2020 23:24:12 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... Patch Set 2: This probably deserves a patch in wireshark? (or perhaps it's not needed there due to how they handle read indexes differently?) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Mar 2020 23:24:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 08:16:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 08:16:37 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17391 ) Change subject: csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() ...................................................................... Patch Set 2: > This probably deserves a patch in wireshark? > (or perhaps it's not needed there due to how they handle read indexes differently?) Not needed. Wireshark uses its own tvb_* API, so it's not affected. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id4cc042fed68fc54aca0355dcb986cab3f6b49ea Gerrit-Change-Number: 17391 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Mar 2020 08:16: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 Sat Mar 7 08:31:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 08:31:41 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix csnStreamEncoder(): do not suppress 'no space' errors ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17394/3/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17394/3/src/csn1.c at 1465 PS3, Line 1465: > ... at the start we know we hit an error (negative number of bites) or we simply reached the end, so we are done. The problem is that we don't know in advance (i.e. without entering the loop) whether it's an error or not. As you have probably seen, some CSN.1 definitions have names like 'M_*_OR_NULL' which means that they're basically optional and can be omitted. The encoder would simply return 0 if pDescr points to an optional field or a ProcessError(...) otherwise. > This patch doesn't look good to me. I am now thinking about removing this check from csnStreamDecoder() too. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Mar 2020 08:31: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 Sat Mar 7 09:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 09:57:38 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors 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-pcu/+/17392 to look at the new patch set (#5). Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... rlcmac: fix encode_gsm_*(): do not suppress encoding errors Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 14 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/17392/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 Gerrit-PatchSet: 5 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 Sat Mar 7 09:57:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 09:57:39 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: also enable logging for DRLCMACDATA category References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17407 ) Change subject: tests/rlcmac: also enable logging for DRLCMACDATA category ...................................................................... tests/rlcmac: also enable logging for DRLCMACDATA category Change-Id: Idf0808461f7e7a1bce58d11a54238c215126451a --- M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/17407/1 diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index a1dde77..63498ca 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -284,7 +284,7 @@ { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); - log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DCSN1,2:"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,2:"); log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); log_set_print_category_hex(osmo_stderr_target, 0); diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index d7a438b..a0b0ca9 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -32,5 +32,7 @@ DCSN1 INFO csnStreamEncoder (type=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=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 = 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 } | +DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec 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 = 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 = 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 } | +DRLCMACDATA NOTICE Got 107 remaining bits unhandled by encoder at the end of bitvec 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 | -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf0808461f7e7a1bce58d11a54238c215126451a Gerrit-Change-Number: 17407 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 Mar 7 09:57:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 09:57:39 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17408 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... csn1: fix: do not return 0 if no bits left in the buffer Both csnStreamDecoder() and csnStreamEncoder() shall not return 0 prematurely if no more bits left in the input / output bit-vector. Returning CSN_ERROR_NEED_MORE_BITS_TO_UNPACK might make more sense, however we don't know in advance (i.e. without entering the loop) whether it's an error or not. Some CSN.1 definitions have names like 'M_*_OR_NULL', what basically means that they're optional and can be ignored or omitted. Most of the case statements do check whether the number of remaining bits is enough to unpack / pack a value, so let's leave it up to the the current CSN_* handler (pointed by pDescr). Change-Id: I16036c7f34b09cb93ca6ee460994ca4f8b077906 --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 3 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/17408/1 diff --git a/src/csn1.c b/src/csn1.c index 21d3662..2305027 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -153,11 +153,6 @@ guint8 Tag = STANDARD_TAG; unsigned ib; - if (remaining_bits_len <= 0) - { - return 0; - } - do { switch (pDescr->type) @@ -1463,11 +1458,6 @@ guint8 Tag = STANDARD_TAG; - if (remaining_bits_len <= 0) - { - return 0; - } - do { switch (pDescr->type) diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 52188e1..13418ee 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -23,7 +23,8 @@ DCSN1 INFO csnStreamDecoder (type=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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 : | Padding = +DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 27ce879..89e07ec 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -102,7 +102,7 @@ =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE (0)+++++++++++ ++++++++++Finish ENCODE (-5)+++++++++++ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector2 = 40 16 71 3d c0 94 27 48 a2 ae 57 ef 90 90 06 aa 00 00 1f 80 00 3f 00 vector1 == vector2 : FALSE -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I16036c7f34b09cb93ca6ee460994ca4f8b077906 Gerrit-Change-Number: 17408 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 Mar 7 10:02:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 10:02:42 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer 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/+/17394 to look at the new patch set (#4). Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... csn1: fix: do not return 0 if no bits left in the buffer Both csnStreamDecoder() and csnStreamEncoder() shall not return 0 prematurely if no more bits left in the input / output bit-vector. Returning CSN_ERROR_NEED_MORE_BITS_TO_UNPACK might make more sense, however we don't know in advance (i.e. without entering the loop) whether it's an error or not. Some CSN.1 definitions have names like 'M_*_OR_NULL', what basically means that they're optional and can be ignored or omitted. Most of the case statements do check whether the number of remaining bits is enough to unpack / pack a value, so let's leave it up to the the current CSN_* handler (pointed by pDescr). Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 3 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/17394/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 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 Sat Mar 7 10:03:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 10:03:54 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17408 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I16036c7f34b09cb93ca6ee460994ca4f8b077906 Gerrit-Change-Number: 17408 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 Mar 7 10:04:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 10:04:19 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of MS RA Capability IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of MS RA Capability IE ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 10: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 Sat Mar 7 10:28:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 10:28:46 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17402 ) Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/mncc-python/+/17402/1/rtpsource/ctrl_if.c File rtpsource/ctrl_if.c: https://gerrit.osmocom.org/c/mncc-python/+/17402/1/rtpsource/ctrl_if.c at 43 PS1, Line 43: talloc_asprintf Will this chunk of memory be free()d at all? Looks like a memleak to me, because in two previous cmd->reply assignments you assign pointers to the stack (const char *). Or will it be free()d as soon as the *cmd is free()d? -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 10:28: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 Sat Mar 7 14:06:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 14:06:52 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: add osmo_rtp_socket_set_dscp() In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by osmith. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17400 ) Change subject: osmo_ortp: add osmo_rtp_socket_set_dscp() ...................................................................... osmo_ortp: add osmo_rtp_socket_set_dscp() Related: OS#4438 Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b --- M include/osmocom/trau/osmo_ortp.h M src/trau/osmo_ortp.c 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/00/17400/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b Gerrit-Change-Number: 17400 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 Sat Mar 7 14:07:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 14:07:34 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: add osmo_rtp_socket_set_dscp() In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by osmith. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17400 ) Change subject: osmo_ortp: add osmo_rtp_socket_set_dscp() ...................................................................... osmo_ortp: add osmo_rtp_socket_set_dscp() Related: OS#4438 Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b --- M TODO-RELEASE M include/osmocom/trau/osmo_ortp.h M src/trau/osmo_ortp.c 3 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/00/17400/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b Gerrit-Change-Number: 17400 Gerrit-PatchSet: 3 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 Sat Mar 7 15:01:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:01:22 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program In-Reply-To: References: Message-ID: Hello fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/mncc-python/+/17402 to look at the new patch set (#2). Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... initial checkin of 'osmo-rtpsource' program osmo-rtpsource is a small utility program which is generating RTP flows at a constant rate of 20ms, as required in most IP based telphony. The payload currently is hard-coded. Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a --- A rtpsource/Makefile A rtpsource/ctrl_if.c A rtpsource/internal.h A rtpsource/rtpsource.c 4 files changed, 440 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/02/17402/2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 15:01:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:01:22 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/mncc-python/+/17403 ) Change subject: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource ...................................................................... mncc_mt_loadgen.py: Program for MT call load testing with rtpsource This program (derived from mncc_test.py) is used to start MT calls via the MNCC interface of OsmoMSC. Every calls RTP is connected to the new 'rtpsource' process, which generates a realistic RTP flow in terms of number of packets (20ms interval) and payload size. Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 --- A ctrl.py A mncc_mt_loadgen.py 2 files changed, 258 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/03/17403/2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 Gerrit-Change-Number: 17403 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 15:01:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:01:23 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17409 ) Change subject: mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True ...................................................................... mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True rtp_bridge=True triggers the automatic transmission of a MNCC_RTP_CREATE when that call goes into ACTIVE state. We don't want this in the case of mncc_mt_loadgen, as we perform this at a much sooner point in time. Change-Id: I8816ccb8c7dce2958496c81a95f1a91bc33e772b --- M gsm_call_fsm.py M mncc_mt_loadgen.py 2 files changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/09/17409/1 diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py index c8bcf39..5f846e1 100644 --- a/gsm_call_fsm.py +++ b/gsm_call_fsm.py @@ -228,8 +228,6 @@ # RTP def _do_mncc_rtp_create_ind(self, mncc_msg): - if self.rtp_bridge == False: - raise Exception('GsmCallFsm', 'rtp_create_ind but not in RTP bridge mode') self.rtp = mncc_msg # notify the call controller about this self.ctrl_ref.tell({'type':'rtp_create_ind', 'called':self.called, 'rtp':self.rtp}) @@ -336,8 +334,6 @@ def rtp_created(self, msisdn, rtp): log.info('CallConnector:rtp_created(%s) %s' % (msisdn, rtp)) - if self.rtp_bridge == False: - raise Exception('GsmCallConnector', 'rtp_created but not in RTP bridge mode') if msisdn == self.msisdn_a: # A->B leg self.rtp_a = rtp elif msisdn == self.msisdn_b: # B->A leg diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index a4c0c85..021d619 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -103,7 +103,7 @@ self.mncc_act = mncc_act self.ctrl_act = ctrl_act self.codecs_permitted = codecs_permitted - self.call = GsmCallFsm.start(self.mncc_act, self.actor_ref, True, self.codecs_permitted) + self.call = GsmCallFsm.start(self.mncc_act, self.actor_ref, False, self.codecs_permitted) self.callref = self.call.ask({'type':'get_callref'}) self.state = 'NULL' self.rtp_msc = None -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I8816ccb8c7dce2958496c81a95f1a91bc33e772b Gerrit-Change-Number: 17409 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 Mar 7 15:01:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:01:23 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in state ACTIVE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in state ACTIVE ...................................................................... GsmCallFsm: permit MNCC_REL_CNF in state ACTIVE Closes: OS#4832 Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 --- M gsm_call_fsm.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/10/17410/1 diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py index 5f846e1..5360c74 100644 --- a/gsm_call_fsm.py +++ b/gsm_call_fsm.py @@ -180,7 +180,7 @@ ('mncc_rel_ind', '*', 'NULL'), ('mncc_disc_ind', 'DISCONNECT_INDICATION', 'RELEASE_REQUEST'), - ('mncc_rel_cnf', 'RELEASE_REQUEST', 'NULL'), + ('mncc_rel_cnf', ['RELEASE_REQUEST','ACTIVE'], 'NULL'), ], callbacks = [('onmncc_setup_req', self._onmncc_setup_req), ('onmncc_call_conf_ind', self._onmncc_call_conf_ind), -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 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 Mar 7 15:20:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:20:23 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: add osmo_rtp_socket_set_dscp() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17400 ) Change subject: osmo_ortp: add osmo_rtp_socket_set_dscp() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b Gerrit-Change-Number: 17400 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 15:20: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 Mar 7 15:20:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:20:27 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: add osmo_rtp_socket_set_dscp() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17400 ) Change subject: osmo_ortp: add osmo_rtp_socket_set_dscp() ...................................................................... osmo_ortp: add osmo_rtp_socket_set_dscp() Related: OS#4438 Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b --- M TODO-RELEASE M include/osmocom/trau/osmo_ortp.h M src/trau/osmo_ortp.c 3 files changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index e2f62ef..e49df7a 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -8,3 +8,4 @@ # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line libosmo-abis API change major: add parameter to struct e1inp_line +libosmo-trau API change add new function osmo_rtp_socket_set_dscp() diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h index 54afcf0..1e0720c 100644 --- a/include/osmocom/trau/osmo_ortp.h +++ b/include/osmocom/trau/osmo_ortp.h @@ -76,6 +76,7 @@ int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, const char *ip, uint16_t port); int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs); int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type); +int osmo_rtp_socket_set_dscp(struct osmo_rtp_socket *rs, int dscp); int osmo_rtp_socket_free(struct osmo_rtp_socket *rs); int osmo_rtp_skipped_frame(struct osmo_rtp_socket *rs, unsigned int duration); int osmo_rtp_send_frame(struct osmo_rtp_socket *rs, const uint8_t *payload, diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 1d652cb..8b81e37 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -578,6 +578,16 @@ return rc; } +/*! \brief Set the DSCP (Differentiated Services Code Point) for outgoing RTP packets + * \param[in] rs OsmoRTP socket + * \param[in] dscp DSCP value + * \returns 0 on success, < 0 otherwise + */ +int osmo_rtp_socket_set_dscp(struct osmo_rtp_socket *rs, int dscp) +{ + return rtp_session_set_dscp(rs->sess, dscp); +} + /*! \brief completely close the RTP socket and release all resources * \param[in] rs OsmoRTP socket to be released * \returns 0 on success -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I41603db8c1286660ad57ac1c78a8fb393a2b080b Gerrit-Change-Number: 17400 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 Sat Mar 7 15:26:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:26:03 +0000 Subject: Change in osmocom-bb[master]: cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17411 ) Change subject: cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() ...................................................................... cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() ... instead of manually re-inventing them. Change-Id: I7e0810aa7fd1daa8f9f3e46a207589a4c6da836b --- M src/host/virt_phy/src/virt_l1_sched_simple.c 1 file changed, 2 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/11/17411/1 diff --git a/src/host/virt_phy/src/virt_l1_sched_simple.c b/src/host/virt_phy/src/virt_l1_sched_simple.c index 4737135..a14a115 100644 --- a/src/host/virt_phy/src/virt_l1_sched_simple.c +++ b/src/host/virt_phy/src/virt_l1_sched_simple.c @@ -129,12 +129,8 @@ /* list did not contain mframe item with needed fn */ mi_fn = talloc_zero(ms, struct virt_l1_sched_mframe_item); mi_fn->fn = fn; - /* need to manually init the struct content.... no so happy */ - mi_fn->tdma_item_list.prev = &mi_fn->tdma_item_list; - mi_fn->tdma_item_list.next = &mi_fn->tdma_item_list; - - /* TODO: check if we get an error if list is empty... */ - llist_add(&mi_fn->mframe_item_entry, mi_next->mframe_item_entry.prev); + INIT_LLIST_HEAD(&mi_fn->tdma_item_list); + llist_add_tail(&mi_fn->mframe_item_entry, &mi_next->mframe_item_entry); } ti_new = talloc_zero(mi_fn, struct virt_l1_sched_tdma_item); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7e0810aa7fd1daa8f9f3e46a207589a4c6da836b Gerrit-Change-Number: 17411 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 Mar 7 15:26:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:26:04 +0000 Subject: Change in osmocom-bb[master]: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17412 ) Change subject: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it ...................................................................... virt_l1_sched_execute: talloc_free() TDMA item after unlinking it We so far relied on it being free'd once the TDMA item is free'd, but let's make it more explicit. After we've unlinked it from the list, nobody is going to reference it ever again. Change-Id: I57a596428be10ce720e0b528ecfc44a70e3e3078 --- M src/host/virt_phy/src/virt_l1_sched_simple.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/12/17412/1 diff --git a/src/host/virt_phy/src/virt_l1_sched_simple.c b/src/host/virt_phy/src/virt_l1_sched_simple.c index a14a115..486d319 100644 --- a/src/host/virt_phy/src/virt_l1_sched_simple.c +++ b/src/host/virt_phy/src/virt_l1_sched_simple.c @@ -97,6 +97,7 @@ ti_next->handler_cb(ms, mi_next->fn, ti_next->ts, ti_next->msg); /* remove handled tdma sched item */ llist_del(&ti_next->tdma_item_entry); + talloc_free(ti_next); } /* remove handled mframe sched item */ llist_del(&mi_next->mframe_item_entry); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I57a596428be10ce720e0b528ecfc44a70e3e3078 Gerrit-Change-Number: 17412 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 Mar 7 15:26:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:26:05 +0000 Subject: Change in osmocom-bb[master]: virtphy: Don't pass CBCH to L1CTL if not requested by application References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17413 ) Change subject: virtphy: Don't pass CBCH to L1CTL if not requested by application ...................................................................... virtphy: Don't pass CBCH to L1CTL if not requested by application Doing so can create a number of warning messages in e.g. 'mobile' like <0015> lapd_core.c:1239 Unnumbered frame not allowed. (dl=0x55c632f9f220) <0015> lapd_core.c:392 sending MDL-ERROR-IND cause 12 from state LAPD_STATE_IDLE (dl=0x55c632f9f220) <0015> lapdm.c:481 sending MDL-ERROR-IND 12 <0001> gsm48_rr.c:4977 MDL-Error (cause 12) ignoring Change-Id: I2cf65be5b2f879fe940e08c9f369bc1cada7b0dd Closes: OS#4439 --- M src/host/virt_phy/src/gsmtapl1_if.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/13/17413/1 diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 2b21c6d..30f88ff 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -235,10 +235,14 @@ l1ctl_tx_data_ind(ms, msg, arfcn, link_id, chan_nr, fn, snr_db, signal_dbm, 0, 0); } break; + case GSMTAP_CHANNEL_CBCH51: + /* only pass CBCH data if the user application actually indicated that a CBCH + * is present */ + if (ms->state.serving_cell.ccch_mode != CCCH_MODE_COMBINED_CBCH) + break; case GSMTAP_CHANNEL_AGCH: case GSMTAP_CHANNEL_PCH: case GSMTAP_CHANNEL_BCCH: - case GSMTAP_CHANNEL_CBCH51: case GSMTAP_CHANNEL_CBCH52: /* save to just forward here, as upper layer ignores messages that * do not fit the current state (e.g. gsm48_rr.c:2159) */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2cf65be5b2f879fe940e08c9f369bc1cada7b0dd Gerrit-Change-Number: 17413 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 Mar 7 15:26:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:26:05 +0000 Subject: Change in osmocom-bb[master]: cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17414 ) Change subject: cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED ...................................................................... cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED In Change-Id Ia94ebf22a2ec439dfe1f31d703b832ae57b48ef2 we introduced a new member to the ccch_mode enum: CCCH_MODE_COMBINED_CBCH, which is to be used to tell the PHY if a CBCH is present on the combined CCCH+SDCCH/4+CBCH or not (CCCH+SDCCH4). This was implemented in trxcon + calypso firmware, but cbch_sniff has not been updated accordingly. Related: OS#4439 Change-Id: I429d45cfb181da4a2e767e92f1213ccd08c6d440 --- M src/host/layer23/src/misc/app_cbch_sniff.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/14/17414/1 diff --git a/src/host/layer23/src/misc/app_cbch_sniff.c b/src/host/layer23/src/misc/app_cbch_sniff.c index 58b3324..1e9ef5c 100644 --- a/src/host/layer23/src/misc/app_cbch_sniff.c +++ b/src/host/layer23/src/misc/app_cbch_sniff.c @@ -169,7 +169,7 @@ case S_L1CTL_FBSB_ERR: ms = g_ms; return l1ctl_tx_fbsb_req(ms, ms->test_arfcn, - L1CTL_FBSB_F_FB01SB, 100, 0, CCCH_MODE_COMBINED, + L1CTL_FBSB_F_FB01SB, 100, 0, CCCH_MODE_COMBINED_CBCH, dbm2rxlev(-85)); case S_L1CTL_FBSB_RESP: return 0; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I429d45cfb181da4a2e767e92f1213ccd08c6d440 Gerrit-Change-Number: 17414 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 Mar 7 15:47:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 15:47:24 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... virt_phy: implement GSMTAP_CHANNEL_VOICE Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 --- M src/host/virt_phy/configure.ac M src/host/virt_phy/src/gsmtapl1_if.c 2 files changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/15/17415/1 diff --git a/src/host/virt_phy/configure.ac b/src/host/virt_phy/configure.ac index a2c2bf6..fbff2c1 100644 --- a/src/host/virt_phy/configure.ac +++ b/src/host/virt_phy/configure.ac @@ -12,6 +12,8 @@ AC_PROG_INSTALL dnl checks for libraries +dnl TODO: insert libosmocore version with GSMTAP_CHANNEL_VOICE: PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +dnl (at time of writing not released yet) PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm) diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 30f88ff..e91af8e 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -76,6 +76,11 @@ subslot = 0; gsmtap_chan = chantype_rsl2gsmtap(rsl_chantype, 0); break; + case L1CTL_TRAFFIC_REQ: + ul = (struct l1ctl_info_ul *)l1h->data; + rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); + gsmtap_chan = GSMTAP_CHANNEL_VOICE; + break; default: ul = (struct l1ctl_info_ul *)l1h->data; rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); @@ -219,13 +224,7 @@ switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) { case GSMTAP_CHANNEL_TCH_H: case GSMTAP_CHANNEL_TCH_F: -#if 0 - /* TODO: handle voice */ - if (!facch && !tch_acch) { - l1ctl_tx_traffic_ind(msg, arfcn, link_id, chan_nr, fn, - snr, signal_dbm, 0, 0); - } -#endif + /* This is TCH signalling, for voice frames see GSMTAP_CHANNEL_VOICE */ case GSMTAP_CHANNEL_SDCCH4: case GSMTAP_CHANNEL_SDCCH8: /* only forward messages on dedicated channels to l2, if @@ -235,6 +234,15 @@ l1ctl_tx_data_ind(ms, msg, arfcn, link_id, chan_nr, fn, snr_db, signal_dbm, 0, 0); } break; + case GSMTAP_CHANNEL_VOICE: + /* only forward messages on dedicated channels to l2, if + * the timeslot and subslot is fitting */ + if (ms->state.dedicated.tn == timeslot + && ms->state.dedicated.subslot == subslot) { + l1ctl_tx_traffic_ind(ms, msg, arfcn, link_id, chan_nr, fn, + snr_db, signal_dbm, 0, 0); + } + break; case GSMTAP_CHANNEL_CBCH51: /* only pass CBCH data if the user application actually indicated that a CBCH * is present */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 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 Mar 7 16:30:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 16:30:28 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 2: Code-Review-2 (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17377/2/src/osmo-bts-virtual/l1_if.c File src/osmo-bts-virtual/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17377/2/src/osmo-bts-virtual/l1_if.c at 157 PS2, Line 157: ; actually, the entire modification in this file/function is bogus: We are allocating a new tch message (different from treatment of all other gsmtap channel types here). And then we add a L1SAP header and do nothing with that new msg_tch. First of all, that means there's a memory leak. And secondly, this means that the code above L1SAP can never actually see any of the GSMTAP_CHANNEL_VOICE messages we may have received in uplink https://gerrit.osmocom.org/c/osmo-bts/+/17377/2/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/17377/2/src/osmo-bts-virtual/scheduler_virtbts.c at 427 PS2, Line 427: if (msg_facch) this modification breaks the entire FACCH substitution logic. There may be TCH and FACCH message present at the same time. The FACCH has higher priority and the TCH message is dropped. The old code did exactly that. The new code now sends both up, whcih is illegal. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 16:30: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 Sat Mar 7 16:50:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 16:50:40 +0000 Subject: Change in osmocom-bb[master]: cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17411 ) Change subject: cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7e0810aa7fd1daa8f9f3e46a207589a4c6da836b Gerrit-Change-Number: 17411 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 16:50: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 Mar 7 16:51:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 16:51:24 +0000 Subject: Change in osmocom-bb[master]: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17412 ) Change subject: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I57a596428be10ce720e0b528ecfc44a70e3e3078 Gerrit-Change-Number: 17412 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 16:51: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 Mar 7 16:54:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 16:54:43 +0000 Subject: Change in osmocom-bb[master]: virtphy: Don't pass CBCH to L1CTL if not requested by application In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17413 ) Change subject: virtphy: Don't pass CBCH to L1CTL if not requested by application ...................................................................... Patch Set 1: Code-Review+1 Known problem. The layer23 code should be changed some day not to dispatch CBCH to lapdm, and handle it separately. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2cf65be5b2f879fe940e08c9f369bc1cada7b0dd Gerrit-Change-Number: 17413 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 16:54: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 Mar 7 19:30:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 19:30:45 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE 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/+/17415 to look at the new patch set (#2). Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... virt_phy: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 --- M src/host/virt_phy/configure.ac M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/virt_prim_traffic.c 3 files changed, 60 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/15/17415/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 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 Mar 7 19:32:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 19:32:45 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 86 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/17377/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Sat Mar 7 19:35:28 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sat, 7 Mar 2020 19:35:28 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Patch Set 11: > Patch Set 11: > > (1 comment) > > please also note there' salso an IST (ISIM Service Table) in the ADF_ISIM. Even if you don't have the time / energy to fully imlpement all of it, it would probably make sense to think a bit how to abstract the handling of SST+UST in a way that the same parser / code can be used for IST or even other future service tables structured in the same way. There could e.g. be a base class which then the SST/UST/IST specific classed derive from - probably mostly adding a list of string names for the services and a list of integers indicating those services to be printed? Creating a class for Service Table sounds good. Do you think having Service Table object as member variable for each card type is a good idea? And BTW, in pySim-read.py any reason why cla byte and sel_ctrl are not set based on card type (its done properly in pySim-prog.py)? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 11 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 19:35: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 Mar 7 20:05:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:02 +0000 Subject: Change in osmocom-bb[master]: cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17411 ) Change subject: cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() ...................................................................... cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail() ... instead of manually re-inventing them. Change-Id: I7e0810aa7fd1daa8f9f3e46a207589a4c6da836b --- M src/host/virt_phy/src/virt_l1_sched_simple.c 1 file changed, 2 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/host/virt_phy/src/virt_l1_sched_simple.c b/src/host/virt_phy/src/virt_l1_sched_simple.c index 4737135..a14a115 100644 --- a/src/host/virt_phy/src/virt_l1_sched_simple.c +++ b/src/host/virt_phy/src/virt_l1_sched_simple.c @@ -129,12 +129,8 @@ /* list did not contain mframe item with needed fn */ mi_fn = talloc_zero(ms, struct virt_l1_sched_mframe_item); mi_fn->fn = fn; - /* need to manually init the struct content.... no so happy */ - mi_fn->tdma_item_list.prev = &mi_fn->tdma_item_list; - mi_fn->tdma_item_list.next = &mi_fn->tdma_item_list; - - /* TODO: check if we get an error if list is empty... */ - llist_add(&mi_fn->mframe_item_entry, mi_next->mframe_item_entry.prev); + INIT_LLIST_HEAD(&mi_fn->tdma_item_list); + llist_add_tail(&mi_fn->mframe_item_entry, &mi_next->mframe_item_entry); } ti_new = talloc_zero(mi_fn, struct virt_l1_sched_tdma_item); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7e0810aa7fd1daa8f9f3e46a207589a4c6da836b Gerrit-Change-Number: 17411 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 20:05:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:07 +0000 Subject: Change in osmocom-bb[master]: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17412 ) Change subject: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I57a596428be10ce720e0b528ecfc44a70e3e3078 Gerrit-Change-Number: 17412 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 20:05: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 Sat Mar 7 20:05:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:10 +0000 Subject: Change in osmocom-bb[master]: virtphy: Don't pass CBCH to L1CTL if not requested by application In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17413 ) Change subject: virtphy: Don't pass CBCH to L1CTL if not requested by application ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2cf65be5b2f879fe940e08c9f369bc1cada7b0dd Gerrit-Change-Number: 17413 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 20: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 Sat Mar 7 20:05:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:17 +0000 Subject: Change in osmocom-bb[master]: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17412 ) Change subject: virt_l1_sched_execute: talloc_free() TDMA item after unlinking it ...................................................................... virt_l1_sched_execute: talloc_free() TDMA item after unlinking it We so far relied on it being free'd once the TDMA item is free'd, but let's make it more explicit. After we've unlinked it from the list, nobody is going to reference it ever again. Change-Id: I57a596428be10ce720e0b528ecfc44a70e3e3078 --- M src/host/virt_phy/src/virt_l1_sched_simple.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/host/virt_phy/src/virt_l1_sched_simple.c b/src/host/virt_phy/src/virt_l1_sched_simple.c index a14a115..486d319 100644 --- a/src/host/virt_phy/src/virt_l1_sched_simple.c +++ b/src/host/virt_phy/src/virt_l1_sched_simple.c @@ -97,6 +97,7 @@ ti_next->handler_cb(ms, mi_next->fn, ti_next->ts, ti_next->msg); /* remove handled tdma sched item */ llist_del(&ti_next->tdma_item_entry); + talloc_free(ti_next); } /* remove handled mframe sched item */ llist_del(&mi_next->mframe_item_entry); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I57a596428be10ce720e0b528ecfc44a70e3e3078 Gerrit-Change-Number: 17412 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 20:05:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:18 +0000 Subject: Change in osmocom-bb[master]: virtphy: Don't pass CBCH to L1CTL if not requested by application In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17413 ) Change subject: virtphy: Don't pass CBCH to L1CTL if not requested by application ...................................................................... virtphy: Don't pass CBCH to L1CTL if not requested by application Doing so can create a number of warning messages in e.g. 'mobile' like <0015> lapd_core.c:1239 Unnumbered frame not allowed. (dl=0x55c632f9f220) <0015> lapd_core.c:392 sending MDL-ERROR-IND cause 12 from state LAPD_STATE_IDLE (dl=0x55c632f9f220) <0015> lapdm.c:481 sending MDL-ERROR-IND 12 <0001> gsm48_rr.c:4977 MDL-Error (cause 12) ignoring Change-Id: I2cf65be5b2f879fe940e08c9f369bc1cada7b0dd Closes: OS#4439 --- M src/host/virt_phy/src/gsmtapl1_if.c 1 file changed, 5 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/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 2b21c6d..30f88ff 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -235,10 +235,14 @@ l1ctl_tx_data_ind(ms, msg, arfcn, link_id, chan_nr, fn, snr_db, signal_dbm, 0, 0); } break; + case GSMTAP_CHANNEL_CBCH51: + /* only pass CBCH data if the user application actually indicated that a CBCH + * is present */ + if (ms->state.serving_cell.ccch_mode != CCCH_MODE_COMBINED_CBCH) + break; case GSMTAP_CHANNEL_AGCH: case GSMTAP_CHANNEL_PCH: case GSMTAP_CHANNEL_BCCH: - case GSMTAP_CHANNEL_CBCH51: case GSMTAP_CHANNEL_CBCH52: /* save to just forward here, as upper layer ignores messages that * do not fit the current state (e.g. gsm48_rr.c:2159) */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2cf65be5b2f879fe940e08c9f369bc1cada7b0dd Gerrit-Change-Number: 17413 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 20:05:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:27 +0000 Subject: Change in osmocom-bb[master]: cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17414 ) Change subject: cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I429d45cfb181da4a2e767e92f1213ccd08c6d440 Gerrit-Change-Number: 17414 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 20:05: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 Mar 7 20:05:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:05:30 +0000 Subject: Change in osmocom-bb[master]: cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17414 ) Change subject: cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED ...................................................................... cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED In Change-Id Ia94ebf22a2ec439dfe1f31d703b832ae57b48ef2 we introduced a new member to the ccch_mode enum: CCCH_MODE_COMBINED_CBCH, which is to be used to tell the PHY if a CBCH is present on the combined CCCH+SDCCH/4+CBCH or not (CCCH+SDCCH4). This was implemented in trxcon + calypso firmware, but cbch_sniff has not been updated accordingly. Related: OS#4439 Change-Id: I429d45cfb181da4a2e767e92f1213ccd08c6d440 --- M src/host/layer23/src/misc/app_cbch_sniff.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/host/layer23/src/misc/app_cbch_sniff.c b/src/host/layer23/src/misc/app_cbch_sniff.c index 58b3324..1e9ef5c 100644 --- a/src/host/layer23/src/misc/app_cbch_sniff.c +++ b/src/host/layer23/src/misc/app_cbch_sniff.c @@ -169,7 +169,7 @@ case S_L1CTL_FBSB_ERR: ms = g_ms; return l1ctl_tx_fbsb_req(ms, ms->test_arfcn, - L1CTL_FBSB_F_FB01SB, 100, 0, CCCH_MODE_COMBINED, + L1CTL_FBSB_F_FB01SB, 100, 0, CCCH_MODE_COMBINED_CBCH, dbm2rxlev(-85)); case S_L1CTL_FBSB_RESP: return 0; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I429d45cfb181da4a2e767e92f1213ccd08c6d440 Gerrit-Change-Number: 17414 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 20:06:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:06:41 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: also enable logging for DRLCMACDATA category In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17407 ) Change subject: tests/rlcmac: also enable logging for DRLCMACDATA category ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf0808461f7e7a1bce58d11a54238c215126451a Gerrit-Change-Number: 17407 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Mar 2020 20:06:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 20:06:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:06:56 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of MS RA Capability IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of MS RA Capability IE ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Mar 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 Mar 7 20:07:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:07:16 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: improve dissection of MS RA Capability IE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17050 ) Change subject: gsm_rlcmac: improve dissection of MS RA Capability IE ...................................................................... gsm_rlcmac: improve dissection of MS RA Capability IE Port from wireshark.git de028e81c53f9c45ccc5adb3bffd2f16ae2017bf This commit breaks transcoding of the test vectors containing the MS RA Capability IE due to the reasons explained in [1]. The more fields we add, the longer gets the output of the CSN.1 encoder. This is not critical, since we never need to encode messages containing the MS RA Capability IE on practice. [1] Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Ported-by: Pau Espin Pedrol Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 80 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 92466f5..e8ce2ef 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -777,6 +777,12 @@ CSN_DESCR_END (DTM_EGPRS_HighMultislotClass_t) static const +CSN_DESCR_BEGIN (DownlinkDualCarrierCapability_r7_t) + M_NEXT_EXIST (DownlinkDualCarrierCapability_r7_t, MultislotCapabilityReductionForDL_DualCarrier, 1), + M_UINT (DownlinkDualCarrierCapability_r7_t, DL_DualCarrierForDTM, 3), +CSN_DESCR_END (DownlinkDualCarrierCapability_r7_t) + +static const CSN_DESCR_BEGIN (Multislot_capability_t) M_NEXT_EXIST_OR_NULL(Multislot_capability_t, Exist_HSCSD_multislot_class, 1), M_UINT (Multislot_capability_t, HSCSD_multislot_class, 5), @@ -854,6 +860,25 @@ M_TYPE (Content_t, DTM_EGPRS_HighMultislotClass, DTM_EGPRS_HighMultislotClass_t), M_UINT_OR_NULL (Content_t, PS_HandoverCapability, 1), + + /* additions in release 7 */ + M_UINT_OR_NULL (Content_t, DTM_Handover_Capability, 1), + M_NEXT_EXIST_OR_NULL(Content_t, Exist_DownlinkDualCarrierCapability_r7, 1), + M_TYPE (Content_t, DownlinkDualCarrierCapability_r7, DownlinkDualCarrierCapability_r7_t), + + M_UINT_OR_NULL (Content_t, FlexibleTimeslotAssignment, 1), + M_UINT_OR_NULL (Content_t, GAN_PS_HandoverCapability, 1), + M_UINT_OR_NULL (Content_t, RLC_Non_persistentMode, 1), + M_UINT_OR_NULL (Content_t, ReducedLatencyCapability, 1), + M_UINT_OR_NULL (Content_t, UplinkEGPRS2, 2), + M_UINT_OR_NULL (Content_t, DownlinkEGPRS2, 2), + + /* additions in release 8 */ + M_UINT_OR_NULL (Content_t, EUTRA_FDD_Support, 1), + M_UINT_OR_NULL (Content_t, EUTRA_TDD_Support, 1), + M_UINT_OR_NULL (Content_t, GERAN_To_EUTRAN_supportInGERAN_PTM, 2), + M_UINT_OR_NULL (Content_t, PriorityBasedReselectionSupport, 1), + CSN_DESCR_END (Content_t) gint16 Content_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) @@ -897,9 +922,18 @@ { {4, AccTech_GSMP, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ {4, AccTech_GSME, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSMR, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ {4, AccTech_GSM1800, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ {4, AccTech_GSM1900, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSM450, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSM480, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ {4, AccTech_GSM850, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSM750, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSMT830, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSMT410, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSMT900, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSM710, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ + {4, AccTech_GSMT810, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Content, 7, Content_Dissector)}, /* Long Form */ {4, AccTech_GSMOther, 0, M_SERIALIZE (MS_RA_capability_value_t, u.Additional_access_technologies, 7, Additional_access_technologies_Dissector)}, /* Short Form */ }; diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 9db6a99..10bb6af 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1112,6 +1112,12 @@ typedef struct { + guint8 MultislotCapabilityReductionForDL_DualCarrier; + guint8 DL_DualCarrierForDTM; +} DownlinkDualCarrierCapability_r7_t; + +typedef struct +{ guint8 Exist_HSCSD_multislot_class; guint8 HSCSD_multislot_class; @@ -1197,6 +1203,25 @@ guint8 DTM_GPRS_HighMultislotClass; DTM_EGPRS_HighMultislotClass_t DTM_EGPRS_HighMultislotClass; guint8 PS_HandoverCapability; + + /* -------- R7 additions */ + guint8 DTM_Handover_Capability; + guint8 Exist_DownlinkDualCarrierCapability_r7; + DownlinkDualCarrierCapability_r7_t DownlinkDualCarrierCapability_r7; + + guint8 FlexibleTimeslotAssignment; + guint8 GAN_PS_HandoverCapability; + guint8 RLC_Non_persistentMode; + guint8 ReducedLatencyCapability; + guint8 UplinkEGPRS2; + guint8 DownlinkEGPRS2; + + /* -------- R8 additions */ + guint8 EUTRA_FDD_Support; + guint8 EUTRA_TDD_Support; + guint8 GERAN_To_EUTRAN_supportInGERAN_PTM; + guint8 PriorityBasedReselectionSupport; + } Content_t; #define ABSOLUTE_MAX_BANDS 2 /* New fields for R4 extend the length of the capabilities message so we can only send 2 */ @@ -1204,12 +1229,21 @@ #define MAX_ACCESS_TECHNOLOGIES_COUNT 16 /* No more than 16 instances */ typedef enum -{/* See TS 24.008 table 10.5.146, GSM R and GSM 450/480 excluded */ +{/* See TS 24.008 table 10.5.146 */ AccTech_GSMP = 0x0, AccTech_GSME = 0x1, + AccTech_GSMR = 0x2, AccTech_GSM1800 = 0x3, AccTech_GSM1900 = 0x4, + AccTech_GSM450 = 0x5, + AccTech_GSM480 = 0x6, AccTech_GSM850 = 0x7, + AccTech_GSM750 = 0x8, + AccTech_GSMT830 = 0x9, + AccTech_GSMT410 = 0xa, + AccTech_GSMT900 = 0xb, + AccTech_GSM710 = 0xc, + AccTech_GSMT810 = 0xd, AccTech_GSMOther = 0xf } AccessTechnology_t; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 6855340..a1dde77 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -265,7 +265,7 @@ /* NOTE: vector2 is expected to be different because there is actually no * way to distinguish between NULL and 0 in MS_Radio_Access_capability_t. - * The difference is in length indicator: 29 bits vs 50 bits. */ + * The difference is in length indicator: 29 bits vs 65 bits. */ printf("vector1 (len_ind=%u) = %s\n", len_dec, osmo_hexdump(bv_dec->data, bv_dec->data_len)); printf("vector2 (len_ind=%u) = %s\n", len_enc, osmo_hexdump(bv_enc->data, bv_enc->data_len)); diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index fdba943..d7a438b 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -22,15 +22,15 @@ DCSN1 INFO csnStreamEncoder (type=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=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | skipped = 21 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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 | u.Content length = 52 | MS_RA_capability_value } | : End MS_Radio_Access_capability | : 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 = 11|43|43| +DCSN1 INFO csnStreamDecoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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 : | Padding = +DCSN1 INFO csnStreamDecoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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=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=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=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=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 = 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 | MS_RA_capability_value } | -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 = 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 = 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 | u.Content length = 50 | MS_RA_capability_value } | +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 } | +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 = 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 = 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 } | 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 | diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index fdf4ff0..438417f 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -104,15 +104,15 @@ =========Start ENCODE============= +++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b -vector2 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b -vector1 == vector2 : TRUE +vector2 = 40 16 71 3d c0 94 27 48 a2 ae 57 ef 90 90 06 aa 00 00 1f 80 00 3f 00 +vector1 == vector2 : FALSE vector1 = 401673c87f24af2632b25964200600000091000b780080 =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= +++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 16 73 c8 7f 24 af 26 32 b2 59 64 20 06 00 00 00 91 00 0b 78 00 80 -vector2 = 40 16 73 c8 7f 24 ae d2 32 b2 59 64 20 06 12 20 01 6f 00 10 0b 2b 2b +vector2 = 40 16 73 c8 7f 24 af 0e 32 b2 59 64 20 06 00 00 24 40 02 de 00 20 2b vector1 == vector2 : FALSE vector1 = 40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== @@ -138,6 +138,6 @@ === Test encoding of MS RA Capability === encode_gsm_ra_cap() returns 0 vector1 (len_ind=29) = 13 a5 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -vector2 (len_ind=50) = 16 45 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector2 (len_ind=65) = 18 25 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 === Test decoding of a malformed vector (short length indicator) === decode_gsm_ra_cap() returns -5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb4cbd3f5865415fd547e95fc24ff31df1aed4c0 Gerrit-Change-Number: 17050 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 7 20:07:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:07:16 +0000 Subject: Change in osmo-pcu[master]: tests/rlcmac: also enable logging for DRLCMACDATA category In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17407 ) Change subject: tests/rlcmac: also enable logging for DRLCMACDATA category ...................................................................... tests/rlcmac: also enable logging for DRLCMACDATA category Change-Id: Idf0808461f7e7a1bce58d11a54238c215126451a --- M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err 2 files changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index a1dde77..63498ca 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -284,7 +284,7 @@ { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); - log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DCSN1,2:"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,2:"); log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); log_set_print_category_hex(osmo_stderr_target, 0); diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index d7a438b..a0b0ca9 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -32,5 +32,7 @@ DCSN1 INFO csnStreamEncoder (type=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=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 = 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 } | +DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec 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 = 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 = 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 } | +DRLCMACDATA NOTICE Got 107 remaining bits unhandled by encoder at the end of bitvec 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 | -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf0808461f7e7a1bce58d11a54238c215126451a Gerrit-Change-Number: 17407 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 Mar 7 20:07:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:07:41 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Removed Code-Review-2 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Mar 7 20:16:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 20:16:53 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by osmith. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... rsl: make IP DSCP configurable Related: OS#4438 Depends: libosmo-abis I41603db8c1286660ad57ac1c78a8fb393a2b080b Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/rsl.c M src/common/vty.c 4 files changed, 26 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/17401/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 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 Sat Mar 7 22:29:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Mar 2020 22:29:00 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 3: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17377/3/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/17377/3/src/osmo-bts-virtual/scheduler_virtbts.c at 479 PS3, Line 479: tx_to_virt_um_voice_frame(l1t, tn, fn, chan, msg_tch); De already bail out above if !MSG_tch https://gerrit.osmocom.org/c/osmo-bts/+/17377/3/src/osmo-bts-virtual/scheduler_virtbts.c at 519 PS3, Line 519: tx_to_virt_um_voice_frame(l1t, tn, fn, chan, msg_tch); Still has broken facch replacement logic -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 22:29: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 Sat Mar 7 22:49:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Mar 2020 22:49:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17377/3/src/osmo-bts-virtual/l1_if.c File src/osmo-bts-virtual/l1_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/17377/3/src/osmo-bts-virtual/l1_if.c at 162 PS3, Line 162: Tx DL I think it should be 'Rx Uplink' because docs of virt_um_rcv_cb() state "Callback to handle incoming messages from the MS". -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 07 Mar 2020 22:49:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 09:43:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:43:14 +0000 Subject: Change in libosmocore[master]: Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17416 ) Change subject: Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string ...................................................................... Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string In Change-Id If223020933b083fe359a2e8ff5fab1ce64a363d8 we introduced GSMTAP_CHANNEL_VOICE, but we didn't add it to gsmtap_gsm_channel_names[] Change-Id: I7ab696d3e0edb13632e048a9e05be03612d3d28c Related: OS#2557 --- M src/gsmtap_util.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/16/17416/1 diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index a4fe2d9..40ec4b8 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -479,6 +479,7 @@ { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH8, "SACCH/8" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_F, "SACCH/F" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_H, "SACCH/H" }, + { GSMTAP_CHANNEL_VOICE, "VOICE" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7ab696d3e0edb13632e048a9e05be03612d3d28c Gerrit-Change-Number: 17416 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 Mar 8 09:43:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:43:14 +0000 Subject: Change in libosmocore[master]: Add CTRL port number for osmo-mgw References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17417 ) Change subject: Add CTRL port number for osmo-mgw ...................................................................... Add CTRL port number for osmo-mgw Related: OS#4441 Change-Id: I70ae237ea27972f6819fd217c3d5059dda009486 --- M include/osmocom/ctrl/ports.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/17417/1 diff --git a/include/osmocom/ctrl/ports.h b/include/osmocom/ctrl/ports.h index 25d2491..4c3b77f 100644 --- a/include/osmocom/ctrl/ports.h +++ b/include/osmocom/ctrl/ports.h @@ -24,4 +24,6 @@ #define OSMO_CTRL_PORT_GBPROXY 4263 /* 4264 used by VTY interface */ #define OSMO_CTRL_PORT_CBC 4265 +/* 4266 used by D-GSM mDNS */ +#define OSMO_CTRL_PORT_MGW 4267 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I70ae237ea27972f6819fd217c3d5059dda009486 Gerrit-Change-Number: 17417 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 Mar 8 09:43:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:43:15 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... socket: Add osmo_sock_mcast_iface_set() to bind multicast to device Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Related: OS#2966 --- M src/socket.c 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/17418/1 diff --git a/src/socket.c b/src/socket.c index 9b1d30e..8c267f5 100644 --- a/src/socket.c +++ b/src/socket.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -1194,6 +1195,27 @@ } } +/*! Set the TTL of outbound multicast packets + * \param[in] fd file descriptor of related socket + * \param[in] ifname name of network interface to user for multicast + * \returns 0 on success; negative otherwise */ +int osmo_sock_mcast_iface_set(int fd, const char *ifname) +{ + unsigned int ifindex; + struct ip_mreqn mr; + + /* first, resolve interface name to ifindex */ + ifindex = if_nametoindex(ifname); + if (ifindex == 0) + return -errno; + + /* next, configure kernel to use that ifindex for this sockets multicast traffic */ + memset(&mr, 0, sizeof(mr)); + mr.imr_ifindex = ifindex; + return setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &mr, sizeof(mr)); +} + + /*! Enable/disable receiving all multicast packets, even for non-subscribed groups * \param[in] fd file descriptor of related socket * \param[in] enable Enable or Disable receiving of all packets -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 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 Mar 8 09:45:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:45:37 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add osmo-mgw CTRL port References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17419 ) Change subject: port_numbers: Add osmo-mgw CTRL port ...................................................................... port_numbers: Add osmo-mgw CTRL port Change-Id: I41de762bbceeaf219d00bdc4e4f2c46c3b11c436 Related: OS#4441 --- M common/chapters/port_numbers.adoc 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/19/17419/1 diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index 355e41c..f2166ab 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -43,6 +43,7 @@ |TCP|4263|Control Interface|osmo-gbproxy |TCP|4264|telnet (VTY)|osmo-cbc |TCP|4265|Control Interface|osmo-cbc +|TCP|4267|Control Interface|osmo-mgw |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat |UDP|2427|GSMTAP|osmo-pcu, osmo-bts -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17419 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: I41de762bbceeaf219d00bdc4e4f2c46c3b11c436 Gerrit-Change-Number: 17419 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 Mar 8 09:45:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:45:37 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add missing mDNS port for D-GSM / osmo-hlr References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17420 ) Change subject: port_numbers: Add missing mDNS port for D-GSM / osmo-hlr ...................................................................... port_numbers: Add missing mDNS port for D-GSM / osmo-hlr Somehow despite all the warnings everywhere about keeping wiki + code in sync, this didn't get updated :( Change-Id: I37e4ea4e6ac8291a36761ecc1849f06847a69557 --- M common/chapters/port_numbers.adoc 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/20/17420/1 diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index f2166ab..a5b9036 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -43,6 +43,7 @@ |TCP|4263|Control Interface|osmo-gbproxy |TCP|4264|telnet (VTY)|osmo-cbc |TCP|4265|Control Interface|osmo-cbc +|TCP|4266|D-GSM MS Lookup: mDNS serve|osmo-hlr |TCP|4267|Control Interface|osmo-mgw |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17420 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: I37e4ea4e6ac8291a36761ecc1849f06847a69557 Gerrit-Change-Number: 17420 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 Mar 8 09:47:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:47:05 +0000 Subject: Change in osmo-mgw[master]: Add CTRL interface to osmo-mgw References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17421 ) Change subject: Add CTRL interface to osmo-mgw ...................................................................... Add CTRL interface to osmo-mgw OsmoMGW has a lot of nice built-in statistics (rate_ctr,...) but it seems the only way to look at them is via the VTY. While libosmocore contains automatic exposure of all rate counters via CTRL, the CTRL interface simply is not used by osmo-mgw so far. Closes: OS#4441 Change-Id: I7ed6bdb9f4749c24ca11a5905a620546cfe42952 --- M configure.ac M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h A include/osmocom/mgcp/mgcp_ctrl.h M src/libosmo-mgcp/Makefile.am A src/libosmo-mgcp/mgcp_ctrl.c M src/osmo-mgw/Makefile.am M src/osmo-mgw/mgw_main.c 8 files changed, 83 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/21/17421/1 diff --git a/configure.ac b/configure.ac index c74526b..880a756 100644 --- a/configure.ac +++ b/configure.ac @@ -41,6 +41,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index 65ca670..036b4ca 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -6,5 +6,6 @@ mgcp_endp.h \ mgcp_sdp.h \ mgcp_codec.h \ + mgcp_ctrl.h \ debug.h \ $(NULL) diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 71d6342..a479fbb 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -279,6 +279,9 @@ /* time after which inactive connections (CIs) get closed */ int conn_timeout; + + /* osmocom CTRL interface */ + struct ctrl_handle *ctrl; }; /* config management */ diff --git a/include/osmocom/mgcp/mgcp_ctrl.h b/include/osmocom/mgcp/mgcp_ctrl.h new file mode 100644 index 0000000..d7ab7cb --- /dev/null +++ b/include/osmocom/mgcp/mgcp_ctrl.h @@ -0,0 +1,24 @@ +/* + * (C) 2020 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 . + * + */ + +#pragma once + +struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, + const char *bind_addr, uint16_t port); + diff --git a/src/libosmo-mgcp/Makefile.am b/src/libosmo-mgcp/Makefile.am index 587bdd4..a0c015b 100644 --- a/src/libosmo-mgcp/Makefile.am +++ b/src/libosmo-mgcp/Makefile.am @@ -40,4 +40,5 @@ mgcp_conn.c \ mgcp_stat.c \ mgcp_endp.c \ + mgcp_ctrl.c \ $(NULL) diff --git a/src/libosmo-mgcp/mgcp_ctrl.c b/src/libosmo-mgcp/mgcp_ctrl.c new file mode 100644 index 0000000..0ba231b --- /dev/null +++ b/src/libosmo-mgcp/mgcp_ctrl.c @@ -0,0 +1,36 @@ +/* + * (C) 2020 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 + + +static int mgw_ctrl_node_lookup(void *data, vector vline, int *node_type, + void **node_data, int *i) +{ + return 0; +} + + +struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, + const char *bind_addr, uint16_t port) +{ + return ctrl_interface_setup_dynip2(cfg, bind_addr, port, mgw_ctrl_node_lookup, + _LAST_CTRL_NODE); +} diff --git a/src/osmo-mgw/Makefile.am b/src/osmo-mgw/Makefile.am index a076d4c..d38df9f 100644 --- a/src/osmo-mgw/Makefile.am +++ b/src/osmo-mgw/Makefile.am @@ -9,6 +9,7 @@ $(LIBOSMOCORE_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -26,5 +27,6 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ $(LIBOSMONETIF_LIBS) \ $(NULL) diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 4168e0d..48869c4 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 @@ -48,6 +49,8 @@ #include #include +#include + #include #include #include @@ -60,6 +63,11 @@ #define _GNU_SOURCE #include +/* can be changed once libosmocore 1.4.0 is released */ +#ifndef OSMO_CTRL_PORT_MGW +#define OSMO_CTRL_PORT_MGW 4267 +#endif + /* FIXME: Make use of the rtp proxy code */ static struct mgcp_config *cfg; @@ -278,6 +286,7 @@ osmo_talloc_vty_add_cmds(); osmo_stats_vty_add_cmds(); mgcp_vty_init(); + ctrl_vty_init(cfg); handle_options(argc, argv); @@ -294,6 +303,12 @@ if (rc < 0) return rc; + cfg->ctrl = mgw_ctrl_interface_setup(cfg, ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_MGW); + if (!cfg->ctrl) { + fprintf(stderr, "Failed to init the control interface on %s:%u. Exiting\n", + ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_MGW); + } + /* Set the reset callback function. This functions is called when the * mgcp-command "RSIP" (Reset in Progress) is received */ cfg->reset_cb = mgcp_rsip_cb; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7ed6bdb9f4749c24ca11a5905a620546cfe42952 Gerrit-Change-Number: 17421 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 Mar 8 09:52:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 09:52:05 +0000 Subject: Change in osmo-mgw[master]: Fix number of endpoints of default trunk References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17422 ) Change subject: Fix number of endpoints of default trunk ...................................................................... Fix number of endpoints of default trunk If a config file doesn't have a 'number endpoints' config line, we would use -1 as unsigned integer and end up with number endpoints 4294967295 if the config file is re-written Change-Id: I05a3814117b1d6e0cdc30740da31709ce333df4b Closes: OS#4034 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/22/17422/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index c72596a..12fea1d 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1620,7 +1620,7 @@ cfg->get_net_downlink_format_cb = &mgcp_get_net_downlink_format_default; - /* default trunk handling */ + /* 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; @@ -1628,6 +1628,7 @@ 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) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05a3814117b1d6e0cdc30740da31709ce333df4b Gerrit-Change-Number: 17422 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 Mar 8 09:56:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 09:56:48 +0000 Subject: Change in libosmocore[master]: Add CTRL port number for osmo-mgw In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17417 ) Change subject: Add CTRL port number for osmo-mgw ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I70ae237ea27972f6819fd217c3d5059dda009486 Gerrit-Change-Number: 17417 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 09: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 Sun Mar 8 09:57:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 09:57:11 +0000 Subject: Change in libosmocore[master]: Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17416 ) Change subject: Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7ab696d3e0edb13632e048a9e05be03612d3d28c Gerrit-Change-Number: 17416 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 09:57: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 Mar 8 10:00:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 10:00:58 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17418/1/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/17418/1/src/socket.c at 1198 PS1, Line 1198: Set the TTL of outbound multicast packets This does not seem to match the actual implementation... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 10:00: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 Sun Mar 8 10:01:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 10:01:50 +0000 Subject: Change in osmo-mgw[master]: Fix number of endpoints of default trunk In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17422 ) Change subject: Fix number of endpoints of default trunk ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05a3814117b1d6e0cdc30740da31709ce333df4b Gerrit-Change-Number: 17422 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 10:01:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 10:03:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 10:03:28 +0000 Subject: Change in osmo-mgw[master]: Add CTRL interface to osmo-mgw In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17421 ) Change subject: Add CTRL interface to osmo-mgw ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7ed6bdb9f4749c24ca11a5905a620546cfe42952 Gerrit-Change-Number: 17421 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 10: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 Sun Mar 8 10:03:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 10:03:40 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add osmo-mgw CTRL port In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17419 ) Change subject: port_numbers: Add osmo-mgw CTRL port ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17419 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: I41de762bbceeaf219d00bdc4e4f2c46c3b11c436 Gerrit-Change-Number: 17419 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 10: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 Sun Mar 8 10:03:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Mar 2020 10:03:56 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add missing mDNS port for D-GSM / osmo-hlr In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17420 ) Change subject: port_numbers: Add missing mDNS port for D-GSM / osmo-hlr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17420 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: I37e4ea4e6ac8291a36761ecc1849f06847a69557 Gerrit-Change-Number: 17420 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Mar 2020 10:03: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 Mar 8 10:24:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 10:24:40 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add osmo-mgw CTRL port In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17419 ) Change subject: port_numbers: Add osmo-mgw CTRL port ...................................................................... port_numbers: Add osmo-mgw CTRL port Change-Id: I41de762bbceeaf219d00bdc4e4f2c46c3b11c436 Related: OS#4441 --- M common/chapters/port_numbers.adoc 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index 355e41c..f2166ab 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -43,6 +43,7 @@ |TCP|4263|Control Interface|osmo-gbproxy |TCP|4264|telnet (VTY)|osmo-cbc |TCP|4265|Control Interface|osmo-cbc +|TCP|4267|Control Interface|osmo-mgw |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat |UDP|2427|GSMTAP|osmo-pcu, osmo-bts -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17419 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: I41de762bbceeaf219d00bdc4e4f2c46c3b11c436 Gerrit-Change-Number: 17419 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 10:24:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 10:24:40 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: Add missing mDNS port for D-GSM / osmo-hlr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17420 ) Change subject: port_numbers: Add missing mDNS port for D-GSM / osmo-hlr ...................................................................... port_numbers: Add missing mDNS port for D-GSM / osmo-hlr Somehow despite all the warnings everywhere about keeping wiki + code in sync, this didn't get updated :( Change-Id: I37e4ea4e6ac8291a36761ecc1849f06847a69557 --- M common/chapters/port_numbers.adoc 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index f2166ab..a5b9036 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -43,6 +43,7 @@ |TCP|4263|Control Interface|osmo-gbproxy |TCP|4264|telnet (VTY)|osmo-cbc |TCP|4265|Control Interface|osmo-cbc +|TCP|4266|D-GSM MS Lookup: mDNS serve|osmo-hlr |TCP|4267|Control Interface|osmo-mgw |UDP|4729|GSMTAP|Almost every osmocom project |TCP|5000|A/IP|osmo-bsc, osmo-bsc_nat -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17420 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: I37e4ea4e6ac8291a36761ecc1849f06847a69557 Gerrit-Change-Number: 17420 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 11:59:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 11:59:33 +0000 Subject: Change in osmo-mgw[master]: Fix number of endpoints of default trunk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17422 ) Change subject: Fix number of endpoints of default trunk ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05a3814117b1d6e0cdc30740da31709ce333df4b Gerrit-Change-Number: 17422 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 11:59: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 Sun Mar 8 12:00:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 12:00:01 +0000 Subject: Change in osmo-mgw[master]: Fix number of endpoints of default trunk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17422 ) Change subject: Fix number of endpoints of default trunk ...................................................................... Fix number of endpoints of default trunk If a config file doesn't have a 'number endpoints' config line, we would use -1 as unsigned integer and end up with number endpoints 4294967295 if the config file is re-written Change-Id: I05a3814117b1d6e0cdc30740da31709ce333df4b Closes: OS#4034 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 2 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/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index c72596a..12fea1d 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1620,7 +1620,7 @@ cfg->get_net_downlink_format_cb = &mgcp_get_net_downlink_format_default; - /* default trunk handling */ + /* 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; @@ -1628,6 +1628,7 @@ 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) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05a3814117b1d6e0cdc30740da31709ce333df4b Gerrit-Change-Number: 17422 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 12:23:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 12:23:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks References: Message-ID: laforge has uploaded this change for review. ( 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 7 files changed, 91 insertions(+), 87 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/17423/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index a479fbb..380f2d1 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -251,7 +251,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 e9d5d2d..782980a 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 53cdc06..cb98ecb 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1424,7 +1424,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 72d3b91..9f3a05f 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 12fea1d..4021be6 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1620,33 +1620,23 @@ 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) { + /* 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); 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; @@ -1657,17 +1647,21 @@ } 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); - llist_add_tail(&trunk->entry, &cfg->trunks); + if (alloc_mgcp_rate_counters(trunk, trunk) < 0) { + talloc_free(trunk); + return NULL; + } + /* we don't add it to the list of trunks so this function can be used + * for both the virtual as well as for further trunks */ return trunk; } diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 5f9853b..c9bb6b8 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); @@ -291,7 +293,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); @@ -342,7 +344,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]); @@ -553,7 +555,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; } @@ -562,7 +564,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; } @@ -570,7 +572,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; } @@ -582,7 +584,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; } @@ -596,7 +598,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; } @@ -609,7 +611,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; } @@ -618,7 +620,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; } @@ -627,7 +629,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; } @@ -636,7 +638,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; } @@ -649,7 +651,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; } @@ -659,7 +661,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; } @@ -669,7 +671,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; } @@ -679,20 +681,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; } @@ -700,7 +702,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; } @@ -708,7 +710,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; } @@ -716,7 +718,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; } @@ -724,7 +726,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; } @@ -732,7 +734,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; } @@ -740,16 +742,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; } @@ -758,7 +760,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; } @@ -767,7 +769,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; } @@ -775,7 +777,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; } @@ -801,8 +803,12 @@ 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; + llist_add_tail(&trunk->entry, &g_cfg->trunks); + } if (!trunk) { vty_out(vty, "%%Unable to allocate trunk %u.%s", @@ -847,7 +853,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); @@ -1310,7 +1316,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; } @@ -1511,10 +1517,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; } -- 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: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 12:31:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 12:31:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks 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/+/17423 to look at the new patch set (#2). 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, 131 insertions(+), 126 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/17423/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: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 13:09:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:09:22 +0000 Subject: Change in osmo-mgw[master]: Add CTRL interface to osmo-mgw In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17421 ) Change subject: Add CTRL interface to osmo-mgw ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7ed6bdb9f4749c24ca11a5905a620546cfe42952 Gerrit-Change-Number: 17421 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 13:09: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 Mar 8 13:09:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:09:25 +0000 Subject: Change in osmo-mgw[master]: Add CTRL interface to osmo-mgw In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17421 ) Change subject: Add CTRL interface to osmo-mgw ...................................................................... Add CTRL interface to osmo-mgw OsmoMGW has a lot of nice built-in statistics (rate_ctr,...) but it seems the only way to look at them is via the VTY. While libosmocore contains automatic exposure of all rate counters via CTRL, the CTRL interface simply is not used by osmo-mgw so far. Closes: OS#4441 Change-Id: I7ed6bdb9f4749c24ca11a5905a620546cfe42952 --- M configure.ac M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h A include/osmocom/mgcp/mgcp_ctrl.h M src/libosmo-mgcp/Makefile.am A src/libosmo-mgcp/mgcp_ctrl.c M src/osmo-mgw/Makefile.am M src/osmo-mgw/mgw_main.c 8 files changed, 83 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/configure.ac b/configure.ac index c74526b..880a756 100644 --- a/configure.ac +++ b/configure.ac @@ -41,6 +41,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.1.0) +PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.1.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.1.0) PKG_CHECK_MODULES(LIBOSMONETIF, libosmo-netif >= 0.6.0) diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index 65ca670..036b4ca 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -6,5 +6,6 @@ mgcp_endp.h \ mgcp_sdp.h \ mgcp_codec.h \ + mgcp_ctrl.h \ debug.h \ $(NULL) diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 71d6342..a479fbb 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -279,6 +279,9 @@ /* time after which inactive connections (CIs) get closed */ int conn_timeout; + + /* osmocom CTRL interface */ + struct ctrl_handle *ctrl; }; /* config management */ diff --git a/include/osmocom/mgcp/mgcp_ctrl.h b/include/osmocom/mgcp/mgcp_ctrl.h new file mode 100644 index 0000000..d7ab7cb --- /dev/null +++ b/include/osmocom/mgcp/mgcp_ctrl.h @@ -0,0 +1,24 @@ +/* + * (C) 2020 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 . + * + */ + +#pragma once + +struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, + const char *bind_addr, uint16_t port); + diff --git a/src/libosmo-mgcp/Makefile.am b/src/libosmo-mgcp/Makefile.am index 587bdd4..a0c015b 100644 --- a/src/libosmo-mgcp/Makefile.am +++ b/src/libosmo-mgcp/Makefile.am @@ -40,4 +40,5 @@ mgcp_conn.c \ mgcp_stat.c \ mgcp_endp.c \ + mgcp_ctrl.c \ $(NULL) diff --git a/src/libosmo-mgcp/mgcp_ctrl.c b/src/libosmo-mgcp/mgcp_ctrl.c new file mode 100644 index 0000000..0ba231b --- /dev/null +++ b/src/libosmo-mgcp/mgcp_ctrl.c @@ -0,0 +1,36 @@ +/* + * (C) 2020 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 + + +static int mgw_ctrl_node_lookup(void *data, vector vline, int *node_type, + void **node_data, int *i) +{ + return 0; +} + + +struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, + const char *bind_addr, uint16_t port) +{ + return ctrl_interface_setup_dynip2(cfg, bind_addr, port, mgw_ctrl_node_lookup, + _LAST_CTRL_NODE); +} diff --git a/src/osmo-mgw/Makefile.am b/src/osmo-mgw/Makefile.am index a076d4c..d38df9f 100644 --- a/src/osmo-mgw/Makefile.am +++ b/src/osmo-mgw/Makefile.am @@ -9,6 +9,7 @@ $(LIBOSMOCORE_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMONETIF_CFLAGS) \ $(COVERAGE_CFLAGS) \ $(NULL) @@ -26,5 +27,6 @@ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ $(LIBOSMONETIF_LIBS) \ $(NULL) diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 4168e0d..48869c4 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 @@ -48,6 +49,8 @@ #include #include +#include + #include #include #include @@ -60,6 +63,11 @@ #define _GNU_SOURCE #include +/* can be changed once libosmocore 1.4.0 is released */ +#ifndef OSMO_CTRL_PORT_MGW +#define OSMO_CTRL_PORT_MGW 4267 +#endif + /* FIXME: Make use of the rtp proxy code */ static struct mgcp_config *cfg; @@ -278,6 +286,7 @@ osmo_talloc_vty_add_cmds(); osmo_stats_vty_add_cmds(); mgcp_vty_init(); + ctrl_vty_init(cfg); handle_options(argc, argv); @@ -294,6 +303,12 @@ if (rc < 0) return rc; + cfg->ctrl = mgw_ctrl_interface_setup(cfg, ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_MGW); + if (!cfg->ctrl) { + fprintf(stderr, "Failed to init the control interface on %s:%u. Exiting\n", + ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_MGW); + } + /* Set the reset callback function. This functions is called when the * mgcp-command "RSIP" (Reset in Progress) is received */ cfg->reset_cb = mgcp_rsip_cb; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7ed6bdb9f4749c24ca11a5905a620546cfe42952 Gerrit-Change-Number: 17421 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 Sun Mar 8 13:10:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:10:30 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17300 ) Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 08 Mar 2020 13: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 Sun Mar 8 13:10:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:10:34 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: do not log GSMTAP message sending failure twice In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17300 ) Change subject: osmo-bts-virtual: do not log GSMTAP message sending failure twice ...................................................................... osmo-bts-virtual: do not log GSMTAP message sending failure twice Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 --- M src/osmo-bts-virtual/scheduler_virtbts.c M src/osmo-bts-virtual/virtual_um.c 2 files changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 91d9153..90288d1 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -21,6 +21,7 @@ */ #include #include +#include #include #include #include @@ -91,7 +92,7 @@ rc = virt_um_write_msg(pinst->phy_link->u.virt.virt_um, outmsg); if (rc < 0) LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, - "GSMTAP msg could not send to virtual Um\n"); + "GSMTAP msg could not send to virtual Um: %s\n", strerror(-rc)); else if (rc == 0) bts_shutdown(l1t->trx->bts, "VirtPHY write socket died\n"); else diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index fd0940f..752e4b6 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -27,7 +27,9 @@ #include #include "osmo_mcast_sock.h" #include "virtual_um.h" + #include +#include /** * Virtual UM interface file descriptor callback. @@ -93,7 +95,7 @@ rc = mcast_bidir_sock_tx(vui->mcast_sock, msgb_data(msg), msgb_length(msg)); if (rc < 0) - perror("Writing to multicast socket"); + rc = -errno; msgb_free(msg); return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I39e9edf35240ef31e3432412b459c2b8fb0de054 Gerrit-Change-Number: 17300 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 Sun Mar 8 13:10:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:10:49 +0000 Subject: Change in libosmocore[master]: Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17416 ) Change subject: Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string ...................................................................... Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string In Change-Id If223020933b083fe359a2e8ff5fab1ce64a363d8 we introduced GSMTAP_CHANNEL_VOICE, but we didn't add it to gsmtap_gsm_channel_names[] Change-Id: I7ab696d3e0edb13632e048a9e05be03612d3d28c Related: OS#2557 --- M src/gsmtap_util.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index a4fe2d9..40ec4b8 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -479,6 +479,7 @@ { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH8, "SACCH/8" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_F, "SACCH/F" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_H, "SACCH/H" }, + { GSMTAP_CHANNEL_VOICE, "VOICE" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7ab696d3e0edb13632e048a9e05be03612d3d28c Gerrit-Change-Number: 17416 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 13:10:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:10:50 +0000 Subject: Change in libosmocore[master]: Add CTRL port number for osmo-mgw In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17417 ) Change subject: Add CTRL port number for osmo-mgw ...................................................................... Add CTRL port number for osmo-mgw Related: OS#4441 Change-Id: I70ae237ea27972f6819fd217c3d5059dda009486 --- M include/osmocom/ctrl/ports.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmocom/ctrl/ports.h b/include/osmocom/ctrl/ports.h index 25d2491..4c3b77f 100644 --- a/include/osmocom/ctrl/ports.h +++ b/include/osmocom/ctrl/ports.h @@ -24,4 +24,6 @@ #define OSMO_CTRL_PORT_GBPROXY 4263 /* 4264 used by VTY interface */ #define OSMO_CTRL_PORT_CBC 4265 +/* 4266 used by D-GSM mDNS */ +#define OSMO_CTRL_PORT_MGW 4267 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I70ae237ea27972f6819fd217c3d5059dda009486 Gerrit-Change-Number: 17417 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 13:50:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:50:31 +0000 Subject: Change in osmo-mgw[master]: fix vty dump_trunk: start from zero, do not omit first CONN References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17424 ) Change subject: fix vty dump_trunk: start from zero, do not omit first CONN ...................................................................... fix vty dump_trunk: start from zero, do not omit first CONN Change-Id: Ibb97fbf5c0b46ab841c3f6126b3622e4a8054feb --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/24/17424/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 5f9853b..3b61c30 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -255,7 +255,7 @@ return; } - for (i = 1; i < cfg->number_endpoints; ++i) { + 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); if (i < cfg->number_endpoints - 1) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb97fbf5c0b46ab841c3f6126b3622e4a8054feb Gerrit-Change-Number: 17424 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 Mar 8 13:50:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:50:31 +0000 Subject: Change in osmo-mgw[master]: Update per-trunk global packet/byte counters in real-time References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17425 ) Change subject: Update per-trunk global packet/byte counters in real-time ...................................................................... Update per-trunk global packet/byte counters in real-time We used to update only the per-connection rx/tx packet/byte counters on-the-fly, but not the per-trunk global counters. The latter would only be updated at the end of a connection. As MGCP connections can last quite long (think of a long phone call) this is maybe not the best of ideas. Note: The all_rtp:err_tstmp_in and all_rt:err_tstmp_out are still only updated at the end of a connection. Change-Id: Ib3866cb8149d3257fcf39733846c97c33881c4ee Related: OS#4437 --- M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_network.c 2 files changed, 28 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/25/17425/1 diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 60a1700..7a86274 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -259,7 +259,6 @@ { struct rate_ctr_group *all_stats = trunk->all_rtp_conn_stats; struct rate_ctr_group *conn_stats = conn_rtp->rate_ctr_group; - int i; if (all_stats == NULL || conn_stats == NULL) return; @@ -269,8 +268,11 @@ * All other counters in both counter groups correspond to each other. */ OSMO_ASSERT(conn_stats->desc->num_ctr + 1 == all_stats->desc->num_ctr); - for (i = 0; i < conn_stats->desc->num_ctr; i++) - rate_ctr_add(&all_stats->ctr[i], conn_stats->ctr[i].current); + /* all other counters are [now] updated in real-time */ + rate_ctr_add(&all_stats->ctr[IN_STREAM_ERR_TSTMP_CTR], + conn_stats->ctr[IN_STREAM_ERR_TSTMP_CTR].current); + rate_ctr_add(&all_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR], + conn_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR].current); rate_ctr_inc(&all_stats->ctr[RTP_NUM_CONNECTIONS]); } diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 53cdc06..cd60ce2 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -57,6 +57,22 @@ MGCP_PROTO_RTCP, }; +static void rtpconn_rate_ctr_add(struct mgcp_conn_rtp *conn_rtp, struct mgcp_endpoint *endp, + 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; + + /* add to both the per-connection and the per-trunk global stats */ + rate_ctr_add(&conn_stats->ctr[id], inc); + rate_ctr_add(&trunk_stats->ctr[id], inc); +} + +static void rtpconn_rate_ctr_inc(struct mgcp_conn_rtp *conn_rtp, struct mgcp_endpoint *endp, int id) +{ + rtpconn_rate_ctr_add(conn_rtp, endp, id, 1); +} + /*! Determine the local rtp bind IP-address. * \param[out] addr caller provided memory to store the resulting IP-Address * \param[in] endp mgcp endpoint, that holds a copy of the VTY parameters @@ -845,7 +861,7 @@ dest_name = conn_dst->conn->name; if (!rtp_end->output_enabled) { - rate_ctr_inc(&conn_dst->rate_ctr_group->ctr[RTP_DROPPED_PACKETS_CTR]); + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_DROPPED_PACKETS_CTR); LOGPENDP(endp, DRTP, LOGL_DEBUG, "output disabled, drop to %s %s " "rtp_port:%u rtcp_port:%u\n", @@ -924,8 +940,8 @@ if (len <= 0) return len; - rate_ctr_inc(&conn_dst->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]); - rate_ctr_add(&conn_dst->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR], len); + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); nbytes += len; buflen = cont; @@ -942,8 +958,8 @@ &rtp_end->addr, rtp_end->rtcp_port, buf, len); - rate_ctr_inc(&conn_dst->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]); - rate_ctr_add(&conn_dst->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR], len); + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); return len; } @@ -1189,8 +1205,8 @@ } /* Increment RX statistics */ - rate_ctr_inc(&conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]); - rate_ctr_add(&conn->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR], rc); + rtpconn_rate_ctr_inc(conn, endp, RTP_PACKETS_RX_CTR); + rtpconn_rate_ctr_add(conn, endp, RTP_OCTETS_RX_CTR, rc); /* Forward a copy of the RTP data to a debug ip/port */ forward_data(fd->fd, &conn->tap_in, buf, rc); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib3866cb8149d3257fcf39733846c97c33881c4ee Gerrit-Change-Number: 17425 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 Mar 8 13:51:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 13:51:24 +0000 Subject: Change in osmo-mgw[master]: fix vty dump_trunk: start from zero, do not omit first CONN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17424 ) Change subject: fix vty dump_trunk: start from zero, do not omit first CONN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb97fbf5c0b46ab841c3f6126b3622e4a8054feb Gerrit-Change-Number: 17424 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sun, 08 Mar 2020 13:51: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 Mar 8 14:01:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 14:01:58 +0000 Subject: Change in osmo-mgw[master]: fix vty dump_trunk: start from zero, do not omit first CONN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17424 ) Change subject: fix vty dump_trunk: start from zero, do not omit first CONN ...................................................................... fix vty dump_trunk: start from zero, do not omit first CONN Change-Id: Ibb97fbf5c0b46ab841c3f6126b3622e4a8054feb --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: 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 5f9853b..3b61c30 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -255,7 +255,7 @@ return; } - for (i = 1; i < cfg->number_endpoints; ++i) { + 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); if (i < cfg->number_endpoints - 1) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibb97fbf5c0b46ab841c3f6126b3622e4a8054feb Gerrit-Change-Number: 17424 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 Mar 8 16:27:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:27:14 +0000 Subject: Change in libosmocore[master]: gsmtap: Solve TCH / FACCH confusion once and for all References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17426 ) Change subject: gsmtap: Solve TCH / FACCH confusion once and for all ...................................................................... gsmtap: Solve TCH / FACCH confusion once and for all * What we used to call TCH/F and TCH/H in gsmtap are actually only FACCH/F and FACCH/H, i.e. the signaling part of Bm/Lm channels * Give them proper names with backwards compatibility #define * Split VOICE into VOICE_F and VOICE_H. If we don't differentiate this, a receiver is not able to determine the RSL channel ID of a frame without looking at external state/context. That in turn has been a design feature of GSMTAP Um format so far, and programs like osmo-bts-virtual rely on it. Change-Id: I952044a17334f35712e087dc41781805000aebc1 Related: OS#2557 --- M include/osmocom/core/gsmtap.h M include/osmocom/core/gsmtap_util.h M src/gsmtap_util.c 3 files changed, 40 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/17426/1 diff --git a/include/osmocom/core/gsmtap.h b/include/osmocom/core/gsmtap.h index 87c18e3..82e9525 100644 --- a/include/osmocom/core/gsmtap.h +++ b/include/osmocom/core/gsmtap.h @@ -82,8 +82,8 @@ #define GSMTAP_CHANNEL_SDCCH 0x06 #define GSMTAP_CHANNEL_SDCCH4 0x07 #define GSMTAP_CHANNEL_SDCCH8 0x08 -#define GSMTAP_CHANNEL_TCH_F 0x09 /* Actually, it's FACCH/F (signaling) */ -#define GSMTAP_CHANNEL_TCH_H 0x0a /* Actually, it's FACCH/H (signaling) */ +#define GSMTAP_CHANNEL_FACCH_F 0x09 /* Actually, it's FACCH/F (signaling) */ +#define GSMTAP_CHANNEL_FACCH_H 0x0a /* Actually, it's FACCH/H (signaling) */ #define GSMTAP_CHANNEL_PACCH 0x0b #define GSMTAP_CHANNEL_CBCH52 0x0c #define GSMTAP_CHANNEL_PDTCH 0x0d @@ -91,7 +91,10 @@ #define GSMTAP_CHANNEL_PDCH GSMTAP_CHANNEL_PDTCH #define GSMTAP_CHANNEL_PTCCH 0x0e #define GSMTAP_CHANNEL_CBCH51 0x0f -#define GSMTAP_CHANNEL_VOICE 0x10 /* voice codec payload (HR/FR/EFR/AMR) */ +#define GSMTAP_CHANNEL_VOICE_F 0x10 /* voice codec payload (FR/EFR/AMR) */ +#define GSMTAP_CHANNEL_VOICE_H 0x11 /* voice codec payload (HR/AMR) */ +#define GSMTAP_CHANNEL_TCH_F GSMTAP_CHANNEL_FACCH_F /* We used the wrong naming in 2008 when we were young */ +#define GSMTAP_CHANNEL_TCH_H GSMTAP_CHANNEL_FACCH_H /* We used the wrong naming in 2008 when we were young */ /* GPRS Coding Scheme CS1..4 */ #define GSMTAP_GPRS_CS_BASE 0x20 diff --git a/include/osmocom/core/gsmtap_util.h b/include/osmocom/core/gsmtap_util.h index f8a12a6..d583401 100644 --- a/include/osmocom/core/gsmtap_util.h +++ b/include/osmocom/core/gsmtap_util.h @@ -8,7 +8,11 @@ * @{ * \file gsmtap_util.h */ +uint8_t chantype_rsl2gsmtap2(uint8_t rsl_chantype, uint8_t rsl_link_id, bool user_plane); + uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id); + OSMO_DEPRECATED("Use chantype_rsl2gsmtap2() instead") + void chantype_gsmtap2rsl(uint8_t gsmtap_chantype, uint8_t *rsl_chantype, uint8_t *link_id); struct msgb *gsmtap_makemsg_ex(uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type, diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 40ec4b8..9a0ac02 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -54,18 +54,25 @@ /*! convert RSL channel number to GSMTAP channel type * \param[in] rsl_chantype RSL channel type * \param[in] link_id RSL link identifier + * \param[in] user_plane Is this voice/csd user plane (1) or signaling (0) * \returns GSMTAP channel type */ -uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t link_id) +uint8_t chantype_rsl2gsmtap2(uint8_t rsl_chantype, uint8_t link_id, bool user_plane) { uint8_t ret = GSMTAP_CHANNEL_UNKNOWN; switch (rsl_chantype) { case RSL_CHAN_Bm_ACCHs: - ret = GSMTAP_CHANNEL_TCH_F; + if (user_plane) + ret = GSMTAP_CHANNEL_VOICE_F; + else + ret = GSMTAP_CHANNEL_FACCH_F; break; case RSL_CHAN_Lm_ACCHs: - ret = GSMTAP_CHANNEL_TCH_H; + if (user_plane) + ret = GSMTAP_CHANNEL_VOICE_H; + else + ret = GSMTAP_CHANNEL_FACCH_H; break; case RSL_CHAN_SDCCH4_ACCH: ret = GSMTAP_CHANNEL_SDCCH4; @@ -100,6 +107,16 @@ return ret; } +/*! convert RSL channel number to GSMTAP channel type + * \param[in] rsl_chantype RSL channel type + * \param[in] link_id RSL link identifier + * \returns GSMTAP channel type + */ +uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t link_id) +{ + return chantype_rsl2gsmtap2(rsl_chantype, link_id, false); +} + /*! convert GSMTAP channel type to RSL channel number + Link ID * \param[in] gsmtap_chantype GSMTAP channel type * \param[out] rsl_chantype RSL channel mumber @@ -109,10 +126,12 @@ uint8_t *link_id) { switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) { - case GSMTAP_CHANNEL_TCH_F: // TCH/F, FACCH/F + case GSMTAP_CHANNEL_FACCH_F: + case GSMTAP_CHANNEL_VOICE_F: // TCH/F *rsl_chantype = RSL_CHAN_Bm_ACCHs; break; - case GSMTAP_CHANNEL_TCH_H: // TCH/H, FACCH/H + case GSMTAP_CHANNEL_FACCH_H: + case GSMTAP_CHANNEL_VOICE_H: // TCH/H *rsl_chantype = RSL_CHAN_Lm_ACCHs; break; case GSMTAP_CHANNEL_SDCCH4: // SDCCH/4 @@ -467,8 +486,8 @@ { GSMTAP_CHANNEL_SDCCH, "SDCCH" }, { GSMTAP_CHANNEL_SDCCH4, "SDCCH/4" }, { GSMTAP_CHANNEL_SDCCH8, "SDCCH/8" }, - { GSMTAP_CHANNEL_TCH_F, "TCH/F/FACCH/F" }, - { GSMTAP_CHANNEL_TCH_H, "TCH/H/FACCH/H" }, + { GSMTAP_CHANNEL_FACCH_F, "FACCH/F" }, + { GSMTAP_CHANNEL_FACCH_H, "FACCH/H" }, { GSMTAP_CHANNEL_PACCH, "PACCH" }, { GSMTAP_CHANNEL_CBCH52, "CBCH" }, { GSMTAP_CHANNEL_PDCH, "PDCH" } , @@ -477,9 +496,10 @@ { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH, "LSACCH" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH4, "SACCH/4" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH8, "SACCH/8" }, - { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_F, "SACCH/F" }, - { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_H, "SACCH/H" }, - { GSMTAP_CHANNEL_VOICE, "VOICE" }, + { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_FACCH_F, "SACCH/F" }, + { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_FACCH_H, "SACCH/H" }, + { GSMTAP_CHANNEL_VOICE_F, "TCH/F" }, + { GSMTAP_CHANNEL_VOICE_H, "TCH/H" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I952044a17334f35712e087dc41781805000aebc1 Gerrit-Change-Number: 17426 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 Mar 8 16:32:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:32:59 +0000 Subject: Change in libosmocore[master]: gsmtap: Solve TCH / FACCH confusion once and for all In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17426 ) Change subject: gsmtap: Solve TCH / FACCH confusion once and for all ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I952044a17334f35712e087dc41781805000aebc1 Gerrit-Change-Number: 17426 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 16:32: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 Mar 8 16:33:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:33:03 +0000 Subject: Change in libosmocore[master]: gsmtap: Solve TCH / FACCH confusion once and for all In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17426 ) Change subject: gsmtap: Solve TCH / FACCH confusion once and for all ...................................................................... gsmtap: Solve TCH / FACCH confusion once and for all * What we used to call TCH/F and TCH/H in gsmtap are actually only FACCH/F and FACCH/H, i.e. the signaling part of Bm/Lm channels * Give them proper names with backwards compatibility #define * Split VOICE into VOICE_F and VOICE_H. If we don't differentiate this, a receiver is not able to determine the RSL channel ID of a frame without looking at external state/context. That in turn has been a design feature of GSMTAP Um format so far, and programs like osmo-bts-virtual rely on it. Change-Id: I952044a17334f35712e087dc41781805000aebc1 Related: OS#2557 --- M include/osmocom/core/gsmtap.h M include/osmocom/core/gsmtap_util.h M src/gsmtap_util.c 3 files changed, 40 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/core/gsmtap.h b/include/osmocom/core/gsmtap.h index 87c18e3..82e9525 100644 --- a/include/osmocom/core/gsmtap.h +++ b/include/osmocom/core/gsmtap.h @@ -82,8 +82,8 @@ #define GSMTAP_CHANNEL_SDCCH 0x06 #define GSMTAP_CHANNEL_SDCCH4 0x07 #define GSMTAP_CHANNEL_SDCCH8 0x08 -#define GSMTAP_CHANNEL_TCH_F 0x09 /* Actually, it's FACCH/F (signaling) */ -#define GSMTAP_CHANNEL_TCH_H 0x0a /* Actually, it's FACCH/H (signaling) */ +#define GSMTAP_CHANNEL_FACCH_F 0x09 /* Actually, it's FACCH/F (signaling) */ +#define GSMTAP_CHANNEL_FACCH_H 0x0a /* Actually, it's FACCH/H (signaling) */ #define GSMTAP_CHANNEL_PACCH 0x0b #define GSMTAP_CHANNEL_CBCH52 0x0c #define GSMTAP_CHANNEL_PDTCH 0x0d @@ -91,7 +91,10 @@ #define GSMTAP_CHANNEL_PDCH GSMTAP_CHANNEL_PDTCH #define GSMTAP_CHANNEL_PTCCH 0x0e #define GSMTAP_CHANNEL_CBCH51 0x0f -#define GSMTAP_CHANNEL_VOICE 0x10 /* voice codec payload (HR/FR/EFR/AMR) */ +#define GSMTAP_CHANNEL_VOICE_F 0x10 /* voice codec payload (FR/EFR/AMR) */ +#define GSMTAP_CHANNEL_VOICE_H 0x11 /* voice codec payload (HR/AMR) */ +#define GSMTAP_CHANNEL_TCH_F GSMTAP_CHANNEL_FACCH_F /* We used the wrong naming in 2008 when we were young */ +#define GSMTAP_CHANNEL_TCH_H GSMTAP_CHANNEL_FACCH_H /* We used the wrong naming in 2008 when we were young */ /* GPRS Coding Scheme CS1..4 */ #define GSMTAP_GPRS_CS_BASE 0x20 diff --git a/include/osmocom/core/gsmtap_util.h b/include/osmocom/core/gsmtap_util.h index f8a12a6..d583401 100644 --- a/include/osmocom/core/gsmtap_util.h +++ b/include/osmocom/core/gsmtap_util.h @@ -8,7 +8,11 @@ * @{ * \file gsmtap_util.h */ +uint8_t chantype_rsl2gsmtap2(uint8_t rsl_chantype, uint8_t rsl_link_id, bool user_plane); + uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id); + OSMO_DEPRECATED("Use chantype_rsl2gsmtap2() instead") + void chantype_gsmtap2rsl(uint8_t gsmtap_chantype, uint8_t *rsl_chantype, uint8_t *link_id); struct msgb *gsmtap_makemsg_ex(uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type, diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 40ec4b8..9a0ac02 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -54,18 +54,25 @@ /*! convert RSL channel number to GSMTAP channel type * \param[in] rsl_chantype RSL channel type * \param[in] link_id RSL link identifier + * \param[in] user_plane Is this voice/csd user plane (1) or signaling (0) * \returns GSMTAP channel type */ -uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t link_id) +uint8_t chantype_rsl2gsmtap2(uint8_t rsl_chantype, uint8_t link_id, bool user_plane) { uint8_t ret = GSMTAP_CHANNEL_UNKNOWN; switch (rsl_chantype) { case RSL_CHAN_Bm_ACCHs: - ret = GSMTAP_CHANNEL_TCH_F; + if (user_plane) + ret = GSMTAP_CHANNEL_VOICE_F; + else + ret = GSMTAP_CHANNEL_FACCH_F; break; case RSL_CHAN_Lm_ACCHs: - ret = GSMTAP_CHANNEL_TCH_H; + if (user_plane) + ret = GSMTAP_CHANNEL_VOICE_H; + else + ret = GSMTAP_CHANNEL_FACCH_H; break; case RSL_CHAN_SDCCH4_ACCH: ret = GSMTAP_CHANNEL_SDCCH4; @@ -100,6 +107,16 @@ return ret; } +/*! convert RSL channel number to GSMTAP channel type + * \param[in] rsl_chantype RSL channel type + * \param[in] link_id RSL link identifier + * \returns GSMTAP channel type + */ +uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t link_id) +{ + return chantype_rsl2gsmtap2(rsl_chantype, link_id, false); +} + /*! convert GSMTAP channel type to RSL channel number + Link ID * \param[in] gsmtap_chantype GSMTAP channel type * \param[out] rsl_chantype RSL channel mumber @@ -109,10 +126,12 @@ uint8_t *link_id) { switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) { - case GSMTAP_CHANNEL_TCH_F: // TCH/F, FACCH/F + case GSMTAP_CHANNEL_FACCH_F: + case GSMTAP_CHANNEL_VOICE_F: // TCH/F *rsl_chantype = RSL_CHAN_Bm_ACCHs; break; - case GSMTAP_CHANNEL_TCH_H: // TCH/H, FACCH/H + case GSMTAP_CHANNEL_FACCH_H: + case GSMTAP_CHANNEL_VOICE_H: // TCH/H *rsl_chantype = RSL_CHAN_Lm_ACCHs; break; case GSMTAP_CHANNEL_SDCCH4: // SDCCH/4 @@ -467,8 +486,8 @@ { GSMTAP_CHANNEL_SDCCH, "SDCCH" }, { GSMTAP_CHANNEL_SDCCH4, "SDCCH/4" }, { GSMTAP_CHANNEL_SDCCH8, "SDCCH/8" }, - { GSMTAP_CHANNEL_TCH_F, "TCH/F/FACCH/F" }, - { GSMTAP_CHANNEL_TCH_H, "TCH/H/FACCH/H" }, + { GSMTAP_CHANNEL_FACCH_F, "FACCH/F" }, + { GSMTAP_CHANNEL_FACCH_H, "FACCH/H" }, { GSMTAP_CHANNEL_PACCH, "PACCH" }, { GSMTAP_CHANNEL_CBCH52, "CBCH" }, { GSMTAP_CHANNEL_PDCH, "PDCH" } , @@ -477,9 +496,10 @@ { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH, "LSACCH" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH4, "SACCH/4" }, { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_SDCCH8, "SACCH/8" }, - { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_F, "SACCH/F" }, - { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_TCH_H, "SACCH/H" }, - { GSMTAP_CHANNEL_VOICE, "VOICE" }, + { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_FACCH_F, "SACCH/F" }, + { GSMTAP_CHANNEL_ACCH | GSMTAP_CHANNEL_FACCH_H, "SACCH/H" }, + { GSMTAP_CHANNEL_VOICE_F, "TCH/F" }, + { GSMTAP_CHANNEL_VOICE_H, "TCH/H" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I952044a17334f35712e087dc41781805000aebc1 Gerrit-Change-Number: 17426 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 Mar 8 16:33:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:33:10 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#4) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Depends: libosmocore.git I952044a17334f35712e087dc41781805000aebc1 Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 88 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/17377/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 4 Gerrit-Owner: neels 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 Sun Mar 8 16:33:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:33:10 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by osmith. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... rsl: make IP DSCP configurable Related: OS#4438 Depends: libosmo-abis I41603db8c1286660ad57ac1c78a8fb393a2b080b Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/rsl.c M src/common/vty.c 4 files changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/17401/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 Gerrit-PatchSet: 3 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 Sun Mar 8 16:33:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:33:10 +0000 Subject: Change in osmo-bts[master]: l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17427 ) Change subject: l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind ...................................................................... l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind In l1sap_ph_data_ind() we can use msgb_pull_l2() which is an exact implementation of the functionality there. In l1sap_tch_ind(), the existing code is actually wrong by making the assumption that the msgb contains exactly an entire osmo_phsap_prim. Better to also dynamically compute the number of bytes to ensure we only pull those ahead of the L2 header, no matter what their exact count. Change-Id: I13f7f8ba93795e40b1fb4a306fe765e059f642cf --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/27/17427/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 05dbb6f..673430d 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1355,8 +1355,7 @@ l1sap_tx_ciph_req(lchan->ts->trx, chan_nr, 1, 0); /* SDCCH, SACCH and FACCH all go to LAPDm */ - msgb_pull(msg, (msg->l2h - msg->data)); - msg->l1h = NULL; + msgb_pull_to_l2(msg); lapdm_phsap_up(&l1sap->oph, le); /* don't free, because we forwarded data */ @@ -1393,7 +1392,7 @@ if (gsm_bts_has_feature(trx->bts, BTS_FEAT_MEAS_PAYLOAD_COMB)) process_l1sap_meas_data(trx, l1sap, PRIM_TCH); - msgb_pull(msg, sizeof(*l1sap)); + msgb_pull_to_l2(msg); /* Low level layers always call us when TCH content is expected, even if * the content is not available due to decoding issues. Content not -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I13f7f8ba93795e40b1fb4a306fe765e059f642cf Gerrit-Change-Number: 17427 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 Mar 8 16:37:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:37:46 +0000 Subject: Change in libosmocore[master]: fixup depreciation warning References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17428 ) Change subject: fixup depreciation warning ...................................................................... fixup depreciation warning Change-Id: Id2d016939c3a6185cc3cfa8631da0c8d187a8c5a --- M include/osmocom/core/gsmtap_util.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/17428/1 diff --git a/include/osmocom/core/gsmtap_util.h b/include/osmocom/core/gsmtap_util.h index d583401..9b215be 100644 --- a/include/osmocom/core/gsmtap_util.h +++ b/include/osmocom/core/gsmtap_util.h @@ -10,8 +10,8 @@ uint8_t chantype_rsl2gsmtap2(uint8_t rsl_chantype, uint8_t rsl_link_id, bool user_plane); -uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id); - OSMO_DEPRECATED("Use chantype_rsl2gsmtap2() instead") +uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id) + OSMO_DEPRECATED("Use chantype_rsl2gsmtap2() instead"); void chantype_gsmtap2rsl(uint8_t gsmtap_chantype, uint8_t *rsl_chantype, uint8_t *link_id); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id2d016939c3a6185cc3cfa8631da0c8d187a8c5a Gerrit-Change-Number: 17428 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 Mar 8 16:42:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:42:36 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#5) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Depends: libosmocore.git I952044a17334f35712e087dc41781805000aebc1 Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 80 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/17377/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 5 Gerrit-Owner: neels 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 Sun Mar 8 16:44:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:44:32 +0000 Subject: Change in osmo-bts[master]: l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17427 ) Change subject: l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I13f7f8ba93795e40b1fb4a306fe765e059f642cf Gerrit-Change-Number: 17427 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 16:44: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 Mar 8 16:45:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:45:20 +0000 Subject: Change in libosmocore[master]: fixup depreciation warning In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17428 ) Change subject: fixup depreciation warning ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id2d016939c3a6185cc3cfa8631da0c8d187a8c5a Gerrit-Change-Number: 17428 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 16:45: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 Mar 8 16:45:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:45:31 +0000 Subject: Change in libosmocore[master]: fixup depreciation warning In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17428 ) Change subject: fixup depreciation warning ...................................................................... fixup depreciation warning Change-Id: Id2d016939c3a6185cc3cfa8631da0c8d187a8c5a --- M include/osmocom/core/gsmtap_util.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/core/gsmtap_util.h b/include/osmocom/core/gsmtap_util.h index d583401..9b215be 100644 --- a/include/osmocom/core/gsmtap_util.h +++ b/include/osmocom/core/gsmtap_util.h @@ -10,8 +10,8 @@ uint8_t chantype_rsl2gsmtap2(uint8_t rsl_chantype, uint8_t rsl_link_id, bool user_plane); -uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id); - OSMO_DEPRECATED("Use chantype_rsl2gsmtap2() instead") +uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id) + OSMO_DEPRECATED("Use chantype_rsl2gsmtap2() instead"); void chantype_gsmtap2rsl(uint8_t gsmtap_chantype, uint8_t *rsl_chantype, uint8_t *link_id); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id2d016939c3a6185cc3cfa8631da0c8d187a8c5a Gerrit-Change-Number: 17428 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 Mar 8 16:53:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:53:31 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE 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/+/17415 to look at the new patch set (#3). Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... virt_phy: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 --- M src/host/virt_phy/configure.ac M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/virt_prim_traffic.c 3 files changed, 63 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/15/17415/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 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 Sun Mar 8 16:57:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:57:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#6) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Depends: libosmocore.git I952044a17334f35712e087dc41781805000aebc1 Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 79 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/17377/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 6 Gerrit-Owner: neels 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 Sun Mar 8 16:58:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:58:11 +0000 Subject: Change in osmo-mgw[master]: Update per-trunk global packet/byte counters in real-time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17425 ) Change subject: Update per-trunk global packet/byte counters in real-time ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib3866cb8149d3257fcf39733846c97c33881c4ee Gerrit-Change-Number: 17425 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 16: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 Mar 8 16:58:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 16:58:13 +0000 Subject: Change in osmo-mgw[master]: Update per-trunk global packet/byte counters in real-time In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17425 ) Change subject: Update per-trunk global packet/byte counters in real-time ...................................................................... Update per-trunk global packet/byte counters in real-time We used to update only the per-connection rx/tx packet/byte counters on-the-fly, but not the per-trunk global counters. The latter would only be updated at the end of a connection. As MGCP connections can last quite long (think of a long phone call) this is maybe not the best of ideas. Note: The all_rtp:err_tstmp_in and all_rt:err_tstmp_out are still only updated at the end of a connection. Change-Id: Ib3866cb8149d3257fcf39733846c97c33881c4ee Related: OS#4437 --- M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_network.c 2 files changed, 28 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 60a1700..7a86274 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -259,7 +259,6 @@ { struct rate_ctr_group *all_stats = trunk->all_rtp_conn_stats; struct rate_ctr_group *conn_stats = conn_rtp->rate_ctr_group; - int i; if (all_stats == NULL || conn_stats == NULL) return; @@ -269,8 +268,11 @@ * All other counters in both counter groups correspond to each other. */ OSMO_ASSERT(conn_stats->desc->num_ctr + 1 == all_stats->desc->num_ctr); - for (i = 0; i < conn_stats->desc->num_ctr; i++) - rate_ctr_add(&all_stats->ctr[i], conn_stats->ctr[i].current); + /* all other counters are [now] updated in real-time */ + rate_ctr_add(&all_stats->ctr[IN_STREAM_ERR_TSTMP_CTR], + conn_stats->ctr[IN_STREAM_ERR_TSTMP_CTR].current); + rate_ctr_add(&all_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR], + conn_stats->ctr[OUT_STREAM_ERR_TSTMP_CTR].current); rate_ctr_inc(&all_stats->ctr[RTP_NUM_CONNECTIONS]); } diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 53cdc06..cd60ce2 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -57,6 +57,22 @@ MGCP_PROTO_RTCP, }; +static void rtpconn_rate_ctr_add(struct mgcp_conn_rtp *conn_rtp, struct mgcp_endpoint *endp, + 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; + + /* add to both the per-connection and the per-trunk global stats */ + rate_ctr_add(&conn_stats->ctr[id], inc); + rate_ctr_add(&trunk_stats->ctr[id], inc); +} + +static void rtpconn_rate_ctr_inc(struct mgcp_conn_rtp *conn_rtp, struct mgcp_endpoint *endp, int id) +{ + rtpconn_rate_ctr_add(conn_rtp, endp, id, 1); +} + /*! Determine the local rtp bind IP-address. * \param[out] addr caller provided memory to store the resulting IP-Address * \param[in] endp mgcp endpoint, that holds a copy of the VTY parameters @@ -845,7 +861,7 @@ dest_name = conn_dst->conn->name; if (!rtp_end->output_enabled) { - rate_ctr_inc(&conn_dst->rate_ctr_group->ctr[RTP_DROPPED_PACKETS_CTR]); + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_DROPPED_PACKETS_CTR); LOGPENDP(endp, DRTP, LOGL_DEBUG, "output disabled, drop to %s %s " "rtp_port:%u rtcp_port:%u\n", @@ -924,8 +940,8 @@ if (len <= 0) return len; - rate_ctr_inc(&conn_dst->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]); - rate_ctr_add(&conn_dst->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR], len); + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); nbytes += len; buflen = cont; @@ -942,8 +958,8 @@ &rtp_end->addr, rtp_end->rtcp_port, buf, len); - rate_ctr_inc(&conn_dst->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]); - rate_ctr_add(&conn_dst->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR], len); + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); return len; } @@ -1189,8 +1205,8 @@ } /* Increment RX statistics */ - rate_ctr_inc(&conn->rate_ctr_group->ctr[RTP_PACKETS_RX_CTR]); - rate_ctr_add(&conn->rate_ctr_group->ctr[RTP_OCTETS_RX_CTR], rc); + rtpconn_rate_ctr_inc(conn, endp, RTP_PACKETS_RX_CTR); + rtpconn_rate_ctr_add(conn, endp, RTP_OCTETS_RX_CTR, rc); /* Forward a copy of the RTP data to a debug ip/port */ forward_data(fd->fd, &conn->tap_in, buf, rc); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib3866cb8149d3257fcf39733846c97c33881c4ee Gerrit-Change-Number: 17425 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 Mar 8 21:43:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 21:43:56 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17429 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Add rtp_test to show the double-bind bug of OS#4444 Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 --- M tests/Makefile.am A tests/rtp_test/rtp_test.c A tests/rtp_test/rtp_test.ok M tests/testsuite.at 4 files changed, 109 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/29/17429/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 8ee91bb..c81e55b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -6,7 +6,8 @@ e1inp_ipa_bts_test \ ipa_proxy_test \ subchan_demux/subchan_demux_test \ - ipa_recv/ipa_recv_test + ipa_recv/ipa_recv_test \ + rtp_test/rtp_test e1inp_ipa_bsc_test_SOURCES = e1inp_ipa_bsc_test.c e1inp_ipa_bsc_test_LDADD = $(top_builddir)/src/libosmoabis.la \ @@ -31,6 +32,11 @@ $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) +rtp_test_rtp_test_SOURCES = rtp_test/rtp_test.c +rtp_test_rtp_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. $(srcdir)/package.m4: $(top_srcdir)/configure.ac @@ -52,7 +58,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ subchan_demux/subchan_demux_test.ok \ - ipa_recv/ipa_recv_test.ok + ipa_recv/ipa_recv_test.ok \ + rtp_test/rtp_test.ok rtp_test/rtp_test.err TESTSUITE = $(srcdir)/testsuite diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c new file mode 100644 index 0000000..d696033 --- /dev/null +++ b/tests/rtp_test/rtp_test.c @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +static void *tall_test; + +static struct osmo_rtp_socket *create_bind_any(void) +{ + struct osmo_rtp_socket *rs; + int i; + + rs = osmo_rtp_socket_create(tall_test, 0); + for (i = 16384; i < 65535; i+=2) { + if (osmo_rtp_socket_bind(rs, "0.0.0.0", i) == 0) + return rs; + } + osmo_rtp_socket_free(rs); + return NULL; +} + +/* test if binding two sockets to the same local port fails (See OS#4444) */ +static void test_bind_fail(void) +{ + struct osmo_rtp_socket *rs[2]; + uint32_t ip; + int rc, port[2]; + + printf("First bind to any random local port...\n"); + rs[0] = create_bind_any(); + OSMO_ASSERT(rs[0]); + + /* then obtain the local port */ + rc = osmo_rtp_get_bound_ip_port(rs[0], &ip, &port[0]); + OSMO_ASSERT(rc == 0); + + printf("Now try to bind another socket to the same port: "); + rs[1] = osmo_rtp_socket_create(tall_test, 0); + OSMO_ASSERT(rs[1]); + rc = osmo_rtp_socket_bind(rs[1], "0.0.0.0", port[0]); + if (rc == -1 && errno == EADDRINUSE) + printf("OK (EADDRINUSE)\n"); + else { + printf("FAILED - second bind to port %u worked\n", port[0]); + fflush(stdout); + //OSMO_ASSERT(0); + } + + osmo_rtp_socket_free(rs[0]); + osmo_rtp_socket_free(rs[1]); +} + +#define DTEST 0 + +static const struct log_info_cat bts_test_cat[] = { + [DTEST] = { + .name = "DTEST", + .description = "test", + .color = "\033[1;35m", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, +}; + +static const struct log_info bts_test_log_info = { + .filter_fn = NULL, + .cat = bts_test_cat, + .num_cat = ARRAY_SIZE(bts_test_cat), +}; + + +int main(int argc, char **argv) +{ + tall_test = talloc_named_const(NULL, 1, "rtp_test"); + osmo_init_logging2(tall_test, &bts_test_log_info); + osmo_rtp_init(tall_test); + + test_bind_fail(); + + exit(0); +} + diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok new file mode 100644 index 0000000..ded2792 --- /dev/null +++ b/tests/rtp_test/rtp_test.ok @@ -0,0 +1,2 @@ +First bind to any random local port... +Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked diff --git a/tests/testsuite.at b/tests/testsuite.at index ff550b0..5e87248 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -23,3 +23,9 @@ AT_CHECK([$abs_top_builddir/tests/subchan_demux/subchan_demux_test], [], [expout]) AT_CLEANUP +AT_SETUP([rtp_test]) +AT_KEYWORDS([rtp_test]) +cat $abs_srcdir/rtp_test/rtp_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/rtp_test/rtp_test], [ignore], [expout]) +AT_CLEANUP + -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 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 Mar 8 21:43:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 21:43:56 +0000 Subject: Change in libosmo-abis[master]: ortp: disable SO_REUSEADDR + SO_REUSEPORT References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17430 ) Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... ortp: disable SO_REUSEADDR + SO_REUSEPORT ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and SO_REUSEPORT, and has both enabled by default. The latter means that we can end up with non-unique port bindings as we will not fail to bind the same port twice. This should have caused visible problems not only when operating multiple osmo-bts on one machine (rare), but also with a single osmo-bts. Once the range (default 16384-17407 ) wraps, there is a risk of new sockets (for new cals) colliding with old ones. As two ports (RTP+RTCP) are used per call, this means every 512 voice calls we expect the BTS to wrap. And from that point onwards there's a risk of overlapping with previously allocated sockets. Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Closes: OS#4444 --- M src/trau/osmo_ortp.c M tests/rtp_test/rtp_test.c M tests/rtp_test/rtp_test.ok 3 files changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/30/17430/1 diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 8b81e37..c070915 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -378,6 +378,12 @@ rtp_session_set_profile(rs->sess, osmo_pt_profile); rtp_session_set_jitter_compensation(rs->sess, 100); + /* ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and + * SO_REUSEPORT, and has both enabled by default. The latter means that + * we can end up with non-unique port bindings as we will not fail to + * bind the same port twice */ + rtp_session_set_reuseaddr(rs->sess, false); + rtp_session_signal_connect(rs->sess, "ssrc_changed", (RtpCallback) ortp_sig_cb_ssrc, RTP_SIGNAL_PTR_CAST(rs)); diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c index d696033..ae7d8ef 100644 --- a/tests/rtp_test/rtp_test.c +++ b/tests/rtp_test/rtp_test.c @@ -54,7 +54,7 @@ else { printf("FAILED - second bind to port %u worked\n", port[0]); fflush(stdout); - //OSMO_ASSERT(0); + OSMO_ASSERT(0); } osmo_rtp_socket_free(rs[0]); diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok index ded2792..ddb68a4 100644 --- a/tests/rtp_test/rtp_test.ok +++ b/tests/rtp_test/rtp_test.ok @@ -1,2 +1,2 @@ First bind to any random local port... -Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked +Now try to bind another socket to the same port: OK (EADDRINUSE) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17430 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 Mar 8 22:41:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:41:43 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program In-Reply-To: References: Message-ID: Hello fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/mncc-python/+/17402 to look at the new patch set (#3). Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... initial checkin of 'osmo-rtpsource' program osmo-rtpsource is a small utility program which is generating RTP flows at a constant rate of 20ms, as required in most IP based telphony. The payload currently is hard-coded. Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a --- A rtpsource/Makefile A rtpsource/ctrl_if.c A rtpsource/internal.h A rtpsource/rtpsource.c 4 files changed, 440 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/02/17402/3 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:41:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:41:44 +0000 Subject: Change in mncc-python[master]: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/mncc-python/+/17431 ) Change subject: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt ...................................................................... rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt Change-Id: Ia742180326f3d945eb7933cebbef3fd17d127d51 --- M rtpsource/internal.h M rtpsource/rtpsource.c 2 files changed, 28 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/31/17431/1 diff --git a/rtpsource/internal.h b/rtpsource/internal.h index 788b695..13d07aa 100644 --- a/rtpsource/internal.h +++ b/rtpsource/internal.h @@ -27,6 +27,7 @@ struct llist_head connections; struct osmo_fd timer_ofd; struct ctrl_handle *ctrl; + char *rtp_bind_ip; }; extern struct rtpsource_state *g_rss; diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c index 58e6bf0..569d962 100644 --- a/rtpsource/rtpsource.c +++ b/rtpsource/rtpsource.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -77,7 +78,7 @@ conn->rtp_sock = osmo_rtp_socket_create(conn, OSMO_RTP_F_POLL); OSMO_ASSERT(conn->rtp_sock); - rc = osmo_rtp_socket_bind(conn->rtp_sock, "127.23.23.23", -1); + rc = osmo_rtp_socket_bind(conn->rtp_sock, rss->rtp_bind_ip, -1); OSMO_ASSERT(rc == 0); rc = osmo_rtp_get_bound_addr(conn->rtp_sock, &host, &port); @@ -200,6 +201,28 @@ } } +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + const struct option long_options[] = { + {"rtp-bind-ip", 1, 0, 'r' }, + { 0, 0, 0, 0} + }; + c = getopt_long(argc, argv, "r:", long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'r': + g_rss->rtp_bind_ip = optarg; + break; + default: + break; + } + } +} + int main(int argc, char **argv) { struct timespec interval = { @@ -226,6 +249,9 @@ g_rss = talloc_zero(g_tall_ctx, struct rtpsource_state); OSMO_ASSERT(g_rss); INIT_LLIST_HEAD(&g_rss->connections); + g_rss->rtp_bind_ip = "127.23.23.23"; + + handle_options(argc, argv); /* Create CTRL interface */ //g_rss->ctrl = ctrl_interface_setup_dynip(g_rss, ctrl_vty_get_bind_addr(), 11111, NULL); -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ia742180326f3d945eb7933cebbef3fd17d127d51 Gerrit-Change-Number: 17431 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 Mar 8 22:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:44:29 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 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/+/17429 to look at the new patch set (#2). Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Add rtp_test to show the double-bind bug of OS#4444 Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 --- M tests/Makefile.am A tests/rtp_test/rtp_test.c A tests/rtp_test/rtp_test.err A tests/rtp_test/rtp_test.ok M tests/testsuite.at 5 files changed, 110 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/29/17429/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:46:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:46:12 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17402 ) Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/mncc-python/+/17402/1/rtpsource/ctrl_if.c File rtpsource/ctrl_if.c: https://gerrit.osmocom.org/c/mncc-python/+/17402/1/rtpsource/ctrl_if.c at 43 PS1, Line 43: talloc_asprintf > Will this chunk of memory be free()d at all? Looks like a memleak to me, because in two previous cmd [?] it's a good question. I've actually used the same pattern as in other osmocom programs, which do it like that. And yes, I assume it's hiearchical free when cmd is freed. -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:46:12 +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 Sun Mar 8 22:46:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:46:34 +0000 Subject: Change in mncc-python[master]: mncc_{test, mt_loedgen}.py: don't start calls automatically In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17404 ) Change subject: mncc_{test,mt_loedgen}.py: don't start calls automatically ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I3173b94f5a5b8baea4a111193a7894b673272a24 Gerrit-Change-Number: 17404 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 08 Mar 2020 22: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 Sun Mar 8 22:46:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:46:42 +0000 Subject: Change in mncc-python[master]: mncc_{test, mg_loadgen}.py: Add a manual call-release function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17405 ) Change subject: mncc_{test,mg_loadgen}.py: Add a manual call-release function ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I30265b765f03bd0485bdaa7d6be6d95ad678b0ee Gerrit-Change-Number: 17405 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:46: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 Mar 8 22:46:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:46:56 +0000 Subject: Change in mncc-python[master]: mncc_test: add calls() to initiate series of calls In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17406 ) Change subject: mncc_test: add calls() to initiate series of calls ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0cec9e5dc52e62247da8a3bec47917f929bde5be Gerrit-Change-Number: 17406 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22: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 Sun Mar 8 22:47:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:47:04 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17409 ) Change subject: mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I8816ccb8c7dce2958496c81a95f1a91bc33e772b Gerrit-Change-Number: 17409 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:47:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:47:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:47:48 +0000 Subject: Change in mncc-python[master]: GsmCallFsm: permit MNCC_REL_CNF in state ACTIVE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17410 ) Change subject: GsmCallFsm: permit MNCC_REL_CNF in state ACTIVE ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/mncc-python/+/17410/2/gsm_call_fsm.py File gsm_call_fsm.py: https://gerrit.osmocom.org/c/mncc-python/+/17410/2/gsm_call_fsm.py at 183 PS2, Line 183: ('mncc_rel_cnf', ['RELEASE_REQUEST','ACTIVE'], 'NULL'), actually, it seesm depending on the type of failure in the MSC, MGW or BSC, we may expect MNCC_REL_CNF in any state, so the code here should be adjusted. -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0d65da82fbcc48c8967a65b917ea14121bd941f3 Gerrit-Change-Number: 17410 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:47: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 Sun Mar 8 22:47:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:47:54 +0000 Subject: Change in mncc-python[master]: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17431 ) Change subject: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ia742180326f3d945eb7933cebbef3fd17d127d51 Gerrit-Change-Number: 17431 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:47:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:48:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:09 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17403 ) Change subject: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 Gerrit-Change-Number: 17403 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:48: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 Mar 8 22:48:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:39 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17402 ) Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:48:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:48:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:45 +0000 Subject: Change in mncc-python[master]: initial checkin of 'osmo-rtpsource' program In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17402 ) Change subject: initial checkin of 'osmo-rtpsource' program ...................................................................... initial checkin of 'osmo-rtpsource' program osmo-rtpsource is a small utility program which is generating RTP flows at a constant rate of 20ms, as required in most IP based telphony. The payload currently is hard-coded. Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a --- A rtpsource/Makefile A rtpsource/ctrl_if.c A rtpsource/internal.h A rtpsource/rtpsource.c 4 files changed, 440 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/rtpsource/Makefile b/rtpsource/Makefile new file mode 100644 index 0000000..9972325 --- /dev/null +++ b/rtpsource/Makefile @@ -0,0 +1,15 @@ +OSMO_CFLAGS:=$(shell pkg-config --cflags libosmocore libosmoctrl libosmotrau) +OSMO_LIBS:=$(shell pkg-config --libs libosmocore libosmoctrl libosmotrau) + +CFLAGS:= -g -Wall $(OSMO_CFLAGS) +LIBS:= $(OSMO_LIBS) + +rtpsource: rtpsource.o ctrl_if.o + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + +%.o: %.c + $(CC) $(CFLAGS) -o $@ -c $^ + +clean: + @rm -f rtpsource *.o diff --git a/rtpsource/ctrl_if.c b/rtpsource/ctrl_if.c new file mode 100644 index 0000000..708fb02 --- /dev/null +++ b/rtpsource/ctrl_if.c @@ -0,0 +1,131 @@ +/* CTRL interface of rtpsource program + * + * (C) 2020 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include + +#include "internal.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; + + if (find_connection_by_cname(g_rss, cname)) { + cmd->reply = "Connection already exists for cname"; + return CTRL_CMD_ERROR; + } + + conn = create_connection(g_rss, cname); + if (!conn) { + cmd->reply = "Error creating RTP connection"; + return CTRL_CMD_ERROR; + } + + /* Respond */ + cmd->reply = talloc_asprintf(cmd, "%s,%s,%d", conn->cname, conn->local_host, conn->local_port); + return CTRL_CMD_REPLY; +} + +CTRL_CMD_DEFINE_WO_NOVRF(rtp_connect, "rtp_connect"); +static int set_rtp_connect(struct ctrl_cmd *cmd, void *data) +{ + struct rtp_connection *conn; + const char *cname, *remote_host, *remote_port, *pt; + char *tmp, *saveptr; + int rc; + + tmp = talloc_strdup(cmd, cmd->value); + OSMO_ASSERT(tmp); + + /* FIXME: parse command */ + cname = strtok_r(tmp, ",", &saveptr); + remote_host = strtok_r(NULL, ",", &saveptr); + remote_port = strtok_r(NULL, ",", &saveptr); + pt = strtok_r(NULL, ",", &saveptr); + + if (!cname || !remote_host || !remote_port || !pt) { + cmd->reply = "Format is cname,remote_host,remote_port,pt"; + talloc_free(tmp); + return CTRL_CMD_ERROR; + } + + conn = find_connection_by_cname(g_rss, cname); + if (!conn) { + cmd->reply = "Error finding RTP connection for connect"; + talloc_free(tmp); + return CTRL_CMD_ERROR; + } + + rc = connect_connection(conn, remote_host, atoi(remote_port), atoi(pt)); + if (rc < 0) { + cmd->reply = "Error binding RTP connection"; + talloc_free(tmp); + return CTRL_CMD_ERROR; + } + + /* Respond */ + talloc_free(tmp); + cmd->reply = talloc_asprintf(cmd, "%s,%s,%d,%d", conn->cname, conn->remote_host, + conn->remote_port, conn->rtp_pt); + return CTRL_CMD_REPLY; +} + +CTRL_CMD_DEFINE_WO_NOVRF(rtp_delete, "rtp_delete"); +static int set_rtp_delete(struct ctrl_cmd *cmd, void *data) +{ + struct rtp_connection *conn; + const char *cname = cmd->value; + + conn = find_connection_by_cname(g_rss, cname); + if (!conn) { + cmd->reply = "Error finding RTP connection for delete"; + return CTRL_CMD_ERROR; + } + cmd->reply = talloc_asprintf(cmd, "%s", conn->cname); + + delete_connection(conn); + + /* Respond */ + return CTRL_CMD_REPLY; +} + + + + + +int rtpsource_ctrl_cmds_install(void) +{ + int rc; + + rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rtp_create); + if (rc) + goto end; + + rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rtp_connect); + if (rc) + goto end; + + rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rtp_delete); + if (rc) + goto end; +end: + return rc; +} diff --git a/rtpsource/internal.h b/rtpsource/internal.h new file mode 100644 index 0000000..788b695 --- /dev/null +++ b/rtpsource/internal.h @@ -0,0 +1,46 @@ +#pragma once +#include +#include +#include +#include + +enum { + DMAIN, +}; + +struct rtp_connection { + struct llist_head list; + + struct osmo_rtp_socket *rtp_sock; + char *cname; + + char *local_host; + uint16_t local_port; + + char *remote_host; + uint16_t remote_port; + + uint8_t rtp_pt; +}; + +struct rtpsource_state { + struct llist_head connections; + struct osmo_fd timer_ofd; + struct ctrl_handle *ctrl; +}; +extern struct rtpsource_state *g_rss; + +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); + +int connect_connection(struct rtp_connection *conn, const char *remote_host, + uint16_t remote_port, uint8_t pt); + +void delete_connection(struct rtp_connection *conn); + + +int rtpsource_ctrl_cmds_install(void); + +#define CLOGP(conn, subsys, lvl, fmt, args ...) \ + LOGP(subsys, lvl, "[%s]: " fmt, (conn)->cname, ## args) diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c new file mode 100644 index 0000000..58e6bf0 --- /dev/null +++ b/rtpsource/rtpsource.c @@ -0,0 +1,248 @@ +/* rtpsource program: RTP load generator + * + * This program binds a CTRL interface to 127.0.0.1:11111 and waits for + * an external entity to issue CTRL commands, such as rtp_create, rtp_connect + * and rtp_delete. Those commands are used to create+bind, connect and destroy + * local RTP connections. + * + * Each connection will send a RTP frame with dummy payload every 20ms. + * + * This is useful for load testing scenarios + * + * (C) 2020 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include + +#include "internal.h" + + +/* find a connection based on its CNAME */ +struct rtp_connection *find_connection_by_cname(struct rtpsource_state *rss, const char *cname) +{ + struct rtp_connection *conn; + llist_for_each_entry(conn, &rss->connections, list) { + if (!strcmp(cname, conn->cname)) + return conn; + } + return NULL; +} + +/* 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 *conn; + const char *host; + int port; + int rc; + + OSMO_ASSERT(!find_connection_by_cname(rss, cname)); + + conn = talloc_zero(rss, struct rtp_connection); + OSMO_ASSERT(conn); + conn->cname = talloc_strdup(conn, cname); + + conn->rtp_sock = osmo_rtp_socket_create(conn, OSMO_RTP_F_POLL); + OSMO_ASSERT(conn->rtp_sock); + + rc = osmo_rtp_socket_bind(conn->rtp_sock, "127.23.23.23", -1); + OSMO_ASSERT(rc == 0); + + rc = osmo_rtp_get_bound_addr(conn->rtp_sock, &host, &port); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(port >= 0 && port <= 0xffff); + conn->local_port = port; + conn->local_host = talloc_strdup(conn, host); + + osmo_rtp_set_source_desc(conn->rtp_sock, conn->cname, "rtpsource", NULL, NULL, + NULL, "osmo-rtpsource", NULL); + + 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); + + + return conn; +} + +/* connect a RTP connection to a given remote peer */ +int connect_connection(struct rtp_connection *conn, const char *remote_host, + uint16_t remote_port, uint8_t pt) +{ + int rc; + + conn->remote_host = talloc_strdup(conn, remote_host); + conn->remote_port = remote_port; + conn->rtp_pt = pt; + + rc = osmo_rtp_socket_connect(conn->rtp_sock, conn->remote_host, conn->remote_port); + OSMO_ASSERT(rc == 0); + rc = osmo_rtp_socket_set_pt(conn->rtp_sock, conn->rtp_pt); + OSMO_ASSERT(rc == 0); + + CLOGP(conn, DMAIN, LOGL_INFO, "Connected RTP connection; remote=%s:%u\n", + conn->remote_host, conn->remote_port); + + return 0; +} + +/* delete a RTP connection */ +void delete_connection(struct rtp_connection *conn) +{ + char *prefix = talloc_asprintf(conn, "[%s]: STATS: ", conn->cname); + osmo_rtp_socket_log_stats(conn->rtp_sock, DMAIN, LOGL_INFO, prefix); + talloc_free(prefix); + osmo_rtp_socket_free(conn->rtp_sock); + conn->rtp_sock = NULL; + + CLOGP(conn, DMAIN, LOGL_INFO, "Deleted RTP connection\n"); + + llist_del(&conn->list); + talloc_free(conn); +} + + + + +/* called every 20ms at timerfd expiration */ +static int timerfd_cb(struct osmo_fd *ofd, unsigned int priv_nr) +{ + struct rtpsource_state *rss = ofd->data; + struct rtp_connection *conn; + uint64_t expire_count; + int rc; + + /* 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; + + if (expire_count > 1) + LOGP(DMAIN, LOGL_ERROR, "Timer expire_count=%"PRIu64" != 1\n", expire_count); + + /* 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); + /* 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); + } + return 0; +} + +static const struct log_info_cat rtpsource_cat[] = { + [DMAIN] = { + .name = "DMAIN", + .description ="Main Program", + .enabled = 1, + .loglevel = LOGL_INFO, + }, +}; + +const struct log_info rtpsource_log_info = { + .filter_fn = NULL, + .cat = rtpsource_cat, + .num_cat = ARRAY_SIZE(rtpsource_cat), +}; + +struct rtpsource_state *g_rss; +static void *g_tall_ctx; + +static void signal_handler(int signal) +{ + switch (signal) { + case SIGABRT: + /* in case of abort, we want to obtain a talloc report + * and then return to the caller, who will abort the process */ + case SIGUSR1: + talloc_report_full(g_tall_ctx, stderr); + break; + default: + break; + } +} + +int main(int argc, char **argv) +{ + struct timespec interval = { + .tv_sec = 0, + .tv_nsec = 20*1000*1000, /* every 20ms */ + }; + int rc; + + signal(SIGUSR1, &signal_handler); + signal(SIGABRT, &signal_handler); + + talloc_enable_null_tracking(); + g_tall_ctx = talloc_named_const(NULL, 1, "rtpsource"); + OSMO_ASSERT(g_tall_ctx); + + msgb_talloc_ctx_init(g_tall_ctx, 0); + //osmo_signal_talloc_ctx_init(g_tall_ctx); + osmo_init_logging2(g_tall_ctx, &rtpsource_log_info); + osmo_fsm_log_timeouts(true); + osmo_fsm_log_addr(true); + osmo_stats_init(g_tall_ctx); + osmo_rtp_init(g_tall_ctx); + + g_rss = talloc_zero(g_tall_ctx, struct rtpsource_state); + OSMO_ASSERT(g_rss); + INIT_LLIST_HEAD(&g_rss->connections); + + /* Create CTRL interface */ + //g_rss->ctrl = ctrl_interface_setup_dynip(g_rss, ctrl_vty_get_bind_addr(), 11111, NULL); + g_rss->ctrl = ctrl_interface_setup_dynip(g_rss, "127.0.0.1", 11111, NULL); + OSMO_ASSERT(g_rss->ctrl); + rc = rtpsource_ctrl_cmds_install(); + OSMO_ASSERT(rc == 0); + + /* create + register timerfd to expire every 20ms */ + g_rss->timer_ofd.fd = -1; + rc = osmo_timerfd_setup(&g_rss->timer_ofd, timerfd_cb, g_rss); + OSMO_ASSERT(rc == 0); + + rc = osmo_timerfd_schedule(&g_rss->timer_ofd, NULL, &interval); + OSMO_ASSERT(rc == 0); + + while (1) { + osmo_select_main(0); + } +} -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a Gerrit-Change-Number: 17402 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Sun Mar 8 22:48:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:45 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17403 ) Change subject: mncc_mt_loadgen.py: Program for MT call load testing with rtpsource ...................................................................... mncc_mt_loadgen.py: Program for MT call load testing with rtpsource This program (derived from mncc_test.py) is used to start MT calls via the MNCC interface of OsmoMSC. Every calls RTP is connected to the new 'rtpsource' process, which generates a realistic RTP flow in terms of number of packets (20ms interval) and payload size. Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 --- A ctrl.py A mncc_mt_loadgen.py 2 files changed, 258 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ctrl.py b/ctrl.py new file mode 100644 index 0000000..6f51684 --- /dev/null +++ b/ctrl.py @@ -0,0 +1,70 @@ +# Simple class for synchronous/blocking interface with a remote +# Osmocom program via the CTRL interface + +# (C) 2020 by Harald Welte +# +# Licensed under GNU General Public License, Version 2 or at your +# option, any later version. + +from osmopy.osmo_ipa import Ctrl +import socket + +class OsmoCtrlSimple: + '''Simple class for synchronous/blocking interface with a remote + Osmocom program via the CTRL interface''' + remote_host = "127.0.0.1" + remote_port = 0 + sock = None + + def __init__(self, host=None, port=None): + self.remote_host = host + self.remote_port = port + + def connect(self, host=None, port=None): + if host: + self.remote_host = host + if port: + self.remote_port = port + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setblocking(1) + self.sock.connect((self.remote_host, self.remote_port)) + return self.sock + + def disconnect(self): + self.sock.close() + self.sock = None + + def _leftovers(self, fl): + """ + Read outstanding data if any according to flags + """ + try: + data = self.sock.recv(1024, fl) + except socket.error as _: + return False + if len(data) != 0: + tail = data + while True: + (head, tail) = Ctrl().split_combined(tail) + print("Got message:", Ctrl().rem_header(head)) + if len(tail) == 0: + break + return True + return False + + def do_set_get(self, var, value = None): + self._leftovers(socket.MSG_DONTWAIT) + (r, c) = Ctrl().cmd(var, value) + self.sock.send(c) + while True: + ret = self.sock.recv(4096) + # handle multiple messages, ignore TRAPs + ret = Ctrl().skip_traps(ret) + if ret != None: + (i, k, v) = Ctrl().parse(ret) + break; + return (Ctrl().rem_header(ret),) + Ctrl().verify(ret, r, var, value) + + def set_var(self, var, val): + (a, _, _) = self.do_set_get(var, val) + return a diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py new file mode 100755 index 0000000..a7daabf --- /dev/null +++ b/mncc_mt_loadgen.py @@ -0,0 +1,188 @@ +#!/usr/bin/env python2 + +# Python testing tool for establishing mobile-terminated calls using +# the OsmoMSC MNCC interface. It wants to communicate via CTRL with a +# 'rtpsoucre' program which will take care of generating RtP flows +# for the MT calls that are established. +# +# (C) 2015, 2020 by Harald Welte +# +# Licensed under GNU General Public License, Version 2 or at your +# option, any later version. + +RTPSOURCE_CTRL_IP = "127.0.0.1" +RTPSOURCE_CTRL_PORT = 11111 + + +from gsm_call_fsm import GsmCallFsm, GSM48 +from mncc_sock import MnccSocket +from thread import start_new_thread +from ctrl import OsmoCtrlSimple +import pykka +import logging as log +import signal, sys, time +import readline, code +import socket +import struct +import mncc +from mncc_sock import mncc_rtp_msg + +def int2ipstr(addr): + '''Convert from an integer to a strinf-formatted IPv4 address''' + return socket.inet_ntoa(struct.pack("!I", addr)) + +def ipstr2int(addr): + '''Convert from a string-formatted IPv4 address to integer''' + return struct.unpack("!I", socket.inet_aton(addr))[0] + + +class MnccActor(pykka.ThreadingActor): + '''MnccActor provides an interface for GsmCallFsm to send MNCC messages''' + def __init__(self, mncc_sock): + super(MnccActor, self).__init__() + self.mncc_sock = mncc_sock + + def on_receive(self, message): + if message['type'] == 'send': + msg = message['msg'] + log.debug('MnccActor TxMNCC %s' % msg) + mncc_sock.send(msg) + else: + raise Exception('mncc', 'MnccActor Received unhandled %s' % message) + +def mncc_rx_thread(mncc_sock): + '''MNCC receive thread, broadcasting received MNCC packets to GsmCallFsm''' + while 1: + msg = mncc_sock.recv() + if msg == None: + raise Exception('mncc', 'MnccSocket disconnected') + + if msg.is_frame(): + log.warning("Dropping traffic frame: %s" % msg) + continue + + log.debug("MnccActor RxMNCC %s, broadcasting to Call FSMs" % msg) + # we simply broadcast to all calls + pykka.ActorRegistry.broadcast({'type': 'mncc', 'msg': msg}, GsmCallFsm) + + +class RtpSourceCtrlActor(pykka.ThreadingActor): + '''Actor for talking with the rtpsource program via an osmocom CTRL interface''' + def __init__(self, ctrl_host, ctrl_port=11111): + super(RtpSourceCtrlActor, self).__init__() + self.ctrl = OsmoCtrlSimple(ctrl_host, ctrl_port) + self.ctrl.connect() + + def _set_var(self, var, val): + (res, var, val) = self.ctrl.do_set_get(var, val) + log.debug('RtpSourceCtrlActor result=%s var=%s val=%s' % (res, var, val)) + return (res, var, val) + + def on_receive(self, message): + if message['type'] == 'rtp_create': + (res, var, val) = self._set_var('rtp_create', message['cname']) + 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': + val = '%s,%s,%u,%u' % (message['cname'], message['remote_host'], + message['remote_port'], message['payload_type']) + (res, var, val) = self._set_var('rtp_connect', val) + return res + elif message['type'] == 'rtp_delete': + (res, var, val) = self._set_var('rtp_delete', message['cname']) + return res + else: + raise Exception('ctrl', 'RtpSourceCtrlActor Received unhandled %s' % message) + + +class MTCallRtpsource(pykka.ThreadingActor): + '''Actor to start a network-initiated MT (mobile terminated) call to a given MSISDN, + connecting the RTP flow to an extenal rtpsource program''' + def __init__(self, mncc_act, ctrl_act, codecs_permitted = GSM48.AllCodecs): + super(MTCallRtpsource, self).__init__() + self.mncc_act = mncc_act + self.ctrl_act = ctrl_act + self.codecs_permitted = codecs_permitted + self.call = GsmCallFsm.start(self.mncc_act, self.actor_ref, True, self.codecs_permitted) + self.callref = self.call.ask({'type':'get_callref'}) + self.state = 'NULL' + self.rtp_msc = None + + def start_call(self, msisdn_called, msisdn_calling): + '''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 + r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref}) + self.ext_rtp_host = r['remote_host'] + self.ext_rtp_port = r['remote_port'] + # start the MNCC call FSM + self.call.tell({'type':'start_mt_call', + 'calling':self.msisdn_calling, 'called':self.msisdn_called}) + + def on_stop(self): + # Attempt to do a graceful shutdown by deleting the RTP connection from rtpsource + self.ctrl_act.ask({'type':'rtp_delete', 'cname':self.callref}) + self.call.stop() + + def on_failure(self, exception_type, exception_value, traceback): + # on_stop() is not called in case of failure; fix that + self.on_stop() + + def on_receive(self, message): + if message['type'] == 'rtp_create_ind': + # MSC+MGW informs us of the PLMN side IP/port + mncc_rtp_ind = message['rtp'] + # tell external rtpsourc to connect to this address + r = self.ctrl_act.ask({'type':'rtp_connect', 'cname':self.callref, + 'remote_host': int2ipstr(mncc_rtp_ind.ip), + 'remote_port': mncc_rtp_ind.port, + 'payload_type':3}) + # tell MSC to connect to ip/port @ rtpsource + mncc_rtp_conn = mncc_rtp_msg(msg_type=mncc.MNCC_RTP_CONNECT, callref=self.callref, + ip=ipstr2int(self.ext_rtp_host), port=self.ext_rtp_port) + self.mncc_act.tell({'type': 'send', 'msg': mncc_rtp_conn}) + elif message['type'] == 'call_state_change': + if message['new_state'] == 'NULL': + # Call FSM has reached the NULL state again (call terminated) + # on_stop() will clean up the RTP connection at rtpsource + self.stop() + + +# capture SIGINT (Ctrl+C) and stop all actors +def sigint_handler(signum, frame): + pykka.ActorRegistry.stop_all() + sys.exit(0) + +log.basicConfig(level = log.DEBUG, + format = "%(levelname)s %(filename)s:%(lineno)d %(message)s") + +signal.signal(signal.SIGINT, sigint_handler) + +# start the MnccSocket and associated pykka actor + rx thread +mncc_sock = MnccSocket() +mncc_act = MnccActor.start(mncc_sock) +start_new_thread(mncc_rx_thread, (mncc_sock,)) + +# connect via CTRL to rtpsource +rtpctrl_act = RtpSourceCtrlActor.start(RTPSOURCE_CTRL_IP, RTPSOURCE_CTRL_PORT) + +# convenience wrapper +def mt_call(msisdn_called, msisdn_calling = '123456789', codecs = GSM48.AllCodecs): + call_conn = MTCallRtpsource.start(mncc_act, rtpctrl_act, codecs).proxy() + call_conn.start_call(msisdn_called, msisdn_calling) + return call_conn + +# start one call automatically +mt_call('90001') + +# start a shell to enable the user to add more calls as needed +vars = globals().copy() +vars.update(locals()) +shell = code.InteractiveConsole(vars) +try: + shell.interact() +except SystemExit: + pass +# clan up after user leaves interactive shell +sigint_handler(signal.SIGINT, None) -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653 Gerrit-Change-Number: 17403 Gerrit-PatchSet: 3 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 Sun Mar 8 22:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:46 +0000 Subject: Change in mncc-python[master]: mncc_{test, mt_loedgen}.py: don't start calls automatically In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17404 ) Change subject: mncc_{test,mt_loedgen}.py: don't start calls automatically ...................................................................... mncc_{test,mt_loedgen}.py: don't start calls automatically Change-Id: I3173b94f5a5b8baea4a111193a7894b673272a24 --- M mncc_mt_loadgen.py M mncc_test.py 2 files changed, 12 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index a7daabf..b0862eb 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -173,8 +173,12 @@ call_conn.start_call(msisdn_called, msisdn_calling) return call_conn -# start one call automatically -mt_call('90001') +log.info("") +log.info("") +log.info("Start calls by typing:") +log.info(" mt_call('90001')") +log.info("") +log.info("") # start a shell to enable the user to add more calls as needed vars = globals().copy() diff --git a/mncc_test.py b/mncc_test.py index 508c5be..90610e4 100755 --- a/mncc_test.py +++ b/mncc_test.py @@ -65,15 +65,13 @@ return call_conn # start a first bogus call -connect_call("7839", "3802") -connect_call("3809", "3814") -connect_call("3805", "3806") -connect_call("3812", "3815") -connect_call("3807", "3811") -connect_call("3804", "3808") -connect_call("3803", "3813") -time.sleep(1) +log.info("") +log.info("") +log.info("Start calls by typing:") +log.info(' connect_call("90001", "90002")') +log.info("") +log.info("") # start a shell to enable the user to add more calls as needed vars = globals().copy() -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I3173b94f5a5b8baea4a111193a7894b673272a24 Gerrit-Change-Number: 17404 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Sun Mar 8 22:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:46 +0000 Subject: Change in mncc-python[master]: mncc_{test, mg_loadgen}.py: Add a manual call-release function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17405 ) Change subject: mncc_{test,mg_loadgen}.py: Add a manual call-release function ...................................................................... mncc_{test,mg_loadgen}.py: Add a manual call-release function Change-Id: I30265b765f03bd0485bdaa7d6be6d95ad678b0ee --- M gsm_call_fsm.py M mncc_mt_loadgen.py M mncc_test.py 3 files changed, 15 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py index a9ad8c0..c8bcf39 100644 --- a/gsm_call_fsm.py +++ b/gsm_call_fsm.py @@ -90,6 +90,10 @@ bearer_cap = mncc_bearer_cap(self.codecs_permitted)) self.mncc_ref.tell({'type': 'send', 'msg': msg}) + def _onmncc_disc_req(self, e): + msg = mncc_msg(msg_type = mncc.MNCC_DISC_REQ, callref = self.callref) + self.mncc_ref.tell({'type': 'send', 'msg': msg}) + def find_matching_codec(self, ms_codecs): # find common denominator of permitted codecs and MS codecs for i in self.codecs_permitted: @@ -182,6 +186,7 @@ ('onmncc_call_conf_ind', self._onmncc_call_conf_ind), ('onmncc_setup_cnf', self._onmncc_setup_cnf), ('onmncc_disc_ind', self._onmncc_disc_ind), + ('onmncc_disc_req', self._onmncc_disc_req), ('onenterNULL', self._onenter_NULL), ], ) @@ -302,6 +307,8 @@ self.connect_rtp(message['rtp']) elif message['type'] == 'get_callref': return self.callref + elif message['type'] == 'release': + self.fsm.mncc_disc_req(None) else: raise Exception('mncc', '%s: Unknown message %s' % (self, message)) @@ -366,3 +373,6 @@ self.rtp_created(message['called'], message['rtp']) #else: # raise Exception('mncc', 'GsmCallConnector Rx Unknown message %s' % message) + + def release(self): + self.call_a.tell({'type':'release'}) diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index b0862eb..6603e00 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -120,6 +120,9 @@ self.call.tell({'type':'start_mt_call', 'calling':self.msisdn_calling, 'called':self.msisdn_called}) + def release(self): + self.call.tell({'type':'release'}) + def on_stop(self): # Attempt to do a graceful shutdown by deleting the RTP connection from rtpsource self.ctrl_act.ask({'type':'rtp_delete', 'cname':self.callref}) diff --git a/mncc_test.py b/mncc_test.py index 90610e4..f92c94b 100755 --- a/mncc_test.py +++ b/mncc_test.py @@ -69,7 +69,8 @@ log.info("") log.info("") log.info("Start calls by typing:") -log.info(' connect_call("90001", "90002")') +log.info(' c = connect_call("90001", "90002")') +log.info(' c.release()') log.info("") log.info("") -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I30265b765f03bd0485bdaa7d6be6d95ad678b0ee Gerrit-Change-Number: 17405 Gerrit-PatchSet: 3 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 Sun Mar 8 22:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:46 +0000 Subject: Change in mncc-python[master]: mncc_test: add calls() to initiate series of calls In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17406 ) Change subject: mncc_test: add calls() to initiate series of calls ...................................................................... mncc_test: add calls() to initiate series of calls Change-Id: I0cec9e5dc52e62247da8a3bec47917f929bde5be --- M mncc_mt_loadgen.py M mncc_test.py 2 files changed, 25 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index 6603e00..a4c0c85 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -176,6 +176,14 @@ call_conn.start_call(msisdn_called, msisdn_calling) return call_conn +def calls(nr, ramp=1.0): + for i in range(nr): + a = 90001 + i + a = str(a) + print("%d: mt_call(%r)" % (i, a)) + mt_call(a) + time.sleep(ramp) + log.info("") log.info("") log.info("Start calls by typing:") diff --git a/mncc_test.py b/mncc_test.py index f92c94b..1fe0fca 100755 --- a/mncc_test.py +++ b/mncc_test.py @@ -16,6 +16,7 @@ import logging as log import signal, sys, time import readline, code +import time # MnccActor provides an interface for GsmCallFsm to send MNCC messages class MnccActor(pykka.ThreadingActor): @@ -64,6 +65,20 @@ call_conn.start_call_ab(msisdn_a, msisdn_b) return call_conn +def calls(nr, ramp=1.0): + if (nr & 1): + print('Only even numbers allowed, because each invocation has two call legs') + return + nr /= 2 + for i in range(nr): + a = 90001 + 2*i + b = a + 1 + a = str(a) + b = str(b) + print('%d: connect_call(%r, %r)' % (i, a, b)) + connect_call(a, b) + time.sleep(ramp) + # start a first bogus call log.info("") @@ -71,6 +86,8 @@ log.info("Start calls by typing:") log.info(' c = connect_call("90001", "90002")') log.info(' c.release()') +log.info('or') +log.info(' calls(200)') log.info("") log.info("") -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I0cec9e5dc52e62247da8a3bec47917f929bde5be Gerrit-Change-Number: 17406 Gerrit-PatchSet: 3 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 Sun Mar 8 22:48:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:48:47 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17409 ) Change subject: mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True ...................................................................... mncc_mt_loadgen: Don't call GsmCallFsm() with rtp_bridge=True rtp_bridge=True triggers the automatic transmission of a MNCC_RTP_CREATE when that call goes into ACTIVE state. We don't want this in the case of mncc_mt_loadgen, as we perform this at a much sooner point in time. Change-Id: I8816ccb8c7dce2958496c81a95f1a91bc33e772b --- M gsm_call_fsm.py M mncc_mt_loadgen.py 2 files changed, 1 insertion(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/gsm_call_fsm.py b/gsm_call_fsm.py index c8bcf39..5f846e1 100644 --- a/gsm_call_fsm.py +++ b/gsm_call_fsm.py @@ -228,8 +228,6 @@ # RTP def _do_mncc_rtp_create_ind(self, mncc_msg): - if self.rtp_bridge == False: - raise Exception('GsmCallFsm', 'rtp_create_ind but not in RTP bridge mode') self.rtp = mncc_msg # notify the call controller about this self.ctrl_ref.tell({'type':'rtp_create_ind', 'called':self.called, 'rtp':self.rtp}) @@ -336,8 +334,6 @@ def rtp_created(self, msisdn, rtp): log.info('CallConnector:rtp_created(%s) %s' % (msisdn, rtp)) - if self.rtp_bridge == False: - raise Exception('GsmCallConnector', 'rtp_created but not in RTP bridge mode') if msisdn == self.msisdn_a: # A->B leg self.rtp_a = rtp elif msisdn == self.msisdn_b: # B->A leg diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index a4c0c85..021d619 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -103,7 +103,7 @@ self.mncc_act = mncc_act self.ctrl_act = ctrl_act self.codecs_permitted = codecs_permitted - self.call = GsmCallFsm.start(self.mncc_act, self.actor_ref, True, self.codecs_permitted) + self.call = GsmCallFsm.start(self.mncc_act, self.actor_ref, False, self.codecs_permitted) self.callref = self.call.ask({'type':'get_callref'}) self.state = 'NULL' self.rtp_msc = None -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I8816ccb8c7dce2958496c81a95f1a91bc33e772b Gerrit-Change-Number: 17409 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:49:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:49:57 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17382 ) Change subject: trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16cdd2261b3d0d99286c30584847f93d72d02ac0 Gerrit-Change-Number: 17382 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:49: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 Mar 8 22:50:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:01 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17349 ) Change subject: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 Gerrit-Change-Number: 17349 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22: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 Sun Mar 8 22:50:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:21 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor Downlink measurement processing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17350 ) Change subject: trxcon/scheduler: refactor Downlink measurement processing ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef Gerrit-Change-Number: 17350 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:50: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 Sun Mar 8 22:50:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:26 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: FACCH: ensure fake measurements for BFI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17348 ) Change subject: trxcon/scheduler: FACCH: ensure fake measurements for BFI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f Gerrit-Change-Number: 17348 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22: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 Sun Mar 8 22:50:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: fix n_errors for BFI triggered by FACCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17383 ) Change subject: trxcon/scheduler: fix n_errors for BFI triggered by FACCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icdb6209f75ead6581e3c18aeee0da9831aaa272a Gerrit-Change-Number: 17383 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22: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 Sun Mar 8 22:50:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:54 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17349 ) Change subject: trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn ...................................................................... trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 --- M src/host/trxcon/sched_clck.c M src/host/trxcon/sched_trx.c M src/host/trxcon/scheduler.h 3 files changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_clck.c b/src/host/trxcon/sched_clck.c index 66477b2..7c814dc 100644 --- a/src/host/trxcon/sched_clck.c +++ b/src/host/trxcon/sched_clck.c @@ -82,7 +82,7 @@ timespecadd(tv_clock, &frame_duration, tv_clock); elapsed_us -= FRAME_DURATION_uS; - sched->fn_counter_proc = TDMA_FN_INC(sched->fn_counter_proc); + TDMA_FN_INC(&sched->fn_counter_proc); /* Call frame callback */ if (sched->clock_cb) @@ -178,7 +178,7 @@ /* Transmit what we still need to transmit */ while (fn != sched->fn_counter_proc) { - sched->fn_counter_proc = TDMA_FN_INC(sched->fn_counter_proc); + TDMA_FN_INC(&sched->fn_counter_proc); /* Call frame callback */ if (sched->clock_cb) diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 6bb662d..b7914b6 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -640,7 +640,7 @@ * start counting from last fn + 1 */ if (elapsed < 10) - fn = TDMA_FN_INC(ts->mf_last_fn); + fn = TDMA_FN_SUM(ts->mf_last_fn, 1); else fn = burst_fn; @@ -682,7 +682,7 @@ if (fn == burst_fn) break; - fn = TDMA_FN_INC(fn); + TDMA_FN_INC(&fn); } /* Set last processed frame number */ diff --git a/src/host/trxcon/scheduler.h b/src/host/trxcon/scheduler.h index 7ab17ab..36c64e5 100644 --- a/src/host/trxcon/scheduler.h +++ b/src/host/trxcon/scheduler.h @@ -16,7 +16,7 @@ #define TDMA_FN_SUB(a, b) \ ((a + GSM_HYPERFRAME - b) % GSM_HYPERFRAME) #define TDMA_FN_INC(fn) \ - TDMA_FN_SUM(fn, 1) + (*fn = TDMA_FN_SUM(*fn, 1)) #define TDMA_FN_MIN(a, b) \ (a < b ? a : b) #define TDMA_FN_DIFF(a, b) \ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c2fa26df54b5de836a18f09363a9221c24ae707 Gerrit-Change-Number: 17349 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17382 ) Change subject: trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving ...................................................................... trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving Change-Id: I16cdd2261b3d0d99286c30584847f93d72d02ac0 --- M src/host/trxcon/sched_lchan_desc.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index fde4d4e..b22a18b 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -155,7 +155,10 @@ /* Rx and Tx, multiple convolutional coding types (3GPP TS 05.03, * chapter 3), block diagonal interleaving (3GPP TS 05.02, clause 7): * - * - a traffic frame is interleaved over 6 consecutive bursts + * - a traffic frame is interleaved over 4 non-consecutive bursts + * using the even numbered bits of the first 2 bursts, + * and odd numbered bits of the last 2 bursts; + * - a FACCH/H frame is interleaved over 6 non-consecutive bursts * using the even numbered bits of the first 2 bursts, * all bits of the middle two 2 bursts, * and odd numbered bits of the last 2 bursts; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16cdd2261b3d0d99286c30584847f93d72d02ac0 Gerrit-Change-Number: 17382 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor Downlink measurement processing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17350 ) Change subject: trxcon/scheduler: refactor Downlink measurement processing ...................................................................... trxcon/scheduler: refactor Downlink measurement processing So far we used to store the sums of ToA and RSSI measurements in the logical channel state, and after decoding of a block, we did calculate the average. This approach works fine for xCCH and PDTCH, but when it comes to block-diagonal interleaving (which is used on TCH/F and TCH/H channels), the results are incorrect. The problem is that a burst on TCH may carry 57 bits of one encoded frame and 57 bits of another. Instead of calculating the sum of measurements on the fly, let's push them into a circular buffer (the measurement history), and keep them there even after decoding of a block. This would allow us to calculate the average of N last measurements depending on the interleaving type. A single circular buffer can hold up to 8 unique measurements, so the recent measurements would basically override the oldest ones. Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_sch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c 10 files changed, 140 insertions(+), 74 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c index 813f315..55ec7e9 100644 --- a/src/host/trxcon/sched_lchan_common.c +++ b/src/host/trxcon/sched_lchan_common.c @@ -126,9 +126,9 @@ struct trx_lchan_state *lchan, uint8_t *l2, size_t l2_len, int bit_error_count, bool dec_failed, bool traffic) { + const struct trx_meas_set *meas = &lchan->meas_avg; const struct trx_lchan_desc *lchan_desc; struct l1ctl_info_dl dl_hdr; - int dbm_avg = 0; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; @@ -140,15 +140,8 @@ dl_hdr.frame_nr = htonl(lchan->rx_first_fn); dl_hdr.num_biterr = bit_error_count; - /* Convert average RSSI to RX level */ - if (lchan->meas.num) { - /* RX level: 0 .. 63 in typical GSM notation (dBm + 110) */ - dbm_avg = lchan->meas.rssi_sum / lchan->meas.num; - dl_hdr.rx_level = dbm2rxlev(dbm_avg); - } else { - /* No measurements, assuming the worst */ - dl_hdr.rx_level = 0; - } + /* RX level: 0 .. 63 in typical GSM notation (dBm + 110) */ + dl_hdr.rx_level = dbm2rxlev(meas->rssi); /* FIXME: set proper values */ dl_hdr.snr = 0; @@ -162,7 +155,7 @@ /* Optional GSMTAP logging */ if (l2_len > 0 && (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH)) { sched_gsmtap_send(lchan->type, lchan->rx_first_fn, ts->index, - trx->band_arfcn, dbm_avg, 0, l2, l2_len); + trx->band_arfcn, meas->rssi, 0, l2, l2_len); } return 0; diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index b22a18b..1184e5b 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -31,35 +31,35 @@ /* Forward declaration of handlers */ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256); + sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 83a6f53..4fd7d35 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018 by Vadim Yanitskiy + * (C) 2018-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -42,7 +42,7 @@ int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GPRS_L2_MAX_LEN], *mask; @@ -62,9 +62,6 @@ /* Reset internal state */ if (bid == 0) { - /* Clean up old measurements */ - memset(&lchan->meas, 0x00, sizeof(lchan->meas)); - *first_fn = fn; *mask = 0x0; } @@ -72,10 +69,8 @@ /* Update mask */ *mask |= (1 << bid); - /* Update measurements */ - lchan->meas.toa256_sum += toa256; - lchan->meas.rssi_sum += rssi; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to buffer of 4 bursts */ offset = buffer + bid * 116; @@ -86,6 +81,9 @@ if (bid != 3) return 0; + /* Calculate AVG of the measurements */ + sched_trx_meas_avg(lchan, 4); + /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " diff --git a/src/host/trxcon/sched_lchan_sch.c b/src/host/trxcon/sched_lchan_sch.c index 9eed506..17f68b0 100644 --- a/src/host/trxcon/sched_lchan_sch.c +++ b/src/host/trxcon/sched_lchan_sch.c @@ -70,7 +70,7 @@ int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { sbit_t payload[2 * 39]; struct gsm_time time; @@ -117,7 +117,7 @@ data->link_id = trx_lchan_desc[lchan->type].link_id; data->band_arfcn = htons(trx->band_arfcn); data->frame_nr = htonl(fn); - data->rx_level = -rssi; + data->rx_level = -(meas->rssi); /* FIXME: set proper values */ data->num_biterr = 0; diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 0109280..d2cf030 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017 by Vadim Yanitskiy + * (C) 2017-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -44,7 +44,7 @@ int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; @@ -64,9 +64,6 @@ /* Reset internal state */ if (bid == 0) { - /* Clean up old measurements */ - memset(&lchan->meas, 0x00, sizeof(lchan->meas)); - *first_fn = fn; *mask = 0x00; } @@ -74,10 +71,8 @@ /* Update mask */ *mask |= (1 << bid); - /* Update mask and RSSI */ - lchan->meas.rssi_sum += rssi; - lchan->meas.toa256_sum += toa256; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to end of buffer of 8 bursts */ offset = buffer + bid * 116 + 464; @@ -88,6 +83,9 @@ if (bid != 3) return 0; + /* Calculate AVG of the measurements */ + sched_trx_meas_avg(lchan, 8); + /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " @@ -150,9 +148,14 @@ n_errors, false, true); bfi: - /* Didn't try to decode */ - if (n_errors < 0) + /* Didn't try to decode, fake measurements */ + if (n_errors < 0) { + lchan->meas_avg = (struct trx_meas_set) { + .toa256 = 0, + .rssi = -110, + }; n_errors = 116 * 4; + } /* BFI is not applicable in signalling mode */ if (lchan->tch_mode == GSM48_CMODE_SIGN) diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 8288670..599dd20 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018 by Vadim Yanitskiy + * (C) 2018-2020 by Vadim Yanitskiy * (C) 2018 by Harald Welte * * All Rights Reserved @@ -200,7 +200,7 @@ int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; @@ -234,16 +234,8 @@ /* Update mask */ *mask |= (1 << bid); - /** - * FIXME: properly update measurements - * - * Since TCH/H channel is using block-diagonal interleaving, - * a single burst may carry 57 bits of one encoded frame, - * and 57 bits of another. This should be taken into account. - */ - lchan->meas.rssi_sum += rssi; - lchan->meas.toa256_sum += toa256; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to the end of buffer of 6 bursts */ offset = buffer + bid * 116 + 464; @@ -303,6 +295,9 @@ "fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), fn, lchan_desc->name, rc); + /* Calculate AVG of the measurements (assuming 4 bursts) */ + sched_trx_meas_avg(lchan, 4); + /* Send BFI */ goto bfi; } else if (rc == GSM_MACBLOCK_LEN) { @@ -313,6 +308,9 @@ lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, fn, true); /* FACCH/H */ + /* Calculate AVG of the measurements (FACCH/H takes 6 bursts) */ + sched_trx_meas_avg(lchan, 6); + /* FACCH/H received, forward to the higher layers */ sched_send_dt_ind(trx, ts, lchan, l2, GSM_MACBLOCK_LEN, n_errors, false, false); @@ -322,6 +320,9 @@ } else { /* A good TCH frame received */ l2_len = rc; + + /* Calculate AVG of the measurements (traffic takes 4 bursts) */ + sched_trx_meas_avg(lchan, 4); } /* Calculate TDMA frame number of the first burst */ @@ -341,9 +342,14 @@ *mask = *mask << 2; bfi: - /* Didn't try to decode */ - if (n_errors < 0) + /* Didn't try to decode, fake measurements */ + if (n_errors < 0) { + lchan->meas_avg = (struct trx_meas_set) { + .toa256 = 0, + .rssi = -110, + }; n_errors = 116 * 2; + } /* Calculate TDMA frame number of the first burst */ lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 34fe5ce..aa8d4dd 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017 by Vadim Yanitskiy + * (C) 2017-2020 by Vadim Yanitskiy * * All Rights Reserved * @@ -42,7 +42,7 @@ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, int8_t rssi, int16_t toa256) + sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GSM_MACBLOCK_LEN], *mask; @@ -61,9 +61,6 @@ /* Reset internal state */ if (bid == 0) { - /* Clean up old measurements */ - memset(&lchan->meas, 0x00, sizeof(lchan->meas)); - *first_fn = fn; *mask = 0x0; } @@ -71,10 +68,8 @@ /* Update mask */ *mask |= (1 << bid); - /* Update measurements */ - lchan->meas.rssi_sum += rssi; - lchan->meas.toa256_sum += toa256; - lchan->meas.num++; + /* Store the measurements */ + sched_trx_meas_push(lchan, meas); /* Copy burst to buffer of 4 bursts */ offset = buffer + bid * 116; @@ -85,6 +80,9 @@ if (bid != 3) return 0; + /* Calculate AVG of the measurements */ + sched_trx_meas_avg(lchan, 4); + /* Check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index b7914b6..081e3ca 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -613,7 +613,7 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t burst_fn, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) + const struct trx_meas_set *meas) { struct trx_lchan_state *lchan; const struct trx_frame *frame; @@ -674,7 +674,7 @@ sched_trx_a5_burst_dec(lchan, fn, bits); /* Put burst to handler */ - handler(trx, ts, lchan, fn, bid, bits, rssi, toa256); + handler(trx, ts, lchan, fn, bid, bits, meas); } next_frame: @@ -710,3 +710,50 @@ return 0; } + +#define MEAS_HIST_FIRST(hist) \ + (&hist->buf[0]) +#define MEAS_HIST_LAST(hist) \ + (MEAS_HIST_FIRST(hist) + ARRAY_SIZE(hist->buf) - 1) + +/* Add a new set of measurements to the history */ +void sched_trx_meas_push(struct trx_lchan_state *lchan, const struct trx_meas_set *meas) +{ + struct trx_lchan_meas_hist *hist = &lchan->meas_hist; + + /* Find a new position where to store the measurements */ + if (hist->head == MEAS_HIST_LAST(hist) || hist->head == NULL) + hist->head = MEAS_HIST_FIRST(hist); + else + hist->head++; + + *hist->head = *meas; +} + +/* Calculate the AVG of n measurements from the history */ +void sched_trx_meas_avg(struct trx_lchan_state *lchan, unsigned int n) +{ + struct trx_lchan_meas_hist *hist = &lchan->meas_hist; + struct trx_meas_set *meas = hist->head; + int toa256_sum = 0; + int rssi_sum = 0; + int i; + + OSMO_ASSERT(n > 0 && n <= ARRAY_SIZE(hist->buf)); + OSMO_ASSERT(meas != NULL); + + /* Traverse backwards up to n entries, calculate the sum */ + for (i = 0; i < n; i++) { + toa256_sum += meas->toa256; + rssi_sum += meas->rssi; + + if (meas == MEAS_HIST_FIRST(hist)) + meas = MEAS_HIST_LAST(hist); + else + meas--; + } + + /* Calculate the AVG */ + lchan->meas_avg.toa256 = toa256_sum / n; + lchan->meas_avg.rssi = rssi_sum / n; +} diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 13fc678..a4fc90f 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -40,6 +40,7 @@ /* Forward declaration to avoid mutual include */ struct trx_lchan_state; +struct trx_meas_set; struct trx_instance; struct trx_ts; @@ -99,7 +100,7 @@ typedef int trx_lchan_rx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, sbit_t *bits, - int8_t rssi, int16_t toa256); + const struct trx_meas_set *meas); typedef int trx_lchan_tx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, @@ -157,6 +158,19 @@ const struct trx_frame *frames; }; +struct trx_meas_set { + /*! \brief ToA256 (Timing of Arrival, 1/256 of a symbol) */ + int16_t toa256; + /*! \brief RSSI (Received Signal Strength Indication) */ + int8_t rssi; +}; + +/* Simple ring buffer (up to 8 unique measurements) */ +struct trx_lchan_meas_hist { + struct trx_meas_set buf[8]; + struct trx_meas_set *head; +}; + /* States each channel on a multiframe */ struct trx_lchan_state { /*! \brief Channel type */ @@ -190,14 +204,10 @@ /*! \brief pending FACCH/H blocks on Uplink */ uint8_t ul_facch_blocks; - struct { - /*! \brief Number of measurements */ - unsigned int num; - /*! \brief Sum of RSSI values */ - float rssi_sum; - /*! \brief Sum of TOA values */ - int32_t toa256_sum; - } meas; + /*! \brief Downlink measurements history */ + struct trx_lchan_meas_hist meas_hist; + /*! \brief AVG measurements of the last received block */ + struct trx_meas_set meas_avg; /*! \brief SACCH state */ struct { @@ -347,7 +357,7 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t burst_fn, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); + const struct trx_meas_set *meas); int sched_trx_handle_tx_burst(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, ubit_t *bits); @@ -381,3 +391,7 @@ sched_tchh_block_map_fn(chan, fn, ul, 1, 1) #define sched_tchh_facch_end(chan, fn, ul) \ sched_tchh_block_map_fn(chan, fn, ul, 1, 0) + +/* Measurement history */ +void sched_trx_meas_push(struct trx_lchan_state *lchan, const struct trx_meas_set *meas); +void sched_trx_meas_avg(struct trx_lchan_state *lchan, unsigned int n); diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 55d7034..343c6ca 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -555,6 +555,7 @@ static int trx_data_rx_cb(struct osmo_fd *ofd, unsigned int what) { struct trx_instance *trx = ofd->data; + struct trx_meas_set meas; uint8_t buf[256]; sbit_t bits[148]; int8_t rssi, tn; @@ -595,8 +596,14 @@ LOGP(DTRXD, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa=%d\n", tn, fn, rssi, toa256); + /* Group the measurements together */ + meas = (struct trx_meas_set) { + .toa256 = toa256, + .rssi = rssi, + }; + /* Poke scheduler */ - sched_trx_handle_rx_burst(trx, tn, fn, bits, 148, rssi, toa256); + sched_trx_handle_rx_burst(trx, tn, fn, bits, 148, &meas); /* Correct local clock counter */ if (fn % 51 == 0) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I211ee3314f0a284112a4deddc0e93028f4a27cef Gerrit-Change-Number: 17350 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: FACCH: ensure fake measurements for BFI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17348 ) Change subject: trxcon/scheduler: FACCH: ensure fake measurements for BFI ...................................................................... trxcon/scheduler: FACCH: ensure fake measurements for BFI According to 3GPP TS 45.003, clauses 4.2.5 and 4.3.5: - one FACCH/F frame steals a single speech frame, - one FACCH/H frame steals two speech frames. A BFI (Bad Frame Indication) needs to be sent for each stolen speech frame. This does not apply to CSD (data) channels though. The BFI frames must have measurement data attached to them, and due to their virtual nature (they do not actually come from the air interface), the measurements must be crafted by trxcon. Assigning a negative value to n_errors makes the code below the 'bfi' label craft fake measurement data. Otherwise, the actual measurements belonging to the FACCH frame will be used. Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f --- M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c 2 files changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index d2cf030..788d153 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -136,7 +136,8 @@ sched_send_dt_ind(trx, ts, lchan, l2, GSM_MACBLOCK_LEN, n_errors, false, false); - /* Send BFI instead of stolen TCH frame */ + /* Send BFI substituting a stolen TCH frame */ + n_errors = -1; /* ensure fake measurements */ goto bfi; } else { /* A good TCH frame received */ diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 599dd20..013dba9 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -315,7 +315,8 @@ sched_send_dt_ind(trx, ts, lchan, l2, GSM_MACBLOCK_LEN, n_errors, false, false); - /* 1/2 BFI */ + /* Send BFI substituting 1/2 stolen TCH frames */ + n_errors = -1; /* ensure fake measurements */ goto bfi; } else { /* A good TCH frame received */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f7c3cf7b1ef3737da6b1818cae2f001ee8768f Gerrit-Change-Number: 17348 Gerrit-PatchSet: 3 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 Sun Mar 8 22:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:50:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: fix n_errors for BFI triggered by FACCH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17383 ) Change subject: trxcon/scheduler: fix n_errors for BFI triggered by FACCH ...................................................................... trxcon/scheduler: fix n_errors for BFI triggered by FACCH These BFI (Bad Frame Indications) substitute speech frames stolen by FACCH/F or FACCH/H frames, so there can be no bit errors in something that was not even transmitted over the air interface. Change-Id: Icdb6209f75ead6581e3c18aeee0da9831aaa272a --- M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c 2 files changed, 6 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 788d153..6531e11 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -155,7 +155,9 @@ .toa256 = 0, .rssi = -110, }; - n_errors = 116 * 4; + + /* No bursts => no errors */ + n_errors = 0; } /* BFI is not applicable in signalling mode */ diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 013dba9..e7037fe 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -349,7 +349,9 @@ .toa256 = 0, .rssi = -110, }; - n_errors = 116 * 2; + + /* No bursts => no errors */ + n_errors = 0; } /* Calculate TDMA frame number of the first burst */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icdb6209f75ead6581e3c18aeee0da9831aaa272a Gerrit-Change-Number: 17383 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 8 22:51:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:51:17 +0000 Subject: Change in osmo-gsm-tester[master]: remote: Set debug logfile of ssh_sigkiller.sh to /dev/null In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17386 ) Change subject: remote: Set debug logfile of ssh_sigkiller.sh to /dev/null ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ide092db082937be7c2fb16d60e099c85dc1941b7 Gerrit-Change-Number: 17386 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22: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 Sun Mar 8 22:51:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:51:51 +0000 Subject: Change in osmo-gsm-tester[master]: Improve junit xml generated fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 ) Change subject: Improve junit xml generated fields ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387/1//COMMIT_MSG at 7 PS1, Line 7: Improve junit xml generated fields woudl be good to get an idea / very short summary of what has been improved -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c Gerrit-Change-Number: 17387 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Mar 2020 22:51: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 Sun Mar 8 22:51:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Mar 2020 22:51:56 +0000 Subject: Change in osmo-gsm-tester[master]: remote: Set debug logfile of ssh_sigkiller.sh to /dev/null In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17386 ) Change subject: remote: Set debug logfile of ssh_sigkiller.sh to /dev/null ...................................................................... remote: Set debug logfile of ssh_sigkiller.sh to /dev/null Otherwise processes run eventually as root (due to being run on another netns) may change its permissions and other processes later will fail to write to it (Permission Denied). Change-Id: Ide092db082937be7c2fb16d60e099c85dc1941b7 --- M src/osmo_gsm_tester/remote.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_gsm_tester/remote.py b/src/osmo_gsm_tester/remote.py index 10ba069..ba1a5e1 100644 --- a/src/osmo_gsm_tester/remote.py +++ b/src/osmo_gsm_tester/remote.py @@ -59,7 +59,7 @@ wrapper_script = self.run_dir.new_file(RemoteHost.WRAPPER_SCRIPT) with open(wrapper_script, 'w') as f: r = """#!/bin/bash - LOGFILE=/tmp/yes + LOGFILE=/dev/null kill_pid(){ mypid=$1 kill $mypid -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ide092db082937be7c2fb16d60e099c85dc1941b7 Gerrit-Change-Number: 17386 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 admin at opensuse.org Mon Mar 9 01:36:16 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 09 Mar 2020 01:36:16 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5e659d9e59307_49402af696c085fc993053@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/i586 Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 377s] /bin/bash ../libtool --mode=install /usr/bin/install -c osmo-arfcn osmo-auc-gen osmo-config-merge '/usr/src/packages/BUILD/debian/tmp/usr/bin' [ 377s] libtool: warning: '../src/libosmocore.la' has not been installed in '/usr/lib/i386-linux-gnu' [ 377s] libtool: warning: '../src/gsm/libosmogsm.la' has not been installed in '/usr/lib/i386-linux-gnu' [ 377s] libtool: install: /usr/bin/install -c /usr/src/packages/BUILD/debian/tmp/usr/bin/osmo-arfcn [ 377s] /usr/bin/install: missing destination file operand after '/usr/src/packages/BUILD/debian/tmp/usr/bin/osmo-arfcn' [ 377s] Try '/usr/bin/install --help' for more information. [ 377s] Makefile:448: recipe for target 'install-binPROGRAMS' failed [ 377s] make[4]: *** [install-binPROGRAMS] Error 1 [ 377s] make[4]: Leaving directory '/usr/src/packages/BUILD/utils' [ 377s] Makefile:686: recipe for target 'install-am' failed [ 377s] make[3]: *** [install-am] Error 2 [ 377s] make[3]: Leaving directory '/usr/src/packages/BUILD/utils' [ 377s] Makefile:687: recipe for target 'install-recursive' failed [ 377s] make[2]: *** [install-recursive] Error 1 [ 377s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 377s] Makefile:986: recipe for target 'install' failed [ 377s] make[1]: *** [install] Error 2 [ 377s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 377s] dh_auto_install: make -j1 install DESTDIR=/usr/src/packages/BUILD/debian/tmp AM_UPDATE_INFO_DIR=no returned exit code 2 [ 377s] debian/rules:15: recipe for target 'binary' failed [ 377s] make: *** [binary] Error 2 [ 378s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 378s] ### VM INTERACTION START ### [ 381s] [ 371.579819] sysrq: SysRq : Power Off [ 381s] [ 371.601561] reboot: Power down [ 381s] ### VM INTERACTION END ### [ 381s] [ 381s] lamb09 failed "build libosmocore_1.3.0.35.d8c7.dsc" at Mon Mar 9 01:35:59 UTC 2020. [ 381s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Mar 9 08:53:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Mar 2020 08:53:00 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... Patch Set 4: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 09 Mar 2020 08:53: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 Mar 9 09:04:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 09:04:43 +0000 Subject: Change in libosmo-abis[master]: ortp: disable SO_REUSEADDR + SO_REUSEPORT In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17430 ) Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17430 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 09:04: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 Mar 9 09:10:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:10:46 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g/ping.py: Overwrite test stdout with ping 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/osmo-gsm-tester/+/17388 to look at the new patch set (#2). Change subject: suites/4g/ping.py: Overwrite test stdout with ping output ...................................................................... suites/4g/ping.py: Overwrite test stdout with ping output Change-Id: I83403a21c46758132b4fbb930000df67d8650016 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/srs_ue.py M suites/4g/ping.py 3 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/17388/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I83403a21c46758132b4fbb930000df67d8650016 Gerrit-Change-Number: 17388 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 Mar 9 09:10:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:10:46 +0000 Subject: Change in osmo-gsm-tester[master]: Improve junit xml generated fields 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-gsm-tester/+/17387 to look at the new patch set (#2). Change subject: Improve junit xml generated fields ...................................................................... Improve junit xml generated fields * trial ('testsuites' node): Add fields 'tests', 'errors', 'failures', 'time'. * testsuite: Add fields 'errors', 'failures', 'skipped', 'disabled' * test: Add field 'classname' (empty). Fix and improve suite.py and test.py to count errors, skipped, failures properly. Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c --- M src/osmo_gsm_tester/report.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 3 files changed, 36 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/17387/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c Gerrit-Change-Number: 17387 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 09:21:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:21:46 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c at 750 PS4, Line 750: if (i + 1 == n) This should never be true? loop is condition i Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:21: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 Mon Mar 9 09:26:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:26:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... Patch Set 4: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c at 622 PS4, Line 622: if (lchan->tdma.num_proc == 0) On num_proc overflow you are gonna hit this again. https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c at 663 PS4, Line 663: lchan->tdma.num_proc++; you probably don't need num_proc at all but simply a boolean to know if at least one was processed. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:26: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 Mon Mar 9 09:26:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:26:39 +0000 Subject: Change in osmo-gsm-tester[master]: Improve junit xml generated fields 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-gsm-tester/+/17387 to look at the new patch set (#3). Change subject: Improve junit xml generated fields ...................................................................... Improve junit xml generated fields * trial ('testsuites' node): Add fields 'tests', 'errors', 'failures', 'time'. * testsuite: Add fields 'errors', 'failures', 'skipped', 'disabled' * test: Add field 'classname' (empty). Fix and improve suite.py and test.py to count errors, skipped, failures properly. Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c --- M src/osmo_gsm_tester/report.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 3 files changed, 36 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/17387/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c Gerrit-Change-Number: 17387 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 09:29:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:29:27 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: constify Downlink burst bits where possible In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17353 ) Change subject: trxcon/scheduler: constify Downlink burst bits where possible ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a Gerrit-Change-Number: 17353 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:29: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 Mar 9 09:33:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:33:51 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17354 ) Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:33: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 Mar 9 09:34:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:34:07 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/F: fix Downlink burst completeness check In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17355 ) Change subject: trxcon/scheduler: TCH/F: fix Downlink burst completeness check ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 Gerrit-Change-Number: 17355 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:34: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 Mar 9 09:35:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:35:13 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17356 ) Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17356/4/src/host/trxcon/sched_lchan_pdtch.c File src/host/trxcon/sched_lchan_pdtch.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17356/4/src/host/trxcon/sched_lchan_pdtch.c at 91 PS4, Line 91: /* NOTE: do not about here, give it a try. Maybe we're lucky ;) */ typo: abort? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:35: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 Mar 9 09:38:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:38:11 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17392 ) Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:38: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 Mar 9 09:43:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:43:07 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17394/4/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17394/4/src/csn1.c at a156 PS4, Line 156: if (remaining_bits_len <= 0) What about changing it to (remaining_bits_len < 0) then? That's an error in any case, being next one optional or not. Does that make sense? I'm wondering whether all types check against remaining_bits_len being zero or negative... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:43: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 Mon Mar 9 09:45:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:45:32 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 3: Code-Review-1 -1 as per fixeria's comments -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 09:45: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 Mar 9 09:53:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:53:36 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17415/3/src/host/virt_phy/src/gsmtapl1_if.c File src/host/virt_phy/src/gsmtapl1_if.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17415/3/src/host/virt_phy/src/gsmtapl1_if.c at 113 PS3, Line 113: data = msgb_l2(msg); isn't this line unneeded? Aren't you doing "A = B; B = A;" here? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 09:53: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 Mar 9 09:56:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 09:56:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 09: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 Mon Mar 9 10:01:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:01:40 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17429 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/17429/2/tests/rtp_test/rtp_test.c File tests/rtp_test/rtp_test.c: https://gerrit.osmocom.org/c/libosmo-abis/+/17429/2/tests/rtp_test/rtp_test.c at 57 PS2, Line 57: //OSMO_ASSERT(0); So according to the output file this assert is failing... but it's commented... -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:01: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 Mon Mar 9 10:02:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:02:32 +0000 Subject: Change in libosmo-abis[master]: ortp: disable SO_REUSEADDR + SO_REUSEPORT In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17430 ) Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17430 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10: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 Mon Mar 9 10:24:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:24:53 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 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/+/17429 to look at the new patch set (#3). Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Add rtp_test to show the double-bind bug of OS#4444 Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 --- M tests/Makefile.am A tests/rtp_test/rtp_test.c A tests/rtp_test/rtp_test.ok M tests/testsuite.at 4 files changed, 109 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/29/17429/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 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 Mar 9 10:25:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:25:26 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17429 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/17429/2/tests/rtp_test/rtp_test.c File tests/rtp_test/rtp_test.c: https://gerrit.osmocom.org/c/libosmo-abis/+/17429/2/tests/rtp_test/rtp_test.c at 57 PS2, Line 57: //OSMO_ASSERT(0); > So according to the output file this assert is failing... but it's commented... sorry, the err file should have been deleted. The commit somehow still contained it, while the testsuite.at not using it anymore. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:25: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 Mon Mar 9 10:25:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:25:51 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17429 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:25: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 Mar 9 10:26:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:26:47 +0000 Subject: Change in osmo-bts[master]: l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17427 ) Change subject: l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind ...................................................................... l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind In l1sap_ph_data_ind() we can use msgb_pull_l2() which is an exact implementation of the functionality there. In l1sap_tch_ind(), the existing code is actually wrong by making the assumption that the msgb contains exactly an entire osmo_phsap_prim. Better to also dynamically compute the number of bytes to ensure we only pull those ahead of the L2 header, no matter what their exact count. Change-Id: I13f7f8ba93795e40b1fb4a306fe765e059f642cf --- M src/common/l1sap.c 1 file changed, 2 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 05dbb6f..673430d 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1355,8 +1355,7 @@ l1sap_tx_ciph_req(lchan->ts->trx, chan_nr, 1, 0); /* SDCCH, SACCH and FACCH all go to LAPDm */ - msgb_pull(msg, (msg->l2h - msg->data)); - msg->l1h = NULL; + msgb_pull_to_l2(msg); lapdm_phsap_up(&l1sap->oph, le); /* don't free, because we forwarded data */ @@ -1393,7 +1392,7 @@ if (gsm_bts_has_feature(trx->bts, BTS_FEAT_MEAS_PAYLOAD_COMB)) process_l1sap_meas_data(trx, l1sap, PRIM_TCH); - msgb_pull(msg, sizeof(*l1sap)); + msgb_pull_to_l2(msg); /* Low level layers always call us when TCH content is expected, even if * the content is not available due to decoding issues. Content not -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I13f7f8ba93795e40b1fb4a306fe765e059f642cf Gerrit-Change-Number: 17427 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 Mar 9 10:28:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:28:30 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17415/3/src/host/virt_phy/src/gsmtapl1_if.c File src/host/virt_phy/src/gsmtapl1_if.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17415/3/src/host/virt_phy/src/gsmtapl1_if.c at 113 PS3, Line 113: data = msgb_l2(msg); > isn't this line unneeded? Aren't you doing "A = B; B = A;" here? it's not msg->data, but data that is assigned. 'data' + 'data_len' are variables that are set in the start of the function for all switch cases. However, as we modify the msgb and its l2 pointer, we need to re-assing those variables with the updated values. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:28: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 Mon Mar 9 10:28:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:28:58 +0000 Subject: Change in libosmo-abis[master]: Add rtp_test to show the double-bind bug of OS#4444 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17429 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Add rtp_test to show the double-bind bug of OS#4444 Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 --- M tests/Makefile.am A tests/rtp_test/rtp_test.c A tests/rtp_test/rtp_test.ok M tests/testsuite.at 4 files changed, 109 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/Makefile.am b/tests/Makefile.am index 8ee91bb..bd95cf5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -6,7 +6,8 @@ e1inp_ipa_bts_test \ ipa_proxy_test \ subchan_demux/subchan_demux_test \ - ipa_recv/ipa_recv_test + ipa_recv/ipa_recv_test \ + rtp_test/rtp_test e1inp_ipa_bsc_test_SOURCES = e1inp_ipa_bsc_test.c e1inp_ipa_bsc_test_LDADD = $(top_builddir)/src/libosmoabis.la \ @@ -31,6 +32,11 @@ $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) +rtp_test_rtp_test_SOURCES = rtp_test/rtp_test.c +rtp_test_rtp_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. $(srcdir)/package.m4: $(top_srcdir)/configure.ac @@ -52,7 +58,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ subchan_demux/subchan_demux_test.ok \ - ipa_recv/ipa_recv_test.ok + ipa_recv/ipa_recv_test.ok \ + rtp_test/rtp_test.ok TESTSUITE = $(srcdir)/testsuite diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c new file mode 100644 index 0000000..d696033 --- /dev/null +++ b/tests/rtp_test/rtp_test.c @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +static void *tall_test; + +static struct osmo_rtp_socket *create_bind_any(void) +{ + struct osmo_rtp_socket *rs; + int i; + + rs = osmo_rtp_socket_create(tall_test, 0); + for (i = 16384; i < 65535; i+=2) { + if (osmo_rtp_socket_bind(rs, "0.0.0.0", i) == 0) + return rs; + } + osmo_rtp_socket_free(rs); + return NULL; +} + +/* test if binding two sockets to the same local port fails (See OS#4444) */ +static void test_bind_fail(void) +{ + struct osmo_rtp_socket *rs[2]; + uint32_t ip; + int rc, port[2]; + + printf("First bind to any random local port...\n"); + rs[0] = create_bind_any(); + OSMO_ASSERT(rs[0]); + + /* then obtain the local port */ + rc = osmo_rtp_get_bound_ip_port(rs[0], &ip, &port[0]); + OSMO_ASSERT(rc == 0); + + printf("Now try to bind another socket to the same port: "); + rs[1] = osmo_rtp_socket_create(tall_test, 0); + OSMO_ASSERT(rs[1]); + rc = osmo_rtp_socket_bind(rs[1], "0.0.0.0", port[0]); + if (rc == -1 && errno == EADDRINUSE) + printf("OK (EADDRINUSE)\n"); + else { + printf("FAILED - second bind to port %u worked\n", port[0]); + fflush(stdout); + //OSMO_ASSERT(0); + } + + osmo_rtp_socket_free(rs[0]); + osmo_rtp_socket_free(rs[1]); +} + +#define DTEST 0 + +static const struct log_info_cat bts_test_cat[] = { + [DTEST] = { + .name = "DTEST", + .description = "test", + .color = "\033[1;35m", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, +}; + +static const struct log_info bts_test_log_info = { + .filter_fn = NULL, + .cat = bts_test_cat, + .num_cat = ARRAY_SIZE(bts_test_cat), +}; + + +int main(int argc, char **argv) +{ + tall_test = talloc_named_const(NULL, 1, "rtp_test"); + osmo_init_logging2(tall_test, &bts_test_log_info); + osmo_rtp_init(tall_test); + + test_bind_fail(); + + exit(0); +} + diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok new file mode 100644 index 0000000..ded2792 --- /dev/null +++ b/tests/rtp_test/rtp_test.ok @@ -0,0 +1,2 @@ +First bind to any random local port... +Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked diff --git a/tests/testsuite.at b/tests/testsuite.at index ff550b0..5e87248 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -23,3 +23,9 @@ AT_CHECK([$abs_top_builddir/tests/subchan_demux/subchan_demux_test], [], [expout]) AT_CLEANUP +AT_SETUP([rtp_test]) +AT_KEYWORDS([rtp_test]) +cat $abs_srcdir/rtp_test/rtp_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/rtp_test/rtp_test], [ignore], [expout]) +AT_CLEANUP + -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17429 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 10:28:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 10:28:58 +0000 Subject: Change in libosmo-abis[master]: ortp: disable SO_REUSEADDR + SO_REUSEPORT In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17430 ) Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... ortp: disable SO_REUSEADDR + SO_REUSEPORT ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and SO_REUSEPORT, and has both enabled by default. The latter means that we can end up with non-unique port bindings as we will not fail to bind the same port twice. This should have caused visible problems not only when operating multiple osmo-bts on one machine (rare), but also with a single osmo-bts. Once the range (default 16384-17407 ) wraps, there is a risk of new sockets (for new cals) colliding with old ones. As two ports (RTP+RTCP) are used per call, this means every 512 voice calls we expect the BTS to wrap. And from that point onwards there's a risk of overlapping with previously allocated sockets. Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Closes: OS#4444 --- M src/trau/osmo_ortp.c M tests/rtp_test/rtp_test.c M tests/rtp_test/rtp_test.ok 3 files changed, 8 insertions(+), 2 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/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 8b81e37..c070915 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -378,6 +378,12 @@ rtp_session_set_profile(rs->sess, osmo_pt_profile); rtp_session_set_jitter_compensation(rs->sess, 100); + /* ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and + * SO_REUSEPORT, and has both enabled by default. The latter means that + * we can end up with non-unique port bindings as we will not fail to + * bind the same port twice */ + rtp_session_set_reuseaddr(rs->sess, false); + rtp_session_signal_connect(rs->sess, "ssrc_changed", (RtpCallback) ortp_sig_cb_ssrc, RTP_SIGNAL_PTR_CAST(rs)); diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c index d696033..ae7d8ef 100644 --- a/tests/rtp_test/rtp_test.c +++ b/tests/rtp_test/rtp_test.c @@ -54,7 +54,7 @@ else { printf("FAILED - second bind to port %u worked\n", port[0]); fflush(stdout); - //OSMO_ASSERT(0); + OSMO_ASSERT(0); } osmo_rtp_socket_free(rs[0]); diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok index ded2792..ddb68a4 100644 --- a/tests/rtp_test/rtp_test.ok +++ b/tests/rtp_test/rtp_test.ok @@ -1,2 +1,2 @@ First bind to any random local port... -Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked +Now try to bind another socket to the same port: OK (EADDRINUSE) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17430 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 Mar 9 10:29:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 10:29:02 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c at 750 PS4, Line 750: if (i + 1 == n) > This should never be true? loop is condition i Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:29: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 Mar 9 10:38:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:38:29 +0000 Subject: Change in osmo-gsm-tester[master]: Improve junit xml generated fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 ) Change subject: Improve junit xml generated fields ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c Gerrit-Change-Number: 17387 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:38:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 10:38:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:38:31 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g/ping.py: Overwrite test stdout with ping output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 ) Change subject: suites/4g/ping.py: Overwrite test stdout with ping output ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I83403a21c46758132b4fbb930000df67d8650016 Gerrit-Change-Number: 17388 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:38:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 10:39:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:39:01 +0000 Subject: Change in osmo-gsm-tester[master]: Improve junit xml generated fields In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 ) Change subject: Improve junit xml generated fields ...................................................................... Improve junit xml generated fields * trial ('testsuites' node): Add fields 'tests', 'errors', 'failures', 'time'. * testsuite: Add fields 'errors', 'failures', 'skipped', 'disabled' * test: Add field 'classname' (empty). Fix and improve suite.py and test.py to count errors, skipped, failures properly. Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c --- M src/osmo_gsm_tester/report.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 3 files changed, 36 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/report.py index 5d23c38..f781695 100644 --- a/src/osmo_gsm_tester/report.py +++ b/src/osmo_gsm_tester/report.py @@ -17,6 +17,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +# junit xml format: https://llg.cubic.org/docs/junit/ + import math import sys import re @@ -50,9 +52,24 @@ def trial_to_junit(trial): testsuites = et.Element('testsuites') + num_tests = 0 + num_failures = 0 + num_errors = 0 + time = 0 + id = 0 for suite in trial.suites: testsuite = suite_to_junit(suite) + testsuite.set('id', str(id)) + id += 1 testsuites.append(testsuite) + num_tests += int(testsuite.get('tests')) + num_failures += int(testsuite.get('failures')) + num_errors += int(testsuite.get('errors')) + time += suite.duration + testsuites.set('tests', str(num_tests)) + testsuites.set('errors', str(num_errors)) + testsuites.set('failures', str(num_failures)) + testsuites.set('time', str(math.ceil(time))) return testsuites def suite_to_junit(suite): @@ -63,9 +80,14 @@ testsuite.set('timestamp', datetime.fromtimestamp(round(suite.start_timestamp)).isoformat()) testsuite.set('time', str(math.ceil(suite.duration))) testsuite.set('tests', str(len(suite.tests))) - testsuite.set('failures', str(suite.count_test_results()[2])) + passed, skipped, failed, errors = suite.count_test_results() + testsuite.set('errors', str(errors)) + testsuite.set('failures', str(failed)) + testsuite.set('skipped', str(skipped)) + testsuite.set('disabled', str(skipped)) for suite_test in suite.tests: testcase = test_to_junit(suite_test) + testcase.set('classname', suite.name()) testsuite.append(testcase) return testsuite @@ -113,10 +135,12 @@ if not suite.tests: return 'no tests were run.' - passed, skipped, failed = suite.count_test_results() + passed, skipped, failed, errors = suite.count_test_results() details = [] if failed: details.append('fail: %d' % failed) + if errors: + details.append('errors: %d' % errors) if passed: details.append('pass: %d' % passed) if skipped: diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index c2faa36..8c79d35 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -213,9 +213,9 @@ util.import_path_remove(suite_libdir) self.duration = time.time() - self.start_timestamp - passed, skipped, failed = self.count_test_results() + passed, skipped, failed, errors = self.count_test_results() # if no tests ran, count it as failure - if passed and not failed: + if passed and not failed and not errors: self.status = SuiteRun.PASS else: self.status = SuiteRun.FAIL @@ -229,14 +229,17 @@ passed = 0 skipped = 0 failed = 0 + errors = 0 for t in self.tests: - if t.status == test.Test.PASS: + if t.status == test.Test.SKIP: + skipped += 1 + elif t.status == test.Test.PASS: passed += 1 elif t.status == test.Test.FAIL: failed += 1 - else: - skipped += 1 - return (passed, skipped, failed) + else: # error, could not run + 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 diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index be6e8da..0bbff41 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -26,7 +26,7 @@ from . import log, util, resource class Test(log.Origin): - UNKNOWN = 'UNKNOWN' + UNKNOWN = 'UNKNOWN' # matches junit 'error' SKIP = 'skip' PASS = 'pass' FAIL = 'FAIL' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c Gerrit-Change-Number: 17387 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 10:39:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:39:07 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g/ping.py: Overwrite test stdout with ping output In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 ) Change subject: suites/4g/ping.py: Overwrite test stdout with ping output ...................................................................... suites/4g/ping.py: Overwrite test stdout with ping output Change-Id: I83403a21c46758132b4fbb930000df67d8650016 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/srs_ue.py M suites/4g/ping.py 3 files changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index 2d539eb..f8a9245 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -666,6 +666,7 @@ proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) proc.launch_sync() + return proc def setup_context_data_plane(self, ctx_id): self.dbg('setup_context_data', path=ctx_id) diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index f90ea32..2cb05a2 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -246,6 +246,7 @@ else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) proc.launch_sync() + return proc def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): # file is not properly flushed until the process has stopped. diff --git a/suites/4g/ping.py b/suites/4g/ping.py index b44ff84..17eee78 100755 --- a/suites/4g/ping.py +++ b/suites/4g/ping.py @@ -19,4 +19,7 @@ wait(ue.is_connected, None) print('UE is attached') -ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) +proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) +output = proc.get_stdout() +print(output) +test.set_report_stdout(output) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I83403a21c46758132b4fbb930000df67d8650016 Gerrit-Change-Number: 17388 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 Mon Mar 9 10:45:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:45:44 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17415/3/src/host/virt_phy/src/gsmtapl1_if.c File src/host/virt_phy/src/gsmtapl1_if.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17415/3/src/host/virt_phy/src/gsmtapl1_if.c at 113 PS3, Line 113: data = msgb_l2(msg); > it's not msg->data, but data that is assigned. [?] Ah sorry, indeed. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:45:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 10:49:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 10:49:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c at 622 PS4, Line 622: if (lchan->tdma.num_proc == 0) > On num_proc overflow you are gonna hit this again. Given the frame duration and the limits of unsigned long... FRAME_DURATION = 4615 * 10e-6 ULONG_MAX = 2 ^ 32 it would take: FRAME_DURATION * ULONG_MAX -> ~198212740.7 seconds or -> ~55059.1 hours or -> ~2294 days or -> ~6 years. Not sure if anybody on the earth would need to run trxcon for such a long time period :D https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c at 663 PS4, Line 663: lchan->tdma.num_proc++; > you probably don't need num_proc at all but simply a boolean to know if at least one was processed. Yep, but I am planning to have some kind of statistics and print it from time to time. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:49: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 Mar 9 10:55:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:55:03 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c at 750 PS4, Line 750: if (i + 1 == n) > Let's say n = 4 (typical for xCCH) and we're doing the last iteration here, so i = 3. [?] Ok, you end up with (C) in line 753, but then immediately after condition checked is 4 < 4 so the loop exits and "meas" is not used anymore. So what do you win? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:55:03 +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 Mar 9 10:58:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 10:58:07 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17352/4/src/host/trxcon/sched_trx.c at 622 PS4, Line 622: if (lchan->tdma.num_proc == 0) > Given the frame duration and the limits of unsigned long... [?] That sounds like '640K is more memory than anyone will ever need.' Let your users run trxcon for a long time if they want :) Simply add a boolean. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 10:58:07 +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 Mar 9 11:00:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 11:00:04 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c at 750 PS4, Line 750: if (i + 1 == n) > [...] loop exits and "meas" is not used anymore. It is used. Please see below, line 764. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 11:00:04 +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 Mar 9 11:09:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:09:22 +0000 Subject: Change in libosmo-abis[pespin/0.8.0]: Add rtp_test to show the double-bind bug of OS#4444 References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/17432 to review the following change. Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Add rtp_test to show the double-bind bug of OS#4444 Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 --- M tests/Makefile.am A tests/rtp_test/rtp_test.c A tests/rtp_test/rtp_test.ok M tests/testsuite.at 4 files changed, 109 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/32/17432/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 8ee91bb..bd95cf5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -6,7 +6,8 @@ e1inp_ipa_bts_test \ ipa_proxy_test \ subchan_demux/subchan_demux_test \ - ipa_recv/ipa_recv_test + ipa_recv/ipa_recv_test \ + rtp_test/rtp_test e1inp_ipa_bsc_test_SOURCES = e1inp_ipa_bsc_test.c e1inp_ipa_bsc_test_LDADD = $(top_builddir)/src/libosmoabis.la \ @@ -31,6 +32,11 @@ $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) +rtp_test_rtp_test_SOURCES = rtp_test/rtp_test.c +rtp_test_rtp_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. $(srcdir)/package.m4: $(top_srcdir)/configure.ac @@ -52,7 +58,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ subchan_demux/subchan_demux_test.ok \ - ipa_recv/ipa_recv_test.ok + ipa_recv/ipa_recv_test.ok \ + rtp_test/rtp_test.ok TESTSUITE = $(srcdir)/testsuite diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c new file mode 100644 index 0000000..d696033 --- /dev/null +++ b/tests/rtp_test/rtp_test.c @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +static void *tall_test; + +static struct osmo_rtp_socket *create_bind_any(void) +{ + struct osmo_rtp_socket *rs; + int i; + + rs = osmo_rtp_socket_create(tall_test, 0); + for (i = 16384; i < 65535; i+=2) { + if (osmo_rtp_socket_bind(rs, "0.0.0.0", i) == 0) + return rs; + } + osmo_rtp_socket_free(rs); + return NULL; +} + +/* test if binding two sockets to the same local port fails (See OS#4444) */ +static void test_bind_fail(void) +{ + struct osmo_rtp_socket *rs[2]; + uint32_t ip; + int rc, port[2]; + + printf("First bind to any random local port...\n"); + rs[0] = create_bind_any(); + OSMO_ASSERT(rs[0]); + + /* then obtain the local port */ + rc = osmo_rtp_get_bound_ip_port(rs[0], &ip, &port[0]); + OSMO_ASSERT(rc == 0); + + printf("Now try to bind another socket to the same port: "); + rs[1] = osmo_rtp_socket_create(tall_test, 0); + OSMO_ASSERT(rs[1]); + rc = osmo_rtp_socket_bind(rs[1], "0.0.0.0", port[0]); + if (rc == -1 && errno == EADDRINUSE) + printf("OK (EADDRINUSE)\n"); + else { + printf("FAILED - second bind to port %u worked\n", port[0]); + fflush(stdout); + //OSMO_ASSERT(0); + } + + osmo_rtp_socket_free(rs[0]); + osmo_rtp_socket_free(rs[1]); +} + +#define DTEST 0 + +static const struct log_info_cat bts_test_cat[] = { + [DTEST] = { + .name = "DTEST", + .description = "test", + .color = "\033[1;35m", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, +}; + +static const struct log_info bts_test_log_info = { + .filter_fn = NULL, + .cat = bts_test_cat, + .num_cat = ARRAY_SIZE(bts_test_cat), +}; + + +int main(int argc, char **argv) +{ + tall_test = talloc_named_const(NULL, 1, "rtp_test"); + osmo_init_logging2(tall_test, &bts_test_log_info); + osmo_rtp_init(tall_test); + + test_bind_fail(); + + exit(0); +} + diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok new file mode 100644 index 0000000..ded2792 --- /dev/null +++ b/tests/rtp_test/rtp_test.ok @@ -0,0 +1,2 @@ +First bind to any random local port... +Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked diff --git a/tests/testsuite.at b/tests/testsuite.at index ff550b0..5e87248 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -23,3 +23,9 @@ AT_CHECK([$abs_top_builddir/tests/subchan_demux/subchan_demux_test], [], [expout]) AT_CLEANUP +AT_SETUP([rtp_test]) +AT_KEYWORDS([rtp_test]) +cat $abs_srcdir/rtp_test/rtp_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/rtp_test/rtp_test], [ignore], [expout]) +AT_CLEANUP + -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 11:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:09:23 +0000 Subject: Change in libosmo-abis[pespin/0.8.0]: ortp: disable SO_REUSEADDR + SO_REUSEPORT References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/17433 to review the following change. Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... ortp: disable SO_REUSEADDR + SO_REUSEPORT ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and SO_REUSEPORT, and has both enabled by default. The latter means that we can end up with non-unique port bindings as we will not fail to bind the same port twice. This should have caused visible problems not only when operating multiple osmo-bts on one machine (rare), but also with a single osmo-bts. Once the range (default 16384-17407 ) wraps, there is a risk of new sockets (for new cals) colliding with old ones. As two ports (RTP+RTCP) are used per call, this means every 512 voice calls we expect the BTS to wrap. And from that point onwards there's a risk of overlapping with previously allocated sockets. Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Closes: OS#4444 --- M src/trau/osmo_ortp.c M tests/rtp_test/rtp_test.c M tests/rtp_test/rtp_test.ok 3 files changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/33/17433/1 diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 1d652cb..0fd30df 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -378,6 +378,12 @@ rtp_session_set_profile(rs->sess, osmo_pt_profile); rtp_session_set_jitter_compensation(rs->sess, 100); + /* ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and + * SO_REUSEPORT, and has both enabled by default. The latter means that + * we can end up with non-unique port bindings as we will not fail to + * bind the same port twice */ + rtp_session_set_reuseaddr(rs->sess, false); + rtp_session_signal_connect(rs->sess, "ssrc_changed", (RtpCallback) ortp_sig_cb_ssrc, RTP_SIGNAL_PTR_CAST(rs)); diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c index d696033..ae7d8ef 100644 --- a/tests/rtp_test/rtp_test.c +++ b/tests/rtp_test/rtp_test.c @@ -54,7 +54,7 @@ else { printf("FAILED - second bind to port %u worked\n", port[0]); fflush(stdout); - //OSMO_ASSERT(0); + OSMO_ASSERT(0); } osmo_rtp_socket_free(rs[0]); diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok index ded2792..ddb68a4 100644 --- a/tests/rtp_test/rtp_test.ok +++ b/tests/rtp_test/rtp_test.ok @@ -1,2 +1,2 @@ First bind to any random local port... -Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked +Now try to bind another socket to the same port: OK (EADDRINUSE) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17433 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 11:09:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:09:24 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Bpespin/0=2E8=2E0=5D=3A_Bump_version=3A_0=2E8=2E0=2E2-fb3a_=E2=86=92_0=2E8=2E1?= References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17434 ) Change subject: Bump version: 0.8.0.2-fb3a ? 0.8.1 ...................................................................... Bump version: 0.8.0.2-fb3a ? 0.8.1 Change-Id: I3b2fe0ffe22d9732c03c9fbb751e426161e7fcbb --- M debian/changelog M src/Makefile.am 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/34/17434/1 diff --git a/debian/changelog b/debian/changelog index 68064ca..c29da90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +libosmo-abis (0.8.1) unstable; urgency=medium + + [ Harald Welte ] + * Add rtp_test to show the double-bind bug of OS#4444 + * ortp: disable SO_REUSEADDR + SO_REUSEPORT + + -- Pau Espin Pedrol Mon, 09 Mar 2020 12:08:23 +0100 + libosmo-abis (0.8.0) unstable; urgency=medium [ Alexander Couzens ] diff --git a/src/Makefile.am b/src/Makefile.am index 5ae94e4..57a80c0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,7 +2,7 @@ # 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 ABIS_LIBVERSION=8:0:2 -TRAU_LIBVERSION=4:0:2 +TRAU_LIBVERSION=4:1:2 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I3b2fe0ffe22d9732c03c9fbb751e426161e7fcbb Gerrit-Change-Number: 17434 Gerrit-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 Mar 9 11:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 11:10:32 +0000 Subject: Change in libosmo-abis[pespin/0.8.0]: Add rtp_test to show the double-bind bug of OS#4444 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17432 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 09 Mar 2020 11: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 Mon Mar 9 11:10:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 11:10:44 +0000 Subject: Change in libosmo-abis[pespin/0.8.0]: ortp: disable SO_REUSEADDR + SO_REUSEPORT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17433 ) Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17433 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 09 Mar 2020 11: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 Mar 9 11:11:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 11:11:08 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Bpespin/0=2E8=2E0=5D=3A_Bump_version=3A_0=2E8=2E0=2E2-fb3a_=E2=86=92_0=2E8=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17434 ) Change subject: Bump version: 0.8.0.2-fb3a ? 0.8.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I3b2fe0ffe22d9732c03c9fbb751e426161e7fcbb Gerrit-Change-Number: 17434 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 09 Mar 2020 11:11: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 Mar 9 11:23:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:23:24 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Update config files References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17435 ) Change subject: srsenb: Update config files ...................................................................... srsenb: Update config files Latest ENB config file grammar changed and needs to be updated to work with next versions of srsENB. Change-Id: I84db30dc57ea9e0b05208fa86d88d42d492b237f --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 2 files changed, 5 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/17435/1 diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 12b3e18..7775947 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -20,9 +20,6 @@ ##################################################################### [enb] enb_id = 0x19B -cell_id = 0x01 -phy_cell_id = 1 -tac = 0x0007 mcc = ${enb.mcc} mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 1fff189..3dd3fee 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -54,12 +54,12 @@ ( { // rf_port = 0; - // cell_id = 0x01; - // tac = 0x0001; - // pci = 1; + cell_id = 0x01; + tac = 0x0001; + pci = 1; // root_seq_idx = 204; - // dl_earfcn = 3400; - // ul_earfcn = 474; + dl_earfcn = 3400; + //ul_earfcn = 21400; ho_active = false; // CA cells -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I84db30dc57ea9e0b05208fa86d88d42d492b237f Gerrit-Change-Number: 17435 Gerrit-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 Mar 9 11:36:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:36:21 +0000 Subject: Change in libosmo-abis[pespin/0.8.0]: Add rtp_test to show the double-bind bug of OS#4444 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17432 ) Change subject: Add rtp_test to show the double-bind bug of OS#4444 ...................................................................... Add rtp_test to show the double-bind bug of OS#4444 Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 --- M tests/Makefile.am A tests/rtp_test/rtp_test.c A tests/rtp_test/rtp_test.ok M tests/testsuite.at 4 files changed, 109 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/Makefile.am b/tests/Makefile.am index 8ee91bb..bd95cf5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -6,7 +6,8 @@ e1inp_ipa_bts_test \ ipa_proxy_test \ subchan_demux/subchan_demux_test \ - ipa_recv/ipa_recv_test + ipa_recv/ipa_recv_test \ + rtp_test/rtp_test e1inp_ipa_bsc_test_SOURCES = e1inp_ipa_bsc_test.c e1inp_ipa_bsc_test_LDADD = $(top_builddir)/src/libosmoabis.la \ @@ -31,6 +32,11 @@ $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) +rtp_test_rtp_test_SOURCES = rtp_test/rtp_test.c +rtp_test_rtp_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. $(srcdir)/package.m4: $(top_srcdir)/configure.ac @@ -52,7 +58,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ subchan_demux/subchan_demux_test.ok \ - ipa_recv/ipa_recv_test.ok + ipa_recv/ipa_recv_test.ok \ + rtp_test/rtp_test.ok TESTSUITE = $(srcdir)/testsuite diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c new file mode 100644 index 0000000..d696033 --- /dev/null +++ b/tests/rtp_test/rtp_test.c @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +static void *tall_test; + +static struct osmo_rtp_socket *create_bind_any(void) +{ + struct osmo_rtp_socket *rs; + int i; + + rs = osmo_rtp_socket_create(tall_test, 0); + for (i = 16384; i < 65535; i+=2) { + if (osmo_rtp_socket_bind(rs, "0.0.0.0", i) == 0) + return rs; + } + osmo_rtp_socket_free(rs); + return NULL; +} + +/* test if binding two sockets to the same local port fails (See OS#4444) */ +static void test_bind_fail(void) +{ + struct osmo_rtp_socket *rs[2]; + uint32_t ip; + int rc, port[2]; + + printf("First bind to any random local port...\n"); + rs[0] = create_bind_any(); + OSMO_ASSERT(rs[0]); + + /* then obtain the local port */ + rc = osmo_rtp_get_bound_ip_port(rs[0], &ip, &port[0]); + OSMO_ASSERT(rc == 0); + + printf("Now try to bind another socket to the same port: "); + rs[1] = osmo_rtp_socket_create(tall_test, 0); + OSMO_ASSERT(rs[1]); + rc = osmo_rtp_socket_bind(rs[1], "0.0.0.0", port[0]); + if (rc == -1 && errno == EADDRINUSE) + printf("OK (EADDRINUSE)\n"); + else { + printf("FAILED - second bind to port %u worked\n", port[0]); + fflush(stdout); + //OSMO_ASSERT(0); + } + + osmo_rtp_socket_free(rs[0]); + osmo_rtp_socket_free(rs[1]); +} + +#define DTEST 0 + +static const struct log_info_cat bts_test_cat[] = { + [DTEST] = { + .name = "DTEST", + .description = "test", + .color = "\033[1;35m", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, +}; + +static const struct log_info bts_test_log_info = { + .filter_fn = NULL, + .cat = bts_test_cat, + .num_cat = ARRAY_SIZE(bts_test_cat), +}; + + +int main(int argc, char **argv) +{ + tall_test = talloc_named_const(NULL, 1, "rtp_test"); + osmo_init_logging2(tall_test, &bts_test_log_info); + osmo_rtp_init(tall_test); + + test_bind_fail(); + + exit(0); +} + diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok new file mode 100644 index 0000000..ded2792 --- /dev/null +++ b/tests/rtp_test/rtp_test.ok @@ -0,0 +1,2 @@ +First bind to any random local port... +Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked diff --git a/tests/testsuite.at b/tests/testsuite.at index ff550b0..5e87248 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -23,3 +23,9 @@ AT_CHECK([$abs_top_builddir/tests/subchan_demux/subchan_demux_test], [], [expout]) AT_CLEANUP +AT_SETUP([rtp_test]) +AT_KEYWORDS([rtp_test]) +cat $abs_srcdir/rtp_test/rtp_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/rtp_test/rtp_test], [ignore], [expout]) +AT_CLEANUP + -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I6742e5504cfb827031031e4d8d49a616ab203a94 Gerrit-Change-Number: 17432 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 Mar 9 11:36:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:36:22 +0000 Subject: Change in libosmo-abis[pespin/0.8.0]: ortp: disable SO_REUSEADDR + SO_REUSEPORT In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17433 ) Change subject: ortp: disable SO_REUSEADDR + SO_REUSEPORT ...................................................................... ortp: disable SO_REUSEADDR + SO_REUSEPORT ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and SO_REUSEPORT, and has both enabled by default. The latter means that we can end up with non-unique port bindings as we will not fail to bind the same port twice. This should have caused visible problems not only when operating multiple osmo-bts on one machine (rare), but also with a single osmo-bts. Once the range (default 16384-17407 ) wraps, there is a risk of new sockets (for new cals) colliding with old ones. As two ports (RTP+RTCP) are used per call, this means every 512 voice calls we expect the BTS to wrap. And from that point onwards there's a risk of overlapping with previously allocated sockets. Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Closes: OS#4444 --- M src/trau/osmo_ortp.c M tests/rtp_test/rtp_test.c M tests/rtp_test/rtp_test.ok 3 files changed, 8 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index 1d652cb..0fd30df 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -378,6 +378,12 @@ rtp_session_set_profile(rs->sess, osmo_pt_profile); rtp_session_set_jitter_compensation(rs->sess, 100); + /* ortp >= 0.24.0 doesn't differentiate between SO_REUSEADDR and + * SO_REUSEPORT, and has both enabled by default. The latter means that + * we can end up with non-unique port bindings as we will not fail to + * bind the same port twice */ + rtp_session_set_reuseaddr(rs->sess, false); + rtp_session_signal_connect(rs->sess, "ssrc_changed", (RtpCallback) ortp_sig_cb_ssrc, RTP_SIGNAL_PTR_CAST(rs)); diff --git a/tests/rtp_test/rtp_test.c b/tests/rtp_test/rtp_test.c index d696033..ae7d8ef 100644 --- a/tests/rtp_test/rtp_test.c +++ b/tests/rtp_test/rtp_test.c @@ -54,7 +54,7 @@ else { printf("FAILED - second bind to port %u worked\n", port[0]); fflush(stdout); - //OSMO_ASSERT(0); + OSMO_ASSERT(0); } osmo_rtp_socket_free(rs[0]); diff --git a/tests/rtp_test/rtp_test.ok b/tests/rtp_test/rtp_test.ok index ded2792..ddb68a4 100644 --- a/tests/rtp_test/rtp_test.ok +++ b/tests/rtp_test/rtp_test.ok @@ -1,2 +1,2 @@ First bind to any random local port... -Now try to bind another socket to the same port: FAILED - second bind to port 16384 worked +Now try to bind another socket to the same port: OK (EADDRINUSE) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I4fc9eee561c7958c70c63b4ffdc6cb700b795e28 Gerrit-Change-Number: 17433 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 Mar 9 11:36:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 11:36:23 +0000 Subject: =?UTF-8?Q?Change_in_libosmo-abis=5Bpespin/0=2E8=2E0=5D=3A_Bump_version=3A_0=2E8=2E0=2E2-fb3a_=E2=86=92_0=2E8=2E1?= In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17434 ) Change subject: Bump version: 0.8.0.2-fb3a ? 0.8.1 ...................................................................... Bump version: 0.8.0.2-fb3a ? 0.8.1 Change-Id: I3b2fe0ffe22d9732c03c9fbb751e426161e7fcbb --- M debian/changelog M src/Makefile.am 2 files changed, 9 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/changelog b/debian/changelog index 68064ca..c29da90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +libosmo-abis (0.8.1) unstable; urgency=medium + + [ Harald Welte ] + * Add rtp_test to show the double-bind bug of OS#4444 + * ortp: disable SO_REUSEADDR + SO_REUSEPORT + + -- Pau Espin Pedrol Mon, 09 Mar 2020 12:08:23 +0100 + libosmo-abis (0.8.0) unstable; urgency=medium [ Alexander Couzens ] diff --git a/src/Makefile.am b/src/Makefile.am index 5ae94e4..57a80c0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,7 +2,7 @@ # 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 ABIS_LIBVERSION=8:0:2 -TRAU_LIBVERSION=4:0:2 +TRAU_LIBVERSION=4:1:2 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: pespin/0.8.0 Gerrit-Change-Id: I3b2fe0ffe22d9732c03c9fbb751e426161e7fcbb Gerrit-Change-Number: 17434 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 Mar 9 12:07:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 12:07:00 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts 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/osmocom-bb/+/17356 to look at the new patch set (#5). Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... trxcon/scheduler: do not abort on incomplete set of bursts Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c 2 files changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/56/17356/5 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 5 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 Mon Mar 9 12:08:25 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Mar 2020 12:08:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Add RTP payload testing to performance tests 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/+/17285 to look at the new patch set (#2). 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 A bts/RTP_CodecPort_CtrlFunct.ttcn A bts/RTP_CodecPort_CtrlFunctDef.cc M bts/gen_links.sh M bts/regen_makefile.sh M library/Misc_Helpers.ttcn 7 files changed, 219 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/17285/2 -- 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: 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 Mon Mar 9 12:28:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 12:28:36 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer 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-pcu/+/17394 to look at the new patch set (#5). Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... csn1: fix: do not return 0 if no bits left in the buffer Both csnStreamDecoder() and csnStreamEncoder() shall not return 0 prematurely if no more bits left in the input / output bit-vector. Returning CSN_ERROR_NEED_MORE_BITS_TO_UNPACK might make more sense, however we don't know in advance (i.e. without entering the loop) whether it's an error or not. Some CSN.1 definitions have names like 'M_*_OR_NULL', what basically means that they're optional and can be ignored or omitted. Most of the case statements do check whether the number of remaining bits is enough to unpack / pack a value, so let's leave it up to the current CSN_* handler (pointed by pDescr) if no bits left. Return CSN_ERROR_NEED_MORE_BITS_TO_UNPACK only if the number of remaining bits is negative as this is an error in any case. Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/17394/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 5 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 Mon Mar 9 12:29:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 12:29:23 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17394/4/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17394/4/src/csn1.c at a156 PS4, Line 156: if (remaining_bits_len <= 0) > What about changing it to (remaining_bits_len < 0) then? That's an error in any case, being next one [?] Makes sense, thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 12:29: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 Mon Mar 9 12:31:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 12:31:36 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17384 ) Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 12:31:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 12:32:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 12:32:01 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID2 from SIM In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17385 ) Change subject: pySim-read.py: support for reading GID2 from SIM ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 Gerrit-Change-Number: 17385 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 12: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 Mon Mar 9 13:22:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 13:22:22 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17356 ) Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 13:22: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 Mar 9 13:26:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 13:26:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Add RTP payload testing to performance tests In-Reply-To: References: Message-ID: pespin 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 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/2/bts/RTP_CodecPort_CtrlFunct.ttcn File bts/RTP_CodecPort_CtrlFunct.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/2/bts/RTP_CodecPort_CtrlFunct.ttcn at 1 PS2, Line 1: module RTP_CodecPort_CtrlFunct { Isn't this generic enough to be put under lib/? -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 13:26:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 13:27:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 13:27:29 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 13:27: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 Mar 9 14:13:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 14:13:26 +0000 Subject: Change in osmo-gsm-tester[master]: srsepc: Update log file output matching References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17436 ) Change subject: srsepc: Update log file output matching ...................................................................... srsepc: Update log file output matching New version of srsEPC improved the information logged during S1 setup request, which we use to wait for the ENB to be connected. Change-Id: Ia2338e3161c66ef7c1ab50b024a70de661edc780 --- M src/osmo_gsm_tester/srs_epc.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/17436/1 diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index a33a163..705c7c7 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -202,8 +202,8 @@ return subscriber_id def enb_is_connected(self, enb): - # FIXME: srspec's stdout: "S1 Setup Request - eNB Id 0x66c0", but srsenb.conf has "enb_id = 0x19B" - return 'S1 Setup Request - eNB Id' in (self.process.get_stdout() or '') + # TODO: match against srsENB config: "S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19" + return 'S1 Setup Request - eNB' in (self.process.get_stdout() or '') def running(self): return not self.process.terminated() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia2338e3161c66ef7c1ab50b024a70de661edc780 Gerrit-Change-Number: 17436 Gerrit-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 Mar 9 15:13:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 15:13:43 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 ) Change subject: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value ...................................................................... srsenb_sib.conf: Fix warning about wrong prach_freq_offset value WARNING: Invalid PRACH configuration - prach=(2, 8) does not fit into the eNB PRBs=(0, 6). Consider changing the "prach_freq_offset" value to 0 in the sib.conf file when using 6 PRBs. I have been advise to simply use value 0 always. Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd --- M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/17437/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl index 201d022..fcab72c 100644 --- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl @@ -46,7 +46,7 @@ { high_speed_flag = false; prach_config_index = 3; - prach_freq_offset = 2; + prach_freq_offset = 0; zero_correlation_zone_config = 5; }; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd Gerrit-Change-Number: 17437 Gerrit-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 Mar 9 15:13:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 15:13:43 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Configure num_ports for tmode > 1 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 ) Change subject: srsue,srsenb: Configure num_ports for tmode > 1 ...................................................................... srsue,srsenb: Configure num_ports for tmode > 1 Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 --- M example/defaults.conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 6 files changed, 24 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/17438/1 diff --git a/example/defaults.conf b/example/defaults.conf index 9b92ad0..aa61bca 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -103,3 +103,6 @@ mnc: 70 num_prb: 100 transmission_mode: 1 + +srsue: + num_rx_ant: 1 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 07d32e2..05d54e9 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -107,6 +107,7 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, + 'modem[].num_rx_ant': schema.UINT, 'osmocon_phone[].serial_device': schema.STR, } diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 1fb2db1..716217e 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -184,13 +184,17 @@ assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) assert self._txmode + config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self._num_prb) - rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \ - + ':2000,rx_port=tcp://' + self.ue.addr() \ - + ':2001,id=enb,base_srate=' + str(base_srate) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port=tcp://' + self.addr() + ':2000' \ + + ',tx_port2=tcp://' + self.addr() + ':2002' \ + + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ + + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) @@ -226,6 +230,11 @@ def num_prb(self): return self._num_prb + def num_ports(self): + if self._txmode == 1: + return 1 + return 2 + def ue_max_rate(self, downlink=True): # The max rate for a single UE per PRB in TM1 max_phy_rate_tm1_dl = { 6 : 2.3e6, diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 2cb05a2..a453bc7 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -213,9 +213,12 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self.enb.num_prb()) - config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://' + self.addr() - +':2001,rx_port=tcp://' + self.enb.addr() - +':2000,id=ue,base_srate='+ str(base_srate) + config.overlay(values, dict(ue=dict(rf_dev_args = 'tx_port=tcp://' + self.addr() + ':2001' \ + + ',tx_port2=tcp://' + self.addr() + ':2003' \ + + ',rx_port=tcp://' + self.enb.addr() + ':2000' \ + + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \ + + ',id=ue,base_srate='+ str(base_srate), + num_rx_ant = self.enb.num_ports() ))) self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 7775947..dccade5 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -27,7 +27,7 @@ s1c_bind_addr = ${enb.addr} n_prb = ${enb.num_prb} tm = ${enb.transmission_mode} -#nof_ports = 2 +nof_ports = ${enb.num_ports} ##################################################################### # eNB configuration files diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 627f592..0a4b426 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -37,7 +37,7 @@ #rx_gain = 40 #nof_radios = 1 -#nof_rx_ant = 1 +nof_rx_ant = ${ue.num_rx_ant} device_name = ${ue.rf_dev_type} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 Gerrit-Change-Number: 17438 Gerrit-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 Mar 9 16:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 16:22:59 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Configure num_ports for tmode > 1 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/+/17438 to look at the new patch set (#2). Change subject: srsue,srsenb: Configure num_ports for tmode > 1 ...................................................................... srsue,srsenb: Configure num_ports for tmode > 1 Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 4 files changed, 20 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/17438/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 Gerrit-Change-Number: 17438 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 Mar 9 16:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 16:22:59 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value 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/+/17437 to look at the new patch set (#2). Change subject: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value ...................................................................... srsenb_sib.conf: Fix warning about wrong prach_freq_offset value WARNING: Invalid PRACH configuration - prach=(2, 8) does not fit into the eNB PRBs=(0, 6). Consider changing the "prach_freq_offset" value to 0 in the sib.conf file when using 6 PRBs. Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd --- M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/17437/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd Gerrit-Change-Number: 17437 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 Mar 9 16:49:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:49:06 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Update config files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17435 ) Change subject: srsenb: Update config files ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I84db30dc57ea9e0b05208fa86d88d42d492b237f Gerrit-Change-Number: 17435 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16:49:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 16:49:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:49:16 +0000 Subject: Change in osmo-gsm-tester[master]: srsepc: Update log file output matching In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17436 ) Change subject: srsepc: Update log file output matching ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia2338e3161c66ef7c1ab50b024a70de661edc780 Gerrit-Change-Number: 17436 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16:49: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 Mar 9 16:49:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:49:27 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Configure num_ports for tmode > 1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 ) Change subject: srsue,srsenb: Configure num_ports for tmode > 1 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 Gerrit-Change-Number: 17438 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16: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 Mon Mar 9 16:49:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:49:43 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 ) Change subject: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd Gerrit-Change-Number: 17437 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16:49:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 16:50:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:50:15 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Install libulfius from osmocom OBS repos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17276 ) Change subject: debian-stretch-jenkins: Install libulfius from osmocom OBS repos ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 16: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 Mon Mar 9 16:50:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:50:18 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: Install libulfius from osmocom OBS repos In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17276 ) Change subject: debian-stretch-jenkins: Install libulfius from osmocom OBS repos ...................................................................... debian-stretch-jenkins: Install libulfius from osmocom OBS repos We currently build libulfius 2.5. It doesn't say anywhere in osmo-remsim that libulfius-3.6.4 is required anyway. Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d --- M debian-stretch-jenkins/Dockerfile A debian-stretch-jenkins/Release.key 2 files changed, 31 insertions(+), 11 deletions(-) Approvals: pespin: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index 92d5bdd..ddf8f87 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -133,17 +133,17 @@ update-locale LANG=en_US.UTF-8 ENV LANG en_US.UTF-8 -# osmo-remsim needs libulfius (which indirectly depends on systemd, installed above) -ARG LIBULFIUS_VER="2.6.4" -ARG LIBULFIUS_PATH="https://github.com/babelouest/ulfius/releases/download/v${LIBULFIUS_VER}" -ADD ${LIBULFIUS_PATH}/libulfius-dev_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.deb /tmp/ulfius/libulfius-dev.deb -ADD ${LIBULFIUS_PATH}/ulfius-dev-full_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.tar.gz /tmp/ulfius/all.tar.gz -RUN cd /tmp/ulfius && \ - tar -xvf all.tar.gz && \ - DEBIAN_FRONTEND=noninteractive apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/ulfius/*.deb && \ - cd ~ && \ - rm -r /tmp/ulfius +# osmo-remsim needs libulfius which is built in osmocom OBS repos: +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +COPY Release.key /tmp/Release.key +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libulfius-dev && \ + apt-get clean # osmo-python-tests' contrib/jenkins.sh writes to /usr/local as user RUN chown -R build:build /usr/local diff --git a/debian-stretch-jenkins/Release.key b/debian-stretch-jenkins/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/debian-stretch-jenkins/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie6b07f676f8e06959eaac5e865c163de3f9c939d Gerrit-Change-Number: 17276 Gerrit-PatchSet: 4 Gerrit-Owner: pespin 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 Mar 9 16:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:50:55 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17384 ) Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16:50:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 16:54:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:54:50 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Patch Set 11: > Creating a class for Service Table sounds good. Do you think having Service Table object as member variable for each card type is a good idea? I'm not 100% sure. After all, the Service Table is an attribute of the *instance* of a given card class. Its contents can differer from one card to another of that product/class. I'm not an expert on pySim code. In theory, one would probably have something that separates the card specific code (and constant data related to a given card model) from the dynamic data that we are just reading from the filesystem of one specific card? > And BTW, in pySim-read.py any reason why cla byte and sel_ctrl are not set based on card type (its done properly in pySim-prog.py)? I don't think so. In general, I would assume lots of things are just for historical reasons and the lack of any real architecture. Any clean-up/refactoring is welcome. With the tester in place we should be able to ensure we don't break functionality for one card type or the other. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 11 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16:54: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 Mon Mar 9 16:55:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:55:08 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID2 from SIM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17385 ) Change subject: pySim-read.py: support for reading GID2 from SIM ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 Gerrit-Change-Number: 17385 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Mar 2020 16:55:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 16:56:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:56:20 +0000 Subject: Change in libosmocore[master]: parity: add amr crc14 definition In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17325 ) Change subject: parity: add amr crc14 definition ...................................................................... parity: add amr crc14 definition AMR not only specifies a 6 bit CRC for regular voice information. It also specifies a 14 bit CRC to protect the comfort noise updates contained in the SID_UPDATE frames. Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Related: OS#2978 --- M include/osmocom/coding/gsm0503_parity.h M src/coding/gsm0503_parity.c M src/coding/libosmocoding.map 3 files changed, 13 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/coding/gsm0503_parity.h b/include/osmocom/coding/gsm0503_parity.h index 28a5444..c35477f 100644 --- a/include/osmocom/coding/gsm0503_parity.h +++ b/include/osmocom/coding/gsm0503_parity.h @@ -19,5 +19,6 @@ const struct osmo_crc8gen_code gsm0503_tch_fr_crc3; const struct osmo_crc8gen_code gsm0503_tch_efr_crc8; const struct osmo_crc8gen_code gsm0503_amr_crc6; +const struct osmo_crc16gen_code gsm0503_amr_crc14; /*! @} */ diff --git a/src/coding/gsm0503_parity.c b/src/coding/gsm0503_parity.c index 874114f..a8daacc 100644 --- a/src/coding/gsm0503_parity.c +++ b/src/coding/gsm0503_parity.c @@ -134,4 +134,15 @@ .remainder = 0x3f, }; +/*! GSM AMR parity (SID_UPDATE) + * + * g(x) = x^14 + x^13 + x^5 + x^3 + x^2 + 1 + */ +const struct osmo_crc16gen_code gsm0503_amr_crc14 = { + .bits = 14, + .poly = 0x202d, + .init = 0x0000, + .remainder = 0x3fff, +}; + /*! @} */ diff --git a/src/coding/libosmocoding.map b/src/coding/libosmocoding.map index 87b3886..7f88111 100644 --- a/src/coding/libosmocoding.map +++ b/src/coding/libosmocoding.map @@ -56,6 +56,7 @@ gsm0503_tch_fr_crc3; gsm0503_tch_efr_crc8; gsm0503_amr_crc6; +gsm0503_amr_crc14; gsm0503_xcch_burst_unmap; gsm0503_xcch_burst_map; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5cfd8ca806aba8d42cb9787f69605cea7de6e900 Gerrit-Change-Number: 17325 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder 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 Mon Mar 9 16:56:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:56:20 +0000 Subject: Change in libosmocore[master]: conv: add convolutional coder for AMR SID UPDATE frames In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17326 ) Change subject: conv: add convolutional coder for AMR SID UPDATE frames ...................................................................... conv: add convolutional coder for AMR SID UPDATE frames AMR SID update frames are protected using an 1/4 convolutional coder, wich is similar to the one used with 6,7 kbit voice frames. Except that there is no puncturing and the length is different. Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Related: OS#2978 --- M src/gsm/libosmogsm.map M tests/conv/conv_gsm0503_test.ok M utils/conv_codes_gsm.py 3 files changed, 28 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index efca0a5..a518b28 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -135,6 +135,7 @@ gsm0503_tch_ahs_5_9; gsm0503_tch_ahs_5_15; gsm0503_tch_ahs_4_75; +gsm0503_tch_axs_sid_update; gsm0503_mcs1_dl_hdr; gsm0503_mcs1_ul_hdr; gsm0503_mcs1; diff --git a/tests/conv/conv_gsm0503_test.ok b/tests/conv/conv_gsm0503_test.ok index 39480ca..764bd43 100644 --- a/tests/conv/conv_gsm0503_test.ok +++ b/tests/conv/conv_gsm0503_test.ok @@ -190,6 +190,14 @@ [..] Encoding / Decoding cycle : OK [..] Encoding / Decoding cycle : OK +[+] Testing: gsm0503_tch_axs_sid_update +[.] Input length : ret = 49 exp = 49 -> OK +[.] Output length : ret = 212 exp = 212 -> OK +[.] Random vector checks: +[..] Encoding / Decoding cycle : OK +[..] Encoding / Decoding cycle : OK +[..] Encoding / Decoding cycle : OK + [+] Testing: gsm0503_mcs1_dl_hdr [.] Input length : ret = 36 exp = 36 -> OK [.] Output length : ret = 108 exp = 108 -> OK diff --git a/utils/conv_codes_gsm.py b/utils/conv_codes_gsm.py index e189985..42f340b 100644 --- a/utils/conv_codes_gsm.py +++ b/utils/conv_codes_gsm.py @@ -522,6 +522,25 @@ description = ["TCH/AHS 4.75 kbits convolutional code"] ), + # TCH_AXS SID UPDATE definition + ConvolutionalCode( + 49, + [ + ( G1, G3 ), + ( G2, G3 ), + ( 1, 1 ), + ( 1, 1 ), + ], + name = 'tch_axs_sid_update', + description = [ + "TCH/AFS and TCH/AHS SID UPDATE convolutional code:", + "G1/G3 = 1 + D + D3 + D4 / 1 + D + D2 + D3 + D4", + "G2/G3 = 1 + D2 + D4 / 1 + D + D2 + D3 + D4", + "G3/G3 = 1", + "G3/G3 = 1", + ] + ), + # EDGE MCS1_DL_HDR definition ConvolutionalCode( 36, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia35ed4178a7f0d816052b7e5d6478b93a1d9744f Gerrit-Change-Number: 17326 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 Mon Mar 9 16:56:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 16:56:53 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17356 ) Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 16:56: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 Mar 9 17:02:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 17:02:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Add RTP payload testing to performance tests In-Reply-To: References: Message-ID: laforge 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 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/2/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/2/bts/BTS_Tests.ttcn at 538 PS2, Line 538: * the testcase. */ I'm not sure if we want this overrhead of 14 RTPEM (and their downstream components, each of those a forked process) for every test case, even if it doesn't relate to RTP / user plane at all. Maybe make this conditional to a boolean variable in "pars"? Or have an explicit f_init_rtpem() which those tests then have to call "manually"? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/2/bts/RTP_CodecPort_CtrlFunct.ttcn File bts/RTP_CodecPort_CtrlFunct.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/2/bts/RTP_CodecPort_CtrlFunct.ttcn at 1 PS2, Line 1: module RTP_CodecPort_CtrlFunct { > Isn't this generic enough to be put under lib/? I agree, the RTP_CodecPort related files should be under lib/ and linked in with gen_links.sh. Right now I'm wondering if they are actually used? IT looks to me as if only the RTP Emulation is used? I cannot find any reference to RTP_CODEC_PT outside of this file, for example... -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 17:02:27 +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 Mar 9 17:50:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 17:50:28 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Configure num_ports for tmode > 1 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-gsm-tester/+/17438 to look at the new patch set (#3). Change subject: srsue,srsenb: Configure num_ports for tmode > 1 ...................................................................... srsue,srsenb: Configure num_ports for tmode > 1 Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 4 files changed, 20 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/17438/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 Gerrit-Change-Number: 17438 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 17:50:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 17:50:28 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Use logfile instead of stdout References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17439 ) Change subject: srsue: Use logfile instead of stdout ...................................................................... srsue: Use logfile instead of stdout newer srsLTE has fixes to exit properly after 3 seconds and then flush the log file. Change-Id: I9801ce932ad08b7fbb6d14a66e1dba64d4af38f7 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/39/17439/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 20a5001..9743848 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -83,6 +83,12 @@ 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) @@ -154,7 +160,7 @@ args = (remote_binary, self.remote_config_file, '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), - '--log.filename=' + 'stdout', #self.remote_log_file, + '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9801ce932ad08b7fbb6d14a66e1dba64d4af38f7 Gerrit-Change-Number: 17439 Gerrit-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 Mar 9 17:55:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 17:55:34 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: Update config files In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17435 ) Change subject: srsenb: Update config files ...................................................................... srsenb: Update config files Latest ENB config file grammar changed and needs to be updated to work with next versions of srsENB. Change-Id: I84db30dc57ea9e0b05208fa86d88d42d492b237f --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 2 files changed, 5 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 12b3e18..7775947 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -20,9 +20,6 @@ ##################################################################### [enb] enb_id = 0x19B -cell_id = 0x01 -phy_cell_id = 1 -tac = 0x0007 mcc = ${enb.mcc} mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 1fff189..3dd3fee 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -54,12 +54,12 @@ ( { // rf_port = 0; - // cell_id = 0x01; - // tac = 0x0001; - // pci = 1; + cell_id = 0x01; + tac = 0x0001; + pci = 1; // root_seq_idx = 204; - // dl_earfcn = 3400; - // ul_earfcn = 474; + dl_earfcn = 3400; + //ul_earfcn = 21400; ho_active = false; // CA cells -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I84db30dc57ea9e0b05208fa86d88d42d492b237f Gerrit-Change-Number: 17435 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 Mar 9 17:55:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 17:55:34 +0000 Subject: Change in osmo-gsm-tester[master]: srsepc: Update log file output matching In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17436 ) Change subject: srsepc: Update log file output matching ...................................................................... srsepc: Update log file output matching New version of srsEPC improved the information logged during S1 setup request, which we use to wait for the ENB to be connected. Change-Id: Ia2338e3161c66ef7c1ab50b024a70de661edc780 --- M src/osmo_gsm_tester/srs_epc.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index a33a163..705c7c7 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -202,8 +202,8 @@ return subscriber_id def enb_is_connected(self, enb): - # FIXME: srspec's stdout: "S1 Setup Request - eNB Id 0x66c0", but srsenb.conf has "enb_id = 0x19B" - return 'S1 Setup Request - eNB Id' in (self.process.get_stdout() or '') + # TODO: match against srsENB config: "S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19" + return 'S1 Setup Request - eNB' in (self.process.get_stdout() or '') def running(self): return not self.process.terminated() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia2338e3161c66ef7c1ab50b024a70de661edc780 Gerrit-Change-Number: 17436 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 Mar 9 18:36:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 18:36:19 +0000 Subject: Change in osmocom-bb[master]: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17440 ) Change subject: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS ...................................................................... virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS In case we get assignments to secondary TRXs, the ARFCN of that TRX must be used, and not the serving cell BCCH ARFCN. Change-Id: Ief6cf5816969d819ff9506be70bec9b8d0d9d9be --- M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/virt_prim_data.c M src/host/virt_phy/src/virt_prim_traffic.c 5 files changed, 35 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/40/17440/1 diff --git a/src/host/virt_phy/include/virtphy/virt_l1_model.h b/src/host/virt_phy/include/virtphy/virt_l1_model.h index e2485fc..99ad39f 100644 --- a/src/host/virt_phy/include/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/virtphy/virt_l1_model.h @@ -68,6 +68,7 @@ struct { uint8_t chan_type; // like rsl chantype 08.58 -> Chapter 9.3.1 */ + uint16_t band_arfcn; uint8_t tn; // timeslot number 1-7 uint8_t subslot; // subslot of the dedicated channel, SDCCH/4:[0-3], SDCCH/8:[0-7] diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 3fa69c4..83b01fe 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -81,7 +81,7 @@ struct l1ctl_info_ul *ul; struct gsmtap_hdr *gh; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ - uint16_t arfcn = ms->state.serving_cell.arfcn; /* arfcn of the cell we currently camp on */ + uint16_t arfcn; uint8_t signal_dbm = 63; /* signal strength */ uint8_t snr = 63; /* signal noise ratio, 63 is best */ uint8_t *data = msgb_l2(msg); /* data to transmit (whole message without l1 header) */ @@ -92,6 +92,16 @@ uint8_t timeslot; /* tdma timeslot to send in (0-7) */ uint8_t gsmtap_chan; /* the gsmtap channel */ + switch (ms->state.state) { + case MS_STATE_DEDICATED: + case MS_STATE_TBF: + arfcn = ms->state.dedicated.band_arfcn; + break; + default: + arfcn = ms->state.serving_cell.arfcn; + break; + } + switch (l1h->msg_type) { case L1CTL_DATA_TBF_REQ: ul = NULL; @@ -235,18 +245,24 @@ gsm_fn2gsmtime(&ms->state.downlink_time, fn); - /* we do not forward messages to l23 if we are in network search state */ - if (ms->state.state == MS_STATE_IDLE_SEARCHING) + switch (ms->state.state) { + case MS_STATE_IDLE_SEARCHING: + /* we do not forward messages to l23 if we are in network search state */ return; - - /* forward downlink msg to fbsb sync routine if we are in sync state */ - if (ms->state.state == MS_STATE_IDLE_SYNCING) { + case MS_STATE_IDLE_SYNCING: + /* forward downlink msg to fbsb sync routine if we are in sync state */ prim_fbsb_sync(ms, msg); return; - } - /* generally ignore all messages coming from another arfcn than the camped one */ - if (ms->state.serving_cell.arfcn != arfcn) { - return; + case MS_STATE_DEDICATED: + /* generally ignore all messages coming from another arfcn than the camped one */ + if (arfcn != ms->state.dedicated.band_arfcn) + return; + break; + default: + /* generally ignore all messages coming from another arfcn than the camped one */ + if (arfcn != ms->state.serving_cell.arfcn) + return; + break; } virt_l1_sched_sync_time(ms, ms->state.downlink_time, 0); diff --git a/src/host/virt_phy/src/l1ctl_sap.c b/src/host/virt_phy/src/l1ctl_sap.c index 7669c86..0ff5412 100644 --- a/src/host/virt_phy/src/l1ctl_sap.c +++ b/src/host/virt_phy/src/l1ctl_sap.c @@ -286,9 +286,11 @@ 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, tn=%u, ss=%u)\n", - ul->chan_nr, timeslot, subslot); + LOGPMS(DL1C, LOGL_INFO, 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 */ + ms->state.dedicated.band_arfcn = ntohs(est_req->h0.band_arfcn); ms->state.dedicated.chan_type = rsl_chantype; ms->state.dedicated.tn = timeslot; ms->state.dedicated.subslot = subslot; diff --git a/src/host/virt_phy/src/virt_prim_data.c b/src/host/virt_phy/src/virt_prim_data.c index 96534aa..65368b8 100644 --- a/src/host/virt_phy/src/virt_prim_data.c +++ b/src/host/virt_phy/src/virt_prim_data.c @@ -47,7 +47,8 @@ static void virt_l1_sched_handler_cb(struct l1_model_ms *ms, uint32_t fn, uint8_t tn, struct msgb * msg) { gsmtapl1_tx_to_virt_um_inst(ms, fn, tn, msg); - l1ctl_tx_data_conf(ms, fn, 0, ms->state.serving_cell.arfcn); + /* FIXME: get ARFCN from msg payload */ + l1ctl_tx_data_conf(ms, fn, 0, ms->state.dedicated.band_arfcn); } /** diff --git a/src/host/virt_phy/src/virt_prim_traffic.c b/src/host/virt_phy/src/virt_prim_traffic.c index 3d2b2b1..0e08a12 100644 --- a/src/host/virt_phy/src/virt_prim_traffic.c +++ b/src/host/virt_phy/src/virt_prim_traffic.c @@ -47,7 +47,8 @@ static void virt_l1_sched_handler_cb(struct l1_model_ms *ms, uint32_t fn, uint8_t tn, struct msgb * msg) { gsmtapl1_tx_to_virt_um_inst(ms, fn, tn, msg); - l1ctl_tx_traffic_conf(ms, fn, 0, ms->state.serving_cell.arfcn); + /* FIXME: get ARFCN from msg payload */ + l1ctl_tx_traffic_conf(ms, fn, 0, ms->state.dedicated.band_arfcn); } /** -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ief6cf5816969d819ff9506be70bec9b8d0d9d9be Gerrit-Change-Number: 17440 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 Mar 9 19:07:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 19:07:52 +0000 Subject: Change in osmocom-bb[master]: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17440 ) Change subject: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ief6cf5816969d819ff9506be70bec9b8d0d9d9be Gerrit-Change-Number: 17440 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 19: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 Mar 9 19:25:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Mar 2020 19:25:15 +0000 Subject: Change in osmocom-bb[master]: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17440 ) Change subject: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ief6cf5816969d819ff9506be70bec9b8d0d9d9be Gerrit-Change-Number: 17440 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 19:25: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 Mar 9 19:38:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Mar 2020 19:38:08 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Mar 2020 19:38:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 19:38:33 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Mar 2020 19:38:33 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... virt_phy: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 --- M src/host/virt_phy/configure.ac M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/virt_prim_traffic.c 3 files changed, 63 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/host/virt_phy/configure.ac b/src/host/virt_phy/configure.ac index a2c2bf6..fbff2c1 100644 --- a/src/host/virt_phy/configure.ac +++ b/src/host/virt_phy/configure.ac @@ -12,6 +12,8 @@ AC_PROG_INSTALL dnl checks for libraries +dnl TODO: insert libosmocore version with GSMTAP_CHANNEL_VOICE: PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0) +dnl (at time of writing not released yet) PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore) PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm) diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 30f88ff..3fa69c4 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +49,29 @@ return lname; } +/* Return gsmtap_um_voice_type or -1 on error */ +static int get_um_voice_type(enum gsm48_chan_mode tch_mode, uint8_t rsl_chantype) +{ + switch (tch_mode) { + case GSM48_CMODE_SPEECH_V1: + switch (rsl_chantype) { + case RSL_CHAN_Bm_ACCHs: + return GSMTAP_UM_VOICE_FR; + case RSL_CHAN_Lm_ACCHs: + return GSMTAP_UM_VOICE_HR; + default: + return -1; + } + break; + case GSM48_CMODE_SPEECH_EFR: + return GSMTAP_UM_VOICE_EFR; + case GSM48_CMODE_SPEECH_AMR: + return GSMTAP_UM_VOICE_AMR; + default: + return -1; + } +} + /** * Replace l11 header of given msgb by a gsmtap header and send it over the virt um. */ @@ -74,12 +98,25 @@ rsl_chantype = RSL_CHAN_OSMO_PDCH; timeslot = tn; subslot = 0; - gsmtap_chan = chantype_rsl2gsmtap(rsl_chantype, 0); + gsmtap_chan = chantype_rsl2gsmtap2(rsl_chantype, 0, false); + break; + case L1CTL_TRAFFIC_REQ: + ul = (struct l1ctl_info_ul *)l1h->data; + rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); + gsmtap_chan = chantype_rsl2gsmtap2(rsl_chantype, 0, true); + /* the first byte indicates the type of voice codec (gsmtap_um_voice_type); + * let's first strip any data in front of the l2 header, then push this extra + * byte to the front and finally adjust the l2h pointer */ + msgb_pull_to_l2(msg); + msgb_push_u8(msg, get_um_voice_type(ms->state.tch_mode, rsl_chantype)); + msg->l2h = msg->data; + data = msgb_l2(msg); + data_len = msgb_l2len(msg); break; default: ul = (struct l1ctl_info_ul *)l1h->data; rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); - gsmtap_chan = chantype_rsl2gsmtap(rsl_chantype, ul->link_id); + gsmtap_chan = chantype_rsl2gsmtap2(rsl_chantype, ul->link_id, false); break; } @@ -219,13 +256,7 @@ switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) { case GSMTAP_CHANNEL_TCH_H: case GSMTAP_CHANNEL_TCH_F: -#if 0 - /* TODO: handle voice */ - if (!facch && !tch_acch) { - l1ctl_tx_traffic_ind(msg, arfcn, link_id, chan_nr, fn, - snr, signal_dbm, 0, 0); - } -#endif + /* This is TCH signalling, for voice frames see GSMTAP_CHANNEL_VOICE */ case GSMTAP_CHANNEL_SDCCH4: case GSMTAP_CHANNEL_SDCCH8: /* only forward messages on dedicated channels to l2, if @@ -235,6 +266,16 @@ l1ctl_tx_data_ind(ms, msg, arfcn, link_id, chan_nr, fn, snr_db, signal_dbm, 0, 0); } break; + case GSMTAP_CHANNEL_VOICE_F: + case GSMTAP_CHANNEL_VOICE_H: + /* only forward messages on dedicated channels to l2, if + * the timeslot and subslot is fitting */ + if (ms->state.dedicated.tn == timeslot + && ms->state.dedicated.subslot == subslot) { + l1ctl_tx_traffic_ind(ms, msg, arfcn, link_id, chan_nr, fn, + snr_db, signal_dbm, 0, 0); + } + break; case GSMTAP_CHANNEL_CBCH51: /* only pass CBCH data if the user application actually indicated that a CBCH * is present */ diff --git a/src/host/virt_phy/src/virt_prim_traffic.c b/src/host/virt_phy/src/virt_prim_traffic.c index 5f6b273..3d2b2b1 100644 --- a/src/host/virt_phy/src/virt_prim_traffic.c +++ b/src/host/virt_phy/src/virt_prim_traffic.c @@ -84,7 +84,8 @@ struct msgb *l1ctl_msg = NULL; struct l1ctl_traffic_ind * l1ti; struct l1ctl_info_dl * l1dl; - uint8_t *frame, frame_len; + uint8_t *frame; + int frame_len; uint8_t rsl_chan_type, subchan, timeslot; l1ctl_msg = l1ctl_msgb_alloc(L1CTL_TRAFFIC_IND); l1dl = (struct l1ctl_info_dl *) msgb_put(l1ctl_msg, sizeof(*l1dl)); @@ -101,11 +102,16 @@ l1dl->num_biterr = 0; /* no biterrors */ l1dl->fire_crc = 0; - /* TODO: traffic decoding and decryption */ - - frame_len = msgb_length(msg); + /* The first byte indicates the type of voice frame (enum gsmtap_um_voice_type), + * which we simply ignore here and pass on the frame without that byte. + * TODO: Check for consistency with ms->state.tch_mode ? */ + frame_len = msgb_length(msg) - 1; + if (frame_len < 0) { + msgb_free(l1ctl_msg); + return; + } frame = (uint8_t *) msgb_put(l1ctl_msg, frame_len); - memcpy(frame, msgb_data(msg), frame_len); + memcpy(frame, msgb_data(msg)+1, frame_len); DEBUGPMS(DL1P, ms, "Tx L1CTL_TRAFFIC_IND (chan_nr=0x%02x, link_id=0x%02x)\n", chan_nr, link_id); l1ctl_sap_tx_to_l23_inst(ms, l1ctl_msg); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 Gerrit-Change-Number: 17415 Gerrit-PatchSet: 4 Gerrit-Owner: laforge 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 Mar 9 19:38:34 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Mar 2020 19:38:34 +0000 Subject: Change in osmocom-bb[master]: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17440 ) Change subject: virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS ...................................................................... virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS In case we get assignments to secondary TRXs, the ARFCN of that TRX must be used, and not the serving cell BCCH ARFCN. Change-Id: Ief6cf5816969d819ff9506be70bec9b8d0d9d9be --- M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/gsmtapl1_if.c M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/virt_prim_data.c M src/host/virt_phy/src/virt_prim_traffic.c 5 files changed, 35 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/host/virt_phy/include/virtphy/virt_l1_model.h b/src/host/virt_phy/include/virtphy/virt_l1_model.h index e2485fc..99ad39f 100644 --- a/src/host/virt_phy/include/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/virtphy/virt_l1_model.h @@ -68,6 +68,7 @@ struct { uint8_t chan_type; // like rsl chantype 08.58 -> Chapter 9.3.1 */ + uint16_t band_arfcn; uint8_t tn; // timeslot number 1-7 uint8_t subslot; // subslot of the dedicated channel, SDCCH/4:[0-3], SDCCH/8:[0-7] diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c index 3fa69c4..83b01fe 100644 --- a/src/host/virt_phy/src/gsmtapl1_if.c +++ b/src/host/virt_phy/src/gsmtapl1_if.c @@ -81,7 +81,7 @@ struct l1ctl_info_ul *ul; struct gsmtap_hdr *gh; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ - uint16_t arfcn = ms->state.serving_cell.arfcn; /* arfcn of the cell we currently camp on */ + uint16_t arfcn; uint8_t signal_dbm = 63; /* signal strength */ uint8_t snr = 63; /* signal noise ratio, 63 is best */ uint8_t *data = msgb_l2(msg); /* data to transmit (whole message without l1 header) */ @@ -92,6 +92,16 @@ uint8_t timeslot; /* tdma timeslot to send in (0-7) */ uint8_t gsmtap_chan; /* the gsmtap channel */ + switch (ms->state.state) { + case MS_STATE_DEDICATED: + case MS_STATE_TBF: + arfcn = ms->state.dedicated.band_arfcn; + break; + default: + arfcn = ms->state.serving_cell.arfcn; + break; + } + switch (l1h->msg_type) { case L1CTL_DATA_TBF_REQ: ul = NULL; @@ -235,18 +245,24 @@ gsm_fn2gsmtime(&ms->state.downlink_time, fn); - /* we do not forward messages to l23 if we are in network search state */ - if (ms->state.state == MS_STATE_IDLE_SEARCHING) + switch (ms->state.state) { + case MS_STATE_IDLE_SEARCHING: + /* we do not forward messages to l23 if we are in network search state */ return; - - /* forward downlink msg to fbsb sync routine if we are in sync state */ - if (ms->state.state == MS_STATE_IDLE_SYNCING) { + case MS_STATE_IDLE_SYNCING: + /* forward downlink msg to fbsb sync routine if we are in sync state */ prim_fbsb_sync(ms, msg); return; - } - /* generally ignore all messages coming from another arfcn than the camped one */ - if (ms->state.serving_cell.arfcn != arfcn) { - return; + case MS_STATE_DEDICATED: + /* generally ignore all messages coming from another arfcn than the camped one */ + if (arfcn != ms->state.dedicated.band_arfcn) + return; + break; + default: + /* generally ignore all messages coming from another arfcn than the camped one */ + if (arfcn != ms->state.serving_cell.arfcn) + return; + break; } virt_l1_sched_sync_time(ms, ms->state.downlink_time, 0); diff --git a/src/host/virt_phy/src/l1ctl_sap.c b/src/host/virt_phy/src/l1ctl_sap.c index 7669c86..0ff5412 100644 --- a/src/host/virt_phy/src/l1ctl_sap.c +++ b/src/host/virt_phy/src/l1ctl_sap.c @@ -286,9 +286,11 @@ 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, tn=%u, ss=%u)\n", - ul->chan_nr, timeslot, subslot); + LOGPMS(DL1C, LOGL_INFO, 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 */ + ms->state.dedicated.band_arfcn = ntohs(est_req->h0.band_arfcn); ms->state.dedicated.chan_type = rsl_chantype; ms->state.dedicated.tn = timeslot; ms->state.dedicated.subslot = subslot; diff --git a/src/host/virt_phy/src/virt_prim_data.c b/src/host/virt_phy/src/virt_prim_data.c index 96534aa..65368b8 100644 --- a/src/host/virt_phy/src/virt_prim_data.c +++ b/src/host/virt_phy/src/virt_prim_data.c @@ -47,7 +47,8 @@ static void virt_l1_sched_handler_cb(struct l1_model_ms *ms, uint32_t fn, uint8_t tn, struct msgb * msg) { gsmtapl1_tx_to_virt_um_inst(ms, fn, tn, msg); - l1ctl_tx_data_conf(ms, fn, 0, ms->state.serving_cell.arfcn); + /* FIXME: get ARFCN from msg payload */ + l1ctl_tx_data_conf(ms, fn, 0, ms->state.dedicated.band_arfcn); } /** diff --git a/src/host/virt_phy/src/virt_prim_traffic.c b/src/host/virt_phy/src/virt_prim_traffic.c index 3d2b2b1..0e08a12 100644 --- a/src/host/virt_phy/src/virt_prim_traffic.c +++ b/src/host/virt_phy/src/virt_prim_traffic.c @@ -47,7 +47,8 @@ static void virt_l1_sched_handler_cb(struct l1_model_ms *ms, uint32_t fn, uint8_t tn, struct msgb * msg) { gsmtapl1_tx_to_virt_um_inst(ms, fn, tn, msg); - l1ctl_tx_traffic_conf(ms, fn, 0, ms->state.serving_cell.arfcn); + /* FIXME: get ARFCN from msg payload */ + l1ctl_tx_traffic_conf(ms, fn, 0, ms->state.dedicated.band_arfcn); } /** -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ief6cf5816969d819ff9506be70bec9b8d0d9d9be Gerrit-Change-Number: 17440 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Mon Mar 9 20:02:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Mar 2020 20:02:47 +0000 Subject: Change in osmo-msc[master]: fix segfault: unsolicited Paging Response References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17441 ) Change subject: fix segfault: unsolicited Paging Response ...................................................................... fix segfault: unsolicited Paging Response Do not crash when a Paging Response could not be associated with a VLR subscriber. Related: OS#4449 Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 --- M src/libmsc/paging.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/41/17441/1 diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 743ce5c..b288414 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -137,6 +137,11 @@ struct paging_request *pr, *pr_next; struct paging_signal_data sig_data; + if (!vsub) { + /* A Paging Response has no subscriber. (Related: OS#4449) */ + return; + } + osmo_timer_del(&vsub->cs.paging_response_timer); llist_for_each_entry_safe(pr, pr_next, &vsub->cs.requests, entry) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 Gerrit-Change-Number: 17441 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 Mar 9 20:32:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Mar 2020 20:32:13 +0000 Subject: Change in osmo-msc[master]: fix segfault: unsolicited Paging Response In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17441 ) Change subject: fix segfault: unsolicited Paging Response ...................................................................... Patch Set 1: Any ideas how / why this happens (vsub == NULL)? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 Gerrit-Change-Number: 17441 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 20:32:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 20:36:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Mar 2020 20:36:48 +0000 Subject: Change in osmo-msc[master]: fix segfault: unsolicited Paging Response In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17441 ) Change subject: fix segfault: unsolicited Paging Response ...................................................................... Patch Set 1: > Patch Set 1: > > Any ideas how / why this happens (vsub == NULL)? see OS#4449, just posted an explanation: it is a repeated Paging Response for the same subscriber. The root cause for repeated Paging Response could be a bug in multi-TRX for osmo-bts-virtual, but that's not really interesting for this issue. It is physically weird to get multiple Paging Responses from the same subscriber, but still osmo-msc must be able to deal with that without crashing. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 Gerrit-Change-Number: 17441 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 20:36:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 9 21:21:21 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Mar 2020 21:21:21 +0000 Subject: Change in osmo-msc[master]: fix segfault: unsolicited Paging Response In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17441 ) Change subject: fix segfault: unsolicited Paging Response ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 Gerrit-Change-Number: 17441 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 21:21: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 Mar 9 21:23:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 21:23:13 +0000 Subject: Change in osmo-msc[master]: fix segfault: unsolicited Paging Response In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17441 ) Change subject: fix segfault: unsolicited Paging Response ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 Gerrit-Change-Number: 17441 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 09 Mar 2020 21:23: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 Mar 9 21:23:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Mar 2020 21:23:17 +0000 Subject: Change in osmo-msc[master]: fix segfault: unsolicited Paging Response In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17441 ) Change subject: fix segfault: unsolicited Paging Response ...................................................................... fix segfault: unsolicited Paging Response Do not crash when a Paging Response could not be associated with a VLR subscriber. Related: OS#4449 Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 --- M src/libmsc/paging.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 743ce5c..b288414 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -137,6 +137,11 @@ struct paging_request *pr, *pr_next; struct paging_signal_data sig_data; + if (!vsub) { + /* A Paging Response has no subscriber. (Related: OS#4449) */ + return; + } + osmo_timer_del(&vsub->cs.paging_response_timer); llist_for_each_entry_safe(pr, pr_next, &vsub->cs.requests, entry) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie117949dd6da86afaa1a0a6ac57bf2111f6cff43 Gerrit-Change-Number: 17441 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 02:58:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 10 Mar 2020 02:58:39 +0000 Subject: Change in osmo-mgw[master]: allow larger MGCP client wqueue: 10 -> 1024 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17442 ) Change subject: allow larger MGCP client wqueue: 10 -> 1024 ...................................................................... allow larger MGCP client wqueue: 10 -> 1024 Enlarge the MGCP client workqueue maximum limit by factor 100. During Abis load testing, a BSC trying to DLCX 200 conns at the same time hit the limit of 10 very very quickly, and everything broke down. Change-Id: I8980cce37bae0757828b28455b25c77bcb6316d0 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/42/17442/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index a65cd61..b6bf43b 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -828,7 +828,7 @@ inet_aton(mgcp->actual.remote_addr, &addr.sin_addr); mgcp->remote_addr = htonl(addr.sin_addr.s_addr); - osmo_wqueue_init(wq, 10); + osmo_wqueue_init(wq, 1024); wq->bfd.when = BSC_FD_READ; wq->bfd.data = mgcp; wq->read_cb = mgcp_do_read; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8980cce37bae0757828b28455b25c77bcb6316d0 Gerrit-Change-Number: 17442 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 Mar 10 09:46:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 09:46:28 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Configure num_ports for tmode > 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 ) Change subject: srsue,srsenb: Configure num_ports for tmode > 1 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 Gerrit-Change-Number: 17438 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 09:46: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 Mar 10 09:46:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 09:46:33 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Use logfile instead of stdout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17439 ) Change subject: srsue: Use logfile instead of stdout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9801ce932ad08b7fbb6d14a66e1dba64d4af38f7 Gerrit-Change-Number: 17439 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 09:46:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 09:46:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 09:46:35 +0000 Subject: Change in osmo-gsm-tester[master]: srsue, srsenb: Configure num_ports for tmode > 1 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 ) Change subject: srsue,srsenb: Configure num_ports for tmode > 1 ...................................................................... srsue,srsenb: Configure num_ports for tmode > 1 Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 4 files changed, 20 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 1fb2db1..716217e 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -184,13 +184,17 @@ assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) assert self._txmode + config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self._num_prb) - rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \ - + ':2000,rx_port=tcp://' + self.ue.addr() \ - + ':2001,id=enb,base_srate=' + str(base_srate) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port=tcp://' + self.addr() + ':2000' \ + + ',tx_port2=tcp://' + self.addr() + ':2002' \ + + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ + + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) @@ -226,6 +230,11 @@ def num_prb(self): return self._num_prb + def num_ports(self): + if self._txmode == 1: + return 1 + return 2 + def ue_max_rate(self, downlink=True): # The max rate for a single UE per PRB in TM1 max_phy_rate_tm1_dl = { 6 : 2.3e6, diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 2cb05a2..20a5001 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -209,13 +209,16 @@ values = dict(ue=config.get_defaults('srsue')) config.overlay(values, self.suite_run.config()) config.overlay(values, dict(ue=self._conf)) + config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self.enb.num_prb()) - config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://' + self.addr() - +':2001,rx_port=tcp://' + self.enb.addr() - +':2000,id=ue,base_srate='+ str(base_srate) + config.overlay(values, dict(ue=dict(rf_dev_args = 'tx_port=tcp://' + self.addr() + ':2001' \ + + ',tx_port2=tcp://' + self.addr() + ':2003' \ + + ',rx_port=tcp://' + self.enb.addr() + ':2000' \ + + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \ + + ',id=ue,base_srate='+ str(base_srate) ))) self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 7775947..dccade5 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -27,7 +27,7 @@ s1c_bind_addr = ${enb.addr} n_prb = ${enb.num_prb} tm = ${enb.transmission_mode} -#nof_ports = 2 +nof_ports = ${enb.num_ports} ##################################################################### # eNB configuration files diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 627f592..f7dee03 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -37,7 +37,7 @@ #rx_gain = 40 #nof_radios = 1 -#nof_rx_ant = 1 +nof_antennas = ${ue.num_antennas} device_name = ${ue.rf_dev_type} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I35d8ee907738845e729f58c23f377a42bb665672 Gerrit-Change-Number: 17438 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 09:46:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 09:46:36 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 ) Change subject: srsenb_sib.conf: Fix warning about wrong prach_freq_offset value ...................................................................... srsenb_sib.conf: Fix warning about wrong prach_freq_offset value WARNING: Invalid PRACH configuration - prach=(2, 8) does not fit into the eNB PRBs=(0, 6). Consider changing the "prach_freq_offset" value to 0 in the sib.conf file when using 6 PRBs. Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd --- M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl index 201d022..70e642c 100644 --- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl @@ -46,7 +46,11 @@ { high_speed_flag = false; prach_config_index = 3; +% if int(enb['num_prb']) <= 6: + prach_freq_offset = 0; +% else: prach_freq_offset = 2; +% endif zero_correlation_zone_config = 5; }; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd Gerrit-Change-Number: 17437 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 09:46:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 09:46:37 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: Use logfile instead of stdout In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17439 ) Change subject: srsue: Use logfile instead of stdout ...................................................................... srsue: Use logfile instead of stdout newer srsLTE has fixes to exit properly after 3 seconds and then flush the log file. Change-Id: I9801ce932ad08b7fbb6d14a66e1dba64d4af38f7 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 20a5001..9743848 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -83,6 +83,12 @@ 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) @@ -154,7 +160,7 @@ args = (remote_binary, self.remote_config_file, '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), - '--log.filename=' + 'stdout', #self.remote_log_file, + '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9801ce932ad08b7fbb6d14a66e1dba64d4af38f7 Gerrit-Change-Number: 17439 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 Mar 10 10:07:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 10:07:38 +0000 Subject: Change in osmo-mgw[master]: allow larger MGCP client wqueue: 10 -> 1024 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17442 ) Change subject: allow larger MGCP client wqueue: 10 -> 1024 ...................................................................... Patch Set 1: Code-Review+1 May be worth adding mgcp_client_set_wqueue_max_length() API which sets mgcp->wq->max_length. Also, osmo_wqueue_set_max_length() in libosmocore. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8980cce37bae0757828b28455b25c77bcb6316d0 Gerrit-Change-Number: 17442 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 10:07: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 Mar 10 12:24:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 12:24:33 +0000 Subject: Change in osmo-mgw[master]: allow larger MGCP client wqueue: 10 -> 1024 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17442 ) Change subject: allow larger MGCP client wqueue: 10 -> 1024 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8980cce37bae0757828b28455b25c77bcb6316d0 Gerrit-Change-Number: 17442 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 12:24: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 Mar 10 12:24:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 12:24:36 +0000 Subject: Change in osmo-mgw[master]: allow larger MGCP client wqueue: 10 -> 1024 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17442 ) Change subject: allow larger MGCP client wqueue: 10 -> 1024 ...................................................................... allow larger MGCP client wqueue: 10 -> 1024 Enlarge the MGCP client workqueue maximum limit by factor 100. During Abis load testing, a BSC trying to DLCX 200 conns at the same time hit the limit of 10 very very quickly, and everything broke down. Change-Id: I8980cce37bae0757828b28455b25c77bcb6316d0 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index a65cd61..b6bf43b 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -828,7 +828,7 @@ inet_aton(mgcp->actual.remote_addr, &addr.sin_addr); mgcp->remote_addr = htonl(addr.sin_addr.s_addr); - osmo_wqueue_init(wq, 10); + osmo_wqueue_init(wq, 1024); wq->bfd.when = BSC_FD_READ; wq->bfd.data = mgcp; wq->read_cb = mgcp_do_read; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8980cce37bae0757828b28455b25c77bcb6316d0 Gerrit-Change-Number: 17442 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 Tue Mar 10 12:31:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 12:31:01 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 10 Mar 2020 12: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 Tue Mar 10 12:31:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 12:31:06 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17377 ) Change subject: osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE ...................................................................... osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE GSMTAP_CHANNEL_VOICE is the mechanism by which GSMTAP can [finally!] be used to transport circuit-switched voice codec payload, and not just signalling. Original patch by Neels Hofmeyr, heavily extended by Harald Welte. Depends: libosmocore.git I952044a17334f35712e087dc41781805000aebc1 Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/scheduler_virtbts.c 2 files changed, 79 insertions(+), 12 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-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index ab2cb76..b6a3507 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -128,12 +128,7 @@ break; case GSMTAP_CHANNEL_TCH_F: case GSMTAP_CHANNEL_TCH_H: -#if 0 - /* TODO: handle voice messages */ - if (!facch && ! tch_acch) { - osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_TCH, PRIM_OP_INDICATION, msg); - } -#endif + /* This is TCH signalling, for voice frames see GSMTAP_CHANNEL_VOICE */ case GSMTAP_CHANNEL_SDCCH4: case GSMTAP_CHANNEL_SDCCH8: case GSMTAP_CHANNEL_PACCH: @@ -151,6 +146,19 @@ l1sap.u.data.pdch_presence_info = PRES_INFO_BOTH; l1if_process_meas_res(pinst->trx, timeslot, fn, chan_nr, 0, 0, 0, 0); break; + case GSMTAP_CHANNEL_VOICE_F: + case GSMTAP_CHANNEL_VOICE_H: + /* the first byte indicates the type of voice codec (gsmtap_um_voice_type) */ + msg->l2h = msgb_pull(msg, 1); + osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_TCH, PRIM_OP_INDICATION, msg); + l1sap.u.tch.chan_nr = chan_nr; + l1sap.u.tch.fn = fn; + l1sap.u.tch.rssi = 0; /* Radio Signal Strength Indicator. Best -> 0 */ + l1sap.u.tch.ber10k = 0; /* Bit Error Rate in 0.01%. Best -> 0 */ + l1sap.u.tch.ta_offs_256bits = 0; /* Burst time of arrival in quarter bits. Probably used for Timing Advance calc. Best -> 0 */ + l1sap.u.tch.lqual_cb = 10 * signal_dbm; /* Link quality in centiBel = 10 * dB. */ + l1if_process_meas_res(pinst->trx, timeslot, fn, chan_nr, 0, 0, 0, 0); + break; case GSMTAP_CHANNEL_AGCH: case GSMTAP_CHANNEL_PCH: case GSMTAP_CHANNEL_BCCH: diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 90288d1..72a6874 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -52,8 +52,8 @@ * This will at first wrap the msg with a GSMTAP header and then write it to the declared multicast socket. * TODO: we might want to remove unused argument uint8_t tn */ -static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, struct msgb *msg) +static void _tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, + enum trx_chan_type chan, struct msgb *msg, bool is_voice_frame) { const struct trx_chan_desc *chdesc = &trx_chan_desc[chan]; struct msgb *outmsg; /* msg to send with gsmtap header prepended */ @@ -76,7 +76,7 @@ l1sap_fn2ccch_block(fn) >= num_agch(l1t->trx, "PH-DATA-REQ")) gsmtap_chantype = GSMTAP_CHANNEL_PCH; else - gsmtap_chantype = chantype_rsl2gsmtap(rsl_chantype, chdesc->link_id); /* the logical channel type */ + gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ #if MODULO_HYPERFRAME /* Restart fn after every superframe (26 * 51 frames) to simulate hyperframe overflow each 6 seconds. */ @@ -105,6 +105,65 @@ msgb_free(msg); } +static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, + enum trx_chan_type chan, struct msgb *msg) +{ + _tx_to_virt_um(l1t, tn, fn, chan, msg, false); +} + + +static struct gsm_lchan *lchan_from_l1t(struct l1sched_trx *l1t, uint8_t tn, enum trx_chan_type chan) +{ + struct gsm_bts_trx_ts *ts; + uint8_t subslot = 0; + + OSMO_ASSERT(l1t && l1t->trx); + + if (chan == TRXC_TCHH_1) + subslot = 1; + + ts = &l1t->trx->ts[tn]; + return &ts->lchan[subslot]; +} + +/* Determine the gsmtap_um_voice_type of a gsm_lchan */ +static int get_um_voice_type(const struct gsm_lchan *lchan) +{ + switch (lchan->tch_mode) { + case GSM48_CMODE_SPEECH_V1: + if (lchan->type == GSM_LCHAN_TCH_H) + return GSMTAP_UM_VOICE_HR; + else + return GSMTAP_UM_VOICE_FR; + case GSM48_CMODE_SPEECH_EFR: + return GSMTAP_UM_VOICE_EFR; + case GSM48_CMODE_SPEECH_AMR: + return GSMTAP_UM_VOICE_AMR; + default: + return -1; + } +} + +static void tx_to_virt_um_voice_frame(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, + enum trx_chan_type chan, struct msgb *msg) +{ + struct gsm_lchan *lchan = lchan_from_l1t(l1t, tn, chan); + int um_voice_type; + + OSMO_ASSERT(lchan); + um_voice_type = get_um_voice_type(lchan); + if (um_voice_type < 0) { + LOGPLCHAN(lchan, DL1P, LOGL_ERROR, "Cannot determine Um voice type from lchan\n"); + um_voice_type = 0xff; + } + + /* the first byte indicates the type of voice codec (gsmtap_um_voice_type) */ + msgb_pull_to_l2(msg); + msgb_push_u8(msg, um_voice_type); + msg->l2h = msg->data; + _tx_to_virt_um(l1t, tn, fn, chan, msg, true); +} + /* * TX on downlink */ @@ -414,8 +473,8 @@ if (msg_facch) { tx_to_virt_um(l1t, tn, fn, chan, msg_facch); msgb_free(msg_tch); - } else - tx_to_virt_um(l1t, tn, fn, chan, msg_tch); + } else if (msg_tch) + tx_to_virt_um_voice_frame(l1t, tn, fn, chan, msg_tch); send_burst: @@ -456,7 +515,7 @@ tx_to_virt_um(l1t, tn, fn, chan, msg_facch); msgb_free(msg_tch); } else if (msg_tch) - tx_to_virt_um(l1t, tn, fn, chan, msg_tch); + tx_to_virt_um_voice_frame(l1t, tn, fn, chan, msg_tch); send_burst: return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1cd9a251ce0b87181a0822d7940bbfc9f1428543 Gerrit-Change-Number: 17377 Gerrit-PatchSet: 6 Gerrit-Owner: neels 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 Mar 10 14:33:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 10 Mar 2020 14:33:48 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 3: a declaration of the new function in .h file is missing -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Tue, 10 Mar 2020 14:33: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 Tue Mar 10 15:49:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 15:49:01 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option This can be used to determine the multicast TTL packet and hence how far the packet will propagate in the network. If you want to operate the virtual Um only on your own machine, a TTL of 0 would prevent the packets from ever being transmitted on your local ethernet segment. Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Related: OS#2966 --- M include/osmo-bts/phy_link.h M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h M src/osmo-bts-virtual/virtualbts_vty.c 6 files changed, 35 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/17443/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 69c6bd6..116297b 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -53,6 +53,7 @@ } osmotrx; struct { char *mcast_dev; /* Network device for multicast */ + int ttl; /* TTL of transmitted udp multicast */ char *bts_mcast_group; /* BTS are listening to this group */ uint16_t bts_mcast_port; char *ms_mcast_group; /* MS are listening to this group */ diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index b6a3507..3128012 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -204,7 +204,7 @@ plink->u.virt.virt_um = virt_um_init(plink, plink->u.virt.ms_mcast_group, plink->u.virt.ms_mcast_port, plink->u.virt.bts_mcast_group, plink->u.virt.bts_mcast_port, - virt_um_rcv_cb); + plink->u.virt.ttl, virt_um_rcv_cb); if (!plink->u.virt.virt_um) { phy_link_state_set(plink, PHY_LINK_SHUTDOWN); return -1; diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c index 02b7ae9..8a2d21c 100644 --- a/src/osmo-bts-virtual/main.c +++ b/src/osmo-bts-virtual/main.c @@ -123,6 +123,7 @@ plink->u.virt.bts_mcast_port = DEFAULT_BTS_MCAST_PORT; plink->u.virt.ms_mcast_group = talloc_strdup(plink, DEFAULT_MS_MCAST_GROUP); plink->u.virt.ms_mcast_port = DEFAULT_MS_MCAST_PORT; + plink->u.virt.ttl = -1; } void bts_model_phy_instance_set_defaults(struct phy_instance *pinst) diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index 752e4b6..e19f9f2 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -62,10 +62,12 @@ } struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); + int rc; + vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, tx_mcast_port, rx_mcast_group, rx_mcast_port, 1, virt_um_fd_cb, vui); if (!vui->mcast_sock) { @@ -75,6 +77,16 @@ } vui->recv_cb = recv_cb; + if (ttl >= 0) { + rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); + if (rc < 0) { + perror("Cannot set TTL of Virtual Um transmit socket"); + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; + } + } + return vui; } diff --git a/src/osmo-bts-virtual/virtual_um.h b/src/osmo-bts-virtual/virtual_um.h index ac098dd..7841c33 100644 --- a/src/osmo-bts-virtual/virtual_um.h +++ b/src/osmo-bts-virtual/virtual_um.h @@ -23,7 +23,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); diff --git a/src/osmo-bts-virtual/virtualbts_vty.c b/src/osmo-bts-virtual/virtualbts_vty.c index 323222b..46f6f2e 100644 --- a/src/osmo-bts-virtual/virtualbts_vty.c +++ b/src/osmo-bts-virtual/virtualbts_vty.c @@ -171,6 +171,23 @@ return CMD_SUCCESS; } +DEFUN(cfg_phy_mcast_ttl, cfg_phy_mcast_ttl_cmd, + "virtual-um ttl <0-255>", + VUM_STR "Configure the TTL for transmitted multicast GSMTAP packets\n") +{ + struct phy_link *plink = vty->index; + + if (plink->state != PHY_LINK_SHUTDOWN) { + vty_out(vty, "Can only reconfigure a PHY link that is down%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + plink->u.virt.ttl = atoi(argv[0]); + + return CMD_SUCCESS; +} + int bts_model_vty_init(struct gsm_bts *bts) { vty_bts = bts; @@ -180,6 +197,7 @@ install_element(PHY_NODE, &cfg_phy_bts_mcast_group_cmd); install_element(PHY_NODE, &cfg_phy_bts_mcast_port_cmd); install_element(PHY_NODE, &cfg_phy_mcast_dev_cmd); + install_element(PHY_NODE, &cfg_phy_mcast_ttl_cmd); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 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 Mar 10 16:10:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 16:10:23 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device 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/+/17418 to look at the new patch set (#4). Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... socket: Add osmo_sock_mcast_iface_set() to bind multicast to device Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Related: OS#2966 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/17418/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 16:13:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 16:13:41 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 to look at the new patch set (#2). Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option This can be used to determine the multicast TTL packet and hence how far the packet will propagate in the network. If you want to operate the virtual Um only on your own machine, a TTL of 0 would prevent the packets from ever being transmitted on your local ethernet segment. Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Related: OS#2966 --- M include/osmo-bts/phy_link.h M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h M src/osmo-bts-virtual/virtualbts_vty.c 6 files changed, 38 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/17443/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 16:13:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 16:13:42 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17444 ) Change subject: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" ...................................................................... osmo-bts-virtual: Fix "virtual-um net-device NETDEV" The VTY option to bind the virtual Um multicast to a specific network interface has existed ever since osmo-bts-virtual was first merged to the repo. However, embarrassingly, until today it never did anything, i.e. the code to actually perform the bind was missing. Depends: libosmocore.git Ib52d22710020b56965aefcef09bde8247ace4a9c Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Related: OS#2966 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h 3 files changed, 21 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/44/17444/1 diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 3128012..c5c526c 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -204,7 +204,7 @@ plink->u.virt.virt_um = virt_um_init(plink, plink->u.virt.ms_mcast_group, plink->u.virt.ms_mcast_port, plink->u.virt.bts_mcast_group, plink->u.virt.bts_mcast_port, - plink->u.virt.ttl, virt_um_rcv_cb); + plink->u.virt.ttl, plink->u.virt.mcast_dev, virt_um_rcv_cb); if (!plink->u.virt.virt_um) { phy_link_state_set(plink, PHY_LINK_SHUTDOWN); return -1; diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index e19f9f2..1ff5291 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -62,7 +62,7 @@ } struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); @@ -81,14 +81,29 @@ rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); if (rc < 0) { perror("Cannot set TTL of Virtual Um transmit socket"); - mcast_bidir_sock_close(vui->mcast_sock); - talloc_free(vui); - return NULL; + goto out_close; + } + } + + if (dev_name) { + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->tx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast tx to given device"); + goto out_close; + } + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->rx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast rx to given device"); + goto out_close; } } return vui; +out_close: + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; } void virt_um_destroy(struct virt_um_inst *vui) diff --git a/src/osmo-bts-virtual/virtual_um.h b/src/osmo-bts-virtual/virtual_um.h index 7841c33..87cf03a 100644 --- a/src/osmo-bts-virtual/virtual_um.h +++ b/src/osmo-bts-virtual/virtual_um.h @@ -23,7 +23,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Gerrit-Change-Number: 17444 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 Mar 10 16:43:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 16:43:05 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... Patch Set 2: (2 comments) I don't see any comment regarding packets not showing up in wireshark anymore. If you fixed that I'd be interested to know why. Otherwise, It's worth writing that behavior somewhere. https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/main.c File src/osmo-bts-virtual/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/main.c at 126 PS2, Line 126: plink->u.virt.ttl = -1; Worth adding here a comment with the -1 meaning. It would actually make sense to have a define for that. https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtual_um.c File src/osmo-bts-virtual/virtual_um.c: https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtual_um.c at 83 PS2, Line 83: perror("Cannot set TTL of Virtual Um transmit socket"); we should avoid perror but fine since I see we use it in other places in this file, a patch to fix all of them should be submitted at some point. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 16:43: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 Tue Mar 10 16:45:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 16:45:46 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17418/4/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/17418/4/src/socket.c at 1215 PS4, Line 1215: return setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &mr, sizeof(mr)); You should ideally return -errno on error here, not -1 as setsockopt does. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Tue, 10 Mar 2020 16:45: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 Tue Mar 10 17:59:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 17:59:05 +0000 Subject: Change in osmocom-bb[master]: virtphy: Sync virtual_um.[ch] with osmo-bts References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17445 ) Change subject: virtphy: Sync virtual_um.[ch] with osmo-bts ...................................................................... virtphy: Sync virtual_um.[ch] with osmo-bts The files are used in both projects, and while the osmo-bts code has evolved, this copy didn't. Let's sync again (to libosmocore change-Id I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445). Change-Id: I189ee28a85a6d7a7a07b062f6b07012478503e8f Depends: libosmocore.git Ib52d22710020b56965aefcef09bde8247ace4a9c Related: OS#2966 --- M src/host/virt_phy/include/virtphy/virtual_um.h M src/host/virt_phy/src/shared/virtual_um.c M src/host/virt_phy/src/virtphy.c 3 files changed, 54 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/45/17445/1 diff --git a/src/host/virt_phy/include/virtphy/virtual_um.h b/src/host/virt_phy/include/virtphy/virtual_um.h index 52f2df6..fe06092 100644 --- a/src/host/virt_phy/include/virtphy/virtual_um.h +++ b/src/host/virt_phy/include/virtphy/virtual_um.h @@ -17,7 +17,9 @@ #define VIRT_UM_MSGB_SIZE 256 #define DEFAULT_MS_MCAST_GROUP "239.193.23.1" +#define DEFAULT_MS_MCAST_PORT 4729 /* IANA-registered port for GSMTAP */ #define DEFAULT_BTS_MCAST_GROUP "239.193.23.2" +#define DEFAULT_BTS_MCAST_PORT 4729 /* IANA-registered port for GSMTAP */ struct virt_um_inst { void *priv; @@ -27,7 +29,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); diff --git a/src/host/virt_phy/src/shared/virtual_um.c b/src/host/virt_phy/src/shared/virtual_um.c index 9415bfb..14a444c 100644 --- a/src/host/virt_phy/src/shared/virtual_um.c +++ b/src/host/virt_phy/src/shared/virtual_um.c @@ -27,7 +27,9 @@ #include #include #include + #include +#include /** * Virtual UM interface file descriptor callback. @@ -37,49 +39,71 @@ { struct virt_um_inst *vui = ofd->data; - // check if the read flag is set if (what & BSC_FD_READ) { - // allocate message buffer of specified size - struct msgb *msg = msgb_alloc(VIRT_UM_MSGB_SIZE, - "Virtual UM Rx"); + struct msgb *msg = msgb_alloc(VIRT_UM_MSGB_SIZE, "Virtual UM Rx"); int rc; - // read message from fd in message buffer - rc = mcast_bidir_sock_rx(vui->mcast_sock, msgb_data(msg), - msgb_tailroom(msg)); - // rc is number of bytes actually read + /* read message from fd into message buffer */ + rc = mcast_bidir_sock_rx(vui->mcast_sock, msgb_data(msg), msgb_tailroom(msg)); if (rc > 0) { msgb_put(msg, rc); msg->l1h = msgb_data(msg); - // call the l1 callback function for a received msg + /* call the l1 callback function for a received msg */ vui->recv_cb(vui, msg); - } else { - // TODO: this kind of error handling might be a bit harsh + } else if (rc == 0) { vui->recv_cb(vui, NULL); - // Unregister fd from select loop - osmo_fd_unregister(ofd); - close(ofd->fd); - ofd->fd = -1; - ofd->when = 0; - } + osmo_fd_close(ofd); + } else + perror("Read from multicast socket"); + } return 0; } -struct virt_um_inst *virt_um_init( - void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, - void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) +struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, + void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); - vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, - tx_mcast_port, rx_mcast_group, rx_mcast_port, 1, - virt_um_fd_cb, vui); + int rc; + + vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, tx_mcast_port, + rx_mcast_group, rx_mcast_port, 1, virt_um_fd_cb, vui); + if (!vui->mcast_sock) { + perror("Unable to create VirtualUm multicast socket"); + talloc_free(vui); + return NULL; + } vui->recv_cb = recv_cb; + if (ttl >= 0) { + rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); + if (rc < 0) { + perror("Cannot set TTL of Virtual Um transmit socket"); + goto out_close; + } + } + + if (dev_name) { + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->tx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast tx to given device"); + goto out_close; + } + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->rx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast rx to given device"); + goto out_close; + } + } + return vui; +out_close: + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; } void virt_um_destroy(struct virt_um_inst *vui) @@ -97,6 +121,8 @@ rc = mcast_bidir_sock_tx(vui->mcast_sock, msgb_data(msg), msgb_length(msg)); + if (rc < 0) + rc = -errno; msgb_free(msg); return rc; diff --git a/src/host/virt_phy/src/virtphy.c b/src/host/virt_phy/src/virtphy.c index d0a2ddb..3290dd8 100644 --- a/src/host/virt_phy/src/virtphy.c +++ b/src/host/virt_phy/src/virtphy.c @@ -231,7 +231,7 @@ LOGP(DVIRPHY, LOGL_INFO, "Virtual physical layer starting up...\n"); - g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, + g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, -1, NULL, gsmtapl1_rx_from_virt_um_inst_cb); g_vphy.l1ctl_sock = l1ctl_sock_init(tall_vphy_ctx, l1ctl_sap_rx_from_l23_inst_cb, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I189ee28a85a6d7a7a07b062f6b07012478503e8f Gerrit-Change-Number: 17445 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 Mar 10 17:59:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 17:59:05 +0000 Subject: Change in osmocom-bb[master]: virtphy: Add command line arguments to set multicast netdev + TTL References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17446 ) Change subject: virtphy: Add command line arguments to set multicast netdev + TTL ...................................................................... virtphy: Add command line arguments to set multicast netdev + TTL This allows us to bind the multicast sockets to a given network device and/or to set the TTL of the multicast frames and hence control their reach in terms of number of network hops. Change-Id: Ia74aa381a4c1921cb8c7e263842a864ea8028139 Related: OS#2966 --- M src/host/virt_phy/src/virtphy.c 1 file changed, 15 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/46/17446/1 diff --git a/src/host/virt_phy/src/virtphy.c b/src/host/virt_phy/src/virtphy.c index 3290dd8..412da9c 100644 --- a/src/host/virt_phy/src/virtphy.c +++ b/src/host/virt_phy/src/virtphy.c @@ -59,6 +59,8 @@ static char *l1ctl_sock_path = L1CTL_SOCK_PATH; static char *arfcn_sig_lev_red_mask = NULL; static char *pm_timeout = NULL; +static char *mcast_netdev = NULL; +static int mcast_ttl = -1; static void print_usage() { @@ -76,6 +78,8 @@ printf(" -s --l1ctl-sock l1ctl socket path path.\n"); printf(" -r --arfcn-sig-lev-red reduce signal level (e.g. 666,12:888,43:176,22).\n"); printf(" -t --pm-timeout power management timeout.\n"); + printf(" -T --mcast-ttl TTL set TTL of Virtual Um GSMTAP multicast frames\n"); + printf(" -D --mcast-deav NETDEV bind to given network device for Virtual Um\n"); } static void handle_options(int argc, char **argv) @@ -91,9 +95,11 @@ {"l1ctl-sock", required_argument, 0, 's'}, {"arfcn-sig-lev-red", required_argument, 0, 'r'}, {"pm-timeout", required_argument, 0, 't'}, + {"mcast-ttl", required_argument, 0, 'T'}, + {"mcast-dev", required_argument, 0, 'D'}, {0, 0, 0, 0}, }; - c = getopt_long(argc, argv, "hz:y:x:d:s:r:t:", long_options, + c = getopt_long(argc, argv, "hz:y:x:d:s:r:t:T:D:", long_options, &option_index); if (c == -1) break; @@ -124,6 +130,12 @@ case 't': pm_timeout = optarg; break; + case 'T': + mcast_ttl = atoi(optarg); + break; + case 'D': + mcast_netdev = optarg; + break; default: break; } @@ -231,8 +243,8 @@ LOGP(DVIRPHY, LOGL_INFO, "Virtual physical layer starting up...\n"); - g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, -1, NULL, - gsmtapl1_rx_from_virt_um_inst_cb); + g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, mcast_ttl, + mcast_netdev, gsmtapl1_rx_from_virt_um_inst_cb); g_vphy.l1ctl_sock = l1ctl_sock_init(tall_vphy_ctx, l1ctl_sap_rx_from_l23_inst_cb, l1ctl_accept_cb, l1ctl_close_cb, l1ctl_sock_path); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia74aa381a4c1921cb8c7e263842a864ea8028139 Gerrit-Change-Number: 17446 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 Mar 10 18:08:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 18:08:59 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device 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/+/17418 to look at the new patch set (#5). Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... socket: Add osmo_sock_mcast_iface_set() to bind multicast to device Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Related: OS#2966 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/17418/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 18:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 18:10:00 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17418/4/src/socket.c File src/socket.c: https://gerrit.osmocom.org/c/libosmocore/+/17418/4/src/socket.c at 1215 PS4, Line 1215: return setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &mr, sizeof(mr)); > You should ideally return -errno on error here, not -1 as setsockopt does. I agree in principle. However, all other functions in osmo_sock_mcast* that call setsockopt are returning its return value, and not -errno, so I think it is consistent. If at all, the cleanup should then be done for all functions. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Tue, 10 Mar 2020 18:10: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 Tue Mar 10 18:10:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 18:10:27 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Tue, 10 Mar 2020 18:10:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 18:11:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 18:11:06 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 10 Mar 2020 18:11: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 Mar 10 18:11:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 18:11:16 +0000 Subject: Change in osmo-bts[master]: rsl: make IP DSCP configurable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17401 ) Change subject: rsl: make IP DSCP configurable ...................................................................... rsl: make IP DSCP configurable Related: OS#4438 Depends: libosmo-abis I41603db8c1286660ad57ac1c78a8fb393a2b080b Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/rsl.c M src/common/vty.c 4 files changed, 27 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index e0d70b0..3316670 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -741,6 +741,7 @@ uint16_t rtp_port_range_start; uint16_t rtp_port_range_end; uint16_t rtp_port_range_next; + int rtp_ip_dscp; struct { uint8_t ciphers; /* flags A5/1==0x1, A5/2==0x2, A5/3==0x4 */ diff --git a/src/common/bts.c b/src/common/bts.c index da41176..2200615 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -159,6 +159,7 @@ bts->rtp_port_range_start = 16384; bts->rtp_port_range_end = 17407; bts->rtp_port_range_next = bts->rtp_port_range_start; + bts->rtp_ip_dscp = -1; /* configurable via OML */ bts->load.ccch.load_ind_period = 112; diff --git a/src/common/rsl.c b/src/common/rsl.c index 10fb95e..41dd243 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2009,8 +2009,15 @@ bts->rtp_port_range_next += 2; - if (rc == 0) - return 0; + if (rc != 0) + continue; + + if (bts->rtp_ip_dscp != -1) { + if (osmo_rtp_socket_set_dscp(rs, bts->rtp_ip_dscp)) + LOGP(DRSL, LOGL_ERROR, "failed to set DSCP=%i: %s\n", + bts->rtp_ip_dscp, strerror(errno)); + } + return 0; } return -1; diff --git a/src/common/vty.c b/src/common/vty.c index c03f0d4..ab38dc1 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -237,6 +237,8 @@ vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, " rtp port-range %u %u%s", bts->rtp_port_range_start, bts->rtp_port_range_end, VTY_NEWLINE); + if (bts->rtp_ip_dscp != -1) + vty_out(vty, " rtp ip-dscp %i%s", bts->rtp_ip_dscp, VTY_NEWLINE); vty_out(vty, " paging queue-size %u%s", paging_get_queue_max(bts->paging_state), VTY_NEWLINE); vty_out(vty, " paging lifetime %u%s", paging_get_lifetime(bts->paging_state), @@ -501,6 +503,19 @@ return CMD_SUCCESS; } +DEFUN(cfg_bts_rtp_ip_dscp, + cfg_bts_rtp_ip_dscp_cmd, + "rtp ip-dscp <0-63>", + RTP_STR "Specify DSCP for RTP/IP packets\n" "The DSCP value (upper 6 bits of TOS)\n") +{ + struct gsm_bts *bts = vty->index; + int dscp = atoi(argv[0]); + + bts->rtp_ip_dscp = dscp; + + return CMD_SUCCESS; +} + #define PAG_STR "Paging related parameters\n" DEFUN(cfg_bts_paging_queue_size, @@ -1665,6 +1680,7 @@ install_element(BTS_NODE, &cfg_bts_rtp_bind_ip_cmd); install_element(BTS_NODE, &cfg_bts_rtp_jitbuf_cmd); install_element(BTS_NODE, &cfg_bts_rtp_port_range_cmd); + install_element(BTS_NODE, &cfg_bts_rtp_ip_dscp_cmd); install_element(BTS_NODE, &cfg_bts_band_cmd); install_element(BTS_NODE, &cfg_description_cmd); install_element(BTS_NODE, &cfg_no_description_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icdef5d40243fefdeae23f3bcf9c6702e8487928a Gerrit-Change-Number: 17401 Gerrit-PatchSet: 5 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 Tue Mar 10 18:42:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 18:42:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtual_um.c File src/osmo-bts-virtual/virtual_um.c: https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtual_um.c at 83 PS2, Line 83: perror("Cannot set TTL of Virtual Um transmit socket"); > we should avoid perror but fine since I see we use it in other places in this file, a patch to fix a [?] ACK. LOGP statement with strerror(errno) should do the same. https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtualbts_vty.c File src/osmo-bts-virtual/virtualbts_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtualbts_vty.c at 178 PS2, Line 178: ttl <0-255> There should be a way to set it back to -1. How about this? "virtual-um ttl (default|<0-255>)" -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 18:42: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 Mar 10 18:44:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 18:44:16 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 10 Mar 2020 18:44: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 Mar 10 18:47:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 18:47:39 +0000 Subject: Change in osmocom-bb[master]: virtphy: Add command line arguments to set multicast netdev + TTL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17446 ) Change subject: virtphy: Add command line arguments to set multicast netdev + TTL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia74aa381a4c1921cb8c7e263842a864ea8028139 Gerrit-Change-Number: 17446 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 10 Mar 2020 18: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 Tue Mar 10 19:28:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Mar 2020 19:28:37 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manual: Refactor, rewrite, improve and update most of the User Ma... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17447 ) Change subject: doc/manual: Refactor, rewrite, improve and update most of the User Manual ...................................................................... doc/manual: Refactor, rewrite, improve and update most of the User Manual * Some TODOs are added as comments which actually require code changes. These are details which showed up as incongruences or missing bits while writing the documentation for them. * Some sections are introduced but still waiting to be writen soon: ** Debugging section ** Docker Setup section ** Ansible Setup section ** Troubleshooting (add jenkins red cross button sending kill -9) ** resources.conf attribute list needs to be converted to a table * Device related setup needs to be updated and extended * Parametrized scenarios need to be documented * 4G resources documentation needs to be added. Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40 --- M .gitignore A doc/manuals/chapters/ansible.adoc M doc/manuals/chapters/config.adoc A doc/manuals/chapters/docker.adoc M doc/manuals/chapters/install.adoc A doc/manuals/chapters/install_device.adoc M doc/manuals/chapters/intro.adoc A doc/manuals/chapters/resource_pool.adoc M doc/manuals/chapters/trial.adoc A doc/manuals/chapters/troubleshooting.adoc M doc/manuals/osmo-gsm-tester-manual-docinfo.xml M doc/manuals/osmo-gsm-tester-manual.adoc 12 files changed, 930 insertions(+), 767 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/17447/1 diff --git a/.gitignore b/.gitignore index 47e9f86..f281be1 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,6 @@ doc/manuals/*__*.png doc/manuals/*.check doc/manuals/generated/ -doc/manuals/osmomsc-usermanual.xml +doc/manuals/osmo-gsm-tester-manual.xml doc/manuals/common doc/manuals/build diff --git a/doc/manuals/chapters/ansible.adoc b/doc/manuals/chapters/ansible.adoc new file mode 100644 index 0000000..b672528 --- /dev/null +++ b/doc/manuals/chapters/ansible.adoc @@ -0,0 +1,6 @@ +[[ansible]] +== Ansible Setup + +Available in osmocom's osmo-ci.git subdirectory 'ansible/', see there 'gsm-tester/README.md'. + +//TODO: Explain more where to find, how to build, how to use. diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 7e250e0..bb0cec2 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -1,166 +1,43 @@ == Configuration -[[config_paths]] -=== Config Paths +=== Schemas -The osmo-gsm-tester looks for configuration files in various standard -directories in this order: +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. -- '$HOME/.config/osmo-gsm-tester/' -- '/usr/local/etc/osmo-gsm-tester/' -- '/etc/osmo-gsm-tester/' +There are several well-known schemas used across {app-name}, and they are +described in following sub-sections. -The config location can also be set by an environment variable -'$OSMO_GSM_TESTER_CONF', which then overrides the above locations. +[[schema_resources]] +==== Schema 'resources' -The osmo-gsm-tester expects to find the following configuration files in a -configuration directory: +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. -- 'paths.conf' -- 'resources.conf' -- 'default-suites.conf' (optional) -- 'defaults.conf' (optional) +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. -These are described in detail in the following sections. +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-handle}. -=== Format: YAML, and its Drawbacks - -The general configuration format used is YAML. The stock python YAML parser -does have several drawbacks: too many complex possibilities and alternative -ways of formatting a configuration, but at the time of writing seems to be the -only widely used configuration format that offers a simple and human readable -formatting as well as nested structuring. It is recommended to use only the -exact YAML subset seen in this manual in case the osmo-gsm-tester should move -to a less bloated parser in the future. - -Careful: if a configuration item consists of digits and starts with a zero, you -need to quote it, or it may be interpreted as an octal notation integer! Please -avoid using the octal notation on purpose, it is not provided intentionally. - -[[paths_conf]] -=== 'paths.conf' - -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. - -Example: - ----- -state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: '/usr/local/src/osmo-gsm-tester/suites' -scenarios_dir: './scenarios' ----- - -[[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: - -'last_used_msisdn.state':: - Contains last used msisdn number, which is automatically increased every - time osmo-gsm-tester needs to assign a new subscriber in a test. -'lock':: - Lock file used to implement a mutual exclusion zone around the - 'reserved_resources.state' file. -'reserved_resources.state':: - File containing a set of reserved resources by any number of - osmo-gsm-tester instances. Each osmo-gsm-tester instance is responsible - to clear its resources from the list once it is done using them and are - no longer reserved. - -If you would like to set up several separate configurations (not typical), note -that the 'state_dir' is used to reserve resources, which only works when all -configurations that share resources also use the same 'state_dir'. - -This way, several concurrent users of osmo-gsm-tester (ie. several -osmo-gsm-tester processes running in parallel) can run without interfering with -each other (e.g. using same ARFCN, same IP or same ofono modem path). - -[[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 -allocated per suite and not per test. - -Tests for a given suite are located in the form of '.py' python scripts in the -same directory where the 'suite.conf' lays. - -[[scenarios_dir]] -==== 'scenarios_dir' - -This dir contains scenario configuration files. - -Scenarios define constraints to serve the resource requests of a 'suite.conf', -to select specific resources from the general resource pool specified in 'resources.conf'. - -All 'times' attributes are expanded before matching. For example, if a 'suite.conf' -requests two BTS, we 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 ----- - -If only one resource is specified in the scenario, then the resource allocator -assumes the restriction is to be applied to the first resource and that remaining -resources have no restrictions to be taken into consideration. - -To apply restrictions only on the second resource, the first element can be left -emtpy, like: - ----- -resources: - bts: - - {} - - type: osmo-bts-sysmo ----- - -On the 'osmo_gsm_tester.py' command line and the 'default_suites.conf', any number of -such scenario configurations can be combined in the form: - ----- -:[+[+...]] ----- - -e.g. - ----- -my_suite:sysmo+tch_f+amr ----- - -[[resources_conf]] -=== 'resources.conf' - -The 'resources.conf' file defines which hardware is connected to the main unit, -as well as which limited configuration items (like IP addresses or ARFCNs) -should be used. - -These resources are allocated dynamically and are not configured explicitly: - -- MSISDN: phone numbers are dealt out to test scripts in sequence on request. - -A 'resources.conf' is structured as a list of items for each resource type, -where each item has one or more settings -- for an example, see -<>. - -These kinds of resource are known: +//TODO: update this list and use a table for each resource type +These kinds of resources and their attributes are known: 'ip_address':: List of IP addresses to run osmo-nitb instances on. The main unit @@ -251,6 +128,278 @@ - '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_conf]] +==== Schema 'conf' + +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 <> + 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]] +- 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_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. + +//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 + +The osmo-gsm-tester looks for configuration files in various standard +directories in this order: + +- '$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 osmo-gsm-tester expects to find the following configuration files in a +configuration directory: + +- <> +- <> +- <> (optional) +- <> (optional) + +These are described in detail in the following sections. + +[[paths_conf]] +==== 'paths.conf' + +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: +---- +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: '/usr/local/src/osmo-gsm-tester/suites' +scenarios_dir: './scenarios' +---- + +[[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: + +'last_used_*.state':: + Contains stateful content spanning accross {app-name} instances and + runs. For instance, 'last used msisdn number.state' is automatically + (and atomically) increased every time osmo-gsm-tester needs to assign a + new subscriber in a test, ensuring tests get unique msisdn numbers. +'reserved_resources.state':: + File containing a set of reserved resources by any number of + osmo-gsm-tester instances (aka pool of allocated resources). Each + osmo-gsm-tester instance is responsible to clear its resources from the + list once it is done using them and are no longer reserved. +'lock':: + Lock file used to implement a mutual exclusion zone around any state + files in the 'state_dir', to prevent race conditions between different + {app-name} instances running in parallel. + +This way, several concurrent users of osmo-gsm-tester (ie. several +osmo-gsm-tester processes running in parallel) can run without interfering with +each other (e.g. using same ARFCN, same IP or same ofono modem path). + +If you would like to set up several separate configurations (not typical), note +that the 'state_dir' is used to reserve resources, which only works when all +configurations that share resources also use the same 'state_dir'. It's also +important to notice that since resources are stored in YAML dictionary form, if +same physical device is described differently in several +<> files (used by different {app-name} instances), +resource allocation may not work as expected. + +[[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 +allocated per suite and not per test. + +Tests for a given suite are located in the form of '.py' python scripts in the +same directory where the <> lays. + +Tests in the same testsuite willing to use some shared code can do so by putting +it eg. in '$suites_dir/$suitename/lib/testlib.py': +---- +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def my_shared_code(foo): + return foo.bar() +---- + +and then in the test itself use it this way: +---- +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +import testlib +suite.test_import_modules_register_for_cleanup(testlib) +from testlib import my_shared_code + +bar = my_shared_code(foo) +---- + +.Sample 'suites_dir' directory tree: +---- +suites_dir/ +|-- suiteA +| |-- suite.conf +| '-- testA.py +|-- suiteB +| |-- testB.py +| |-- testC.py +| |-- lib +| | '-- testlib.py +| '-- suite.conf +---- + +[[suite_conf]] +===== 'suite.conf' + +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. + +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 +general configuration options (no per-resource) through the +<> section. + +.Sample 'suite.conf' file: +---- +resources: + ip_address: + - times: 9 # msc, bsc, hlr, stp, mgw*2, sgsn, ggsn, iperf3srv + bts: + - times: 1 + modem: + - times: 2 + features: + - gprs + - voice + - times: 2 + features: + - gprs + +config: + bsc: + net: + codec_list: + - fr1 + +defaults: + timeout: 50s +---- + +[[scenarios_dir]] +===== 'scenarios_dir' + +This dir contains scenario configuration files. + +.Sample 'scenarios_dir' directory tree: +---- +scenarios_dir/ +|-- scenarioA.conf +'-- scenarioB.conf +---- + +[[scenario_conf]] +===== 'scenario conf file' +Scenarios define further constraints to serve the resource requests of a +<>, ie. to select specific resources from the general +resource pool specified in <>. + +If only one resource is specified in the scenario, then the resource allocator +assumes the restriction is to be applied to the first resource and that remaining +resources have no restrictions to be taken into consideration. + +To apply restrictions only on the second resource, the first element can be left +emtpy, like: + +---- +resources: + bts: + - {} + - type: osmo-bts-sysmo +---- + +On the 'osmo_gsm_tester.py' command line and the +<>, any number of such scenario +configurations can be combined in the form: + +---- +:[+[+...]] +---- + +e.g. + +---- +my_suite:sysmo+tch_f+amr +---- + +[[resources_conf]] +==== 'resources.conf' + +//TODO: update this section +The 'resources.conf' file defines which hardware is connected to the main unit, +as well as which limited configuration items (like IP addresses or ARFCNs) +should be used. + +A 'resources.conf' is validated by the <>. +That means it is structured as a list of items for each resource type, where +each item has one or more attributes -- for an example, see +<>. + Side note: at first sight it might make sense to the reader to rather structure e.g. the 'ip_address' or 'arfcn' configuration as + '"arfcn: GSM-1800: [512, 514, ...]"', + @@ -262,25 +411,22 @@ available (yet). [[default_suites]] -=== 'default-suites.conf' (optional) +==== 'default-suites.conf' (optional) -The 'default-suites.conf' file contains a list of 'suite:scenario+scenario+...' +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 option. If invoking the 'osmo-gsm-tester.py' without any suite definitions, the '-s' arguments are taken from this file instead. Each of these suite + scenario combinations is run in sequence. -A suite name must match the name of a directory in the 'suites_dir' as defined -by 'paths.conf'. +A suite name must match the name of a directory in the +<> as defined by <>. A scenario name must match the name of a configuration file in the -'scenarios_dir' as defined by 'paths.conf' (optionally without the '.conf' -suffix). +<> as defined by <> +(optionally without the '.conf' suffix). -For 'paths.conf', see <>. - -Example of a 'default-suites.conf' file: - +.Sample 'default-suites.conf' file: ---- - sms:sysmo - voice:sysmo+tch_f @@ -292,24 +438,28 @@ - voice:trx+dyn_ts ---- -=== 'defaults.conf' (optional) +==== 'defaults.conf' (optional) + +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 +it the case the information stored in <> for that +resource may not contain tons of attributes which the object class needs to +manage the resource. + +For this exact reason, the 'defaults.conf' file exist. It contains a set of +default attributes and values (in YAML format) that object classes can use to +fill in the missing gaps, or to provide values which can easily be changed or +overwritten by <> or <> +files through modifiers. Each binary run by osmo-gsm-tester, e.g. 'osmo-nitb' or 'osmo-bts-sysmo', typically has a configuration file template that is populated with values for a -trial run. +trial run. Hence, a <>, <> +or a <> providing a similar setting always has +precedence over the values given in a 'defaults.conf' -Some of these values are provided by the 'resources.conf' from the allocated -resource(s), but not all values can be populated this way: some osmo-nitb -configuration values like the network name, encryption algorithm or timeslot -channel combinations are in fact not resources (only the nitb's interface -address is). These additional settings may be provided by the scenario -configurations, but in case the provided scenarios leave some values unset, -they are taken from this 'defaults.conf'. (A 'scenario.conf' or a -'resources.conf' providing a similar setting always has precedence over the -values given in a 'defaults.conf'). -Example of a 'defaults.conf': - +.Sample 'defaults.conf' file: ---- nitb: net: @@ -359,3 +509,53 @@ - phys_chan_config: TCH/F_TCH/H_PDCH - phys_chan_config: TCH/F_TCH/H_PDCH ---- + +=== Example Setup + +{app-name} comes with an example official setup which is the one used to run +Osmocom's setup. There are actually two different available setups: a +production one and an RnD one, used to develop {app-name} itself. These two set +ups share mostly all configuration, main difference being the +<> file being used. + +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 'suites/' +- <>: Available under 'example/scenarios/' +- <>: Available under 'example/' 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! + +==== Typical Invocations + +Each invocation of osmo-gsm-tester deploys a set of pre-compiled binaries for +the Osmocom core network as well as for the Osmocom based BTS models. To create +such a set of binaries, see <>. + +Examples for launching test trials: + +- Run the default suites (see <>) on a given set of binaries: + +---- +osmo-gsm-tester.py path/to/my-trial +---- + +- 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: + +---- +osmo-gsm-tester.py 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/doc/manuals/chapters/docker.adoc b/doc/manuals/chapters/docker.adoc new file mode 100644 index 0000000..b7560e1 --- /dev/null +++ b/doc/manuals/chapters/docker.adoc @@ -0,0 +1,6 @@ +[[docker]] +== Docker Setup + +Available in osmocom's docker-playground.git subdirectory 'osmo-gsm-tester/'. + +//TODO: Explain more where to find, how to build, how to use. diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index d19f909..e062b8d 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -1,49 +1,11 @@ -== Installation on Main Unit +== {app-name} Installation -The main unit is a general purpose computer that orchestrates the tests. It -runs the core network components, controls the modems and so on. This can be -anything from a dedicated production rack unit to your laptop at home. +=== Trial Builder -This manual will assume that tests are run from a jenkins build slave, by a user -named 'jenkins' that belong to group 'osmo-gsm-tester'. The user configuration -for manual test runs and/or a different user name is identical, simply replace -the user name or group. - -=== Osmo-gsm-tester Dependencies - -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: - ----- -apt-get install \ - dbus \ - tcpdump \ - sqlite3 \ - python3 \ - python3-yaml \ - python3-mako \ - python3-gi \ - ofono \ - patchelf \ - sudo \ - libcap2-bin \ - python3-pip -pip3 install pydbus -pip3 install git+git://github.com/podshumok/python-smpplib.git ----- - -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 <>. - -To run osmo-bts-trx with a USRP attached, you may need to install a UHD driver. -Please refer to http://osmocom.org/projects/osmotrx/wiki/OsmoTRX#UHD for -details; the following is an example for the B200 family USRP devices: - ----- -apt-get install libuhd-dev uhd-host -/usr/lib/uhd/utils/uhd_images_downloader.py ----- +The Trial Builder is the jenkins build slave (host) building all sysroot binary +packages used later by {app-name} to run the tests. It's purpose is to build the +sysroots and provide them to {app-anme}, for instance, as jenkins job artifacts +which the {app-name} runner job can fetch. [[jenkins_deps]] ==== Osmocom Build Dependencies @@ -56,11 +18,109 @@ osmo-bts-sysmo build needs the sysmoBTS SDK installed on the build slave, which should match the installed sysmoBTS firmware. +==== Add Build Jobs + +There are various jenkins-build-* scripts in osmo-gsm-tester/contrib/, which +can be called as jenkins build jobs to build and bundle binaries as artifacts, +to be run on the osmo-gsm-tester main unit and/or BTS hardware. + +Be aware of the dependencies, as hinted at in <>. + +While the various binaries could technically be built on the osmo-gsm-tester +main unit, it is recommended to use a separate build slave, to take load off +of the main unit. + +Please note nowadays we set up all the osmocom jenkins jobs (including +{app-name} ones) using 'jenkins-job-builder'. You can find all the +configuration's in Osmocom's 'osmo-ci.git' files 'jobs/osmo-gsm-tester-*.yml. +Explanation below on how to set up jobs manually is left as a reference for +other projects. + +On your jenkins master, set up build jobs to call these scripts -- typically +one build job per script. Look in contrib/ and create one build job for each of +the BTS types you would like to test, as well as one for the 'build-osmo-nitb'. + +These are generic steps to configure a jenkins build +job for each of these build scripts, by example of the +jenkins-build-osmo-nitb.sh script; all that differs to the other scripts is the +"osmo-nitb" part: + +* 'Project name': "osmo-gsm-tester_build-osmo-nitb" + + (Replace 'osmo-nitb' according to which build script this is for) +* 'Discard old builds' + + Configure this to taste, for example: +** 'Max # of build to keep': "20" +* 'Restrict where this project can be run': Choose a build slave label that + matches the main unit's architecture and distribution, typically a Debian + system, e.g.: "linux_amd64_debian8" +* 'Source Code Management': +** 'Git' +*** 'Repository URL': "git://git.osmocom.org/osmo-gsm-tester" +*** 'Branch Specifier': "*/master" +*** 'Additional Behaviors' +**** 'Check out to a sub-directory': "osmo-gsm-tester" +* 'Build Triggers' + + The decision on when to build is complex. Here are some examples: +** Once per day: + + 'Build periodically': "H H * * *" +** For the Osmocom project, the purpose is to verify our software changes. + Hence we would like to test every time our code has changed: +*** We could add various git repositories to watch, and enable 'Poll SCM'. +*** On jenkins.osmocom.org, we have various jobs that build the master branches + of their respective git repositories when a new change was merged. Here, we + can thus trigger e.g. an osmo-nitb build for osmo-gsm-tester everytime the + master build has run: + + 'Build after other projects are built': "OpenBSC" +*** Note that most of the Osmocom projects also need to be re-tested when their + dependencies like libosmo* have changed. Triggering on all those changes + typically causes more jenkins runs than necessary: for example, it rebuilds + once per each dependency that has rebuilt due to one libosmocore change. + There is so far no trivial way known to avoid this. It is indeed safest to + rebuild more often. +* 'Build' +** 'Execute Shell' ++ +---- +#!/bin/sh +set -e -x +./osmo-gsm-tester/contrib/jenkins-build-osmo-nitb.sh +---- ++ +(Replace 'osmo-nitb' according to which build script this is for) + +* 'Post-build Actions' +** 'Archive the artifacts': "*.tgz, *.md5" + + (This step is important to be able to use the built binaries in the run job + below.) + + +TIP: When you've created one build job, it is convenient to create further +build jobs by copying the first one and, e.g., simply replacing all "osmo-nitb" +with "osmo-bts-trx". + +[[install_main_unit]] +=== Main Unit + +The main unit is a general purpose computer that orchestrates the tests. It +runs the core network components, controls the modems and so on. This can be +anything from a dedicated production rack unit to your laptop at home. + +This manual will assume that tests are run from a jenkins build slave, by a user +named 'jenkins' that belongs to group 'osmo-gsm-tester'. The user configuration +for manual test runs and/or a different user name is identical, simply replace +the user name or group. + +Please, note installation steps and dependencies needed will depend on lots of +factors, like your distribution, your specific setup, which hardware you plan to +support, etc. + +This section aims at being one place to document the rationale behind certain +configurations being done in one way or another. For an up to date step by step +detailed way to install and maintain the Osmocom {app-name} setup, one will want +to look at the <>. [[configure_jenkins_slave]] -=== Jenkins Build and Run Slave - -==== Create 'jenkins' User on Main Unit +==== Create 'jenkins' User On the main unit, create a jenkins user: @@ -176,81 +236,6 @@ The build slave should be able to start now. - -==== Add Build Jobs - -There are various jenkins-build-* scripts in osmo-gsm-tester/contrib/, which -can be called as jenkins build jobs to build and bundle binaries as artifacts, -to be run on the osmo-gsm-tester main unit and/or BTS hardware. - -Be aware of the dependencies, as hinted at in <>. - -While the various binaries could technically be built on the osmo-gsm-tester -main unit, it is recommended to use a separate build slave, to take load off -of the main unit. - -On your jenkins master, set up build jobs to call these scripts -- typically -one build job per script. Look in contrib/ and create one build job for each of -the BTS types you would like to test, as well as one for the 'build-osmo-nitb'. - -These are generic steps to configure a jenkins build -job for each of these build scripts, by example of the -jenkins-build-osmo-nitb.sh script; all that differs to the other scripts is the -"osmo-nitb" part: - -* 'Project name': "osmo-gsm-tester_build-osmo-nitb" + - (Replace 'osmo-nitb' according to which build script this is for) -* 'Discard old builds' + - Configure this to taste, for example: -** 'Max # of build to keep': "20" -* 'Restrict where this project can be run': Choose a build slave label that - matches the main unit's architecture and distribution, typically a Debian - system, e.g.: "linux_amd64_debian8" -* 'Source Code Management': -** 'Git' -*** 'Repository URL': "git://git.osmocom.org/osmo-gsm-tester" -*** 'Branch Specifier': "*/master" -*** 'Additional Behaviors' -**** 'Check out to a sub-directory': "osmo-gsm-tester" -* 'Build Triggers' + - The decision on when to build is complex. Here are some examples: -** Once per day: + - 'Build periodically': "H H * * *" -** For the Osmocom project, the purpose is to verify our software changes. - Hence we would like to test every time our code has changed: -*** We could add various git repositories to watch, and enable 'Poll SCM'. -*** On jenkins.osmocom.org, we have various jobs that build the master branches - of their respective git repositories when a new change was merged. Here, we - can thus trigger e.g. an osmo-nitb build for osmo-gsm-tester everytime the - master build has run: + - 'Build after other projects are built': "OpenBSC" -*** Note that most of the Osmocom projects also need to be re-tested when their - dependencies like libosmo* have changed. Triggering on all those changes - typically causes more jenkins runs than necessary: for example, it rebuilds - once per each dependency that has rebuilt due to one libosmocore change. - There is so far no trivial way known to avoid this. It is indeed safest to - rebuild more often. -* 'Build' -** 'Execute Shell' -+ ----- -#!/bin/sh -set -e -x -./osmo-gsm-tester/contrib/jenkins-build-osmo-nitb.sh ----- -+ -(Replace 'osmo-nitb' according to which build script this is for) - -* 'Post-build Actions' -** 'Archive the artifacts': "*.tgz, *.md5" + - (This step is important to be able to use the built binaries in the run job - below.) - - -TIP: When you've created one build job, it is convenient to create further -build jobs by copying the first and, e.g., simply replacing all "osmo-nitb" -with "osmo-bts-trx". - ==== Add Run Job This is the jenkins job that runs the tests on the GSM hardware: @@ -258,6 +243,15 @@ * It sources the artifacts from jenkins' build jobs. * It runs on the osmo-gsm-tester main unit. +Sample script to run {app-name} as a jenkins job can be found in +'osmo-gsm-tester.git' file 'contrib/jenkins-run.sh'. + +Please note nowadays we set up all the osmocom jenkins jobs (including +{app-name} ones) using 'jenkins-job-builder'. You can find all the +configuration's in Osmocom's 'osmo-ci.git' files 'jobs/osmo-gsm-tester-*.yml. +Explanation below on how to set up jobs manually is left as a reference for +other projects. + Here is the configuration for the run job: * 'Project name': "osmo-gsm-tester_run" @@ -330,10 +324,47 @@ and 'trial-N-bin.tgz' archives are produced by the 'jenkins-run.sh' script, both for successful and failing runs. -=== Install osmo-gsm-tester on Main Unit +==== Install osmo-gsm-tester 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: + +---- +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 +pip3 install \ + "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" \ + pydbus \ + pyusb \ + pysispm +---- + +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 <>. + ==== User Permissions On the main unit, create a group for all users that should be allowed to use @@ -350,8 +381,6 @@ A user added to a group needs to re-login for the group permissions to take effect. -This group needs the following permissions: - ===== Paths Assuming that you are using the example config, prepare a system wide state @@ -384,7 +413,7 @@ to access the org.ofono DBus path: ---- -cat > /etc/dbus-1/system.d/osmo-gsm-tester.conf < /etc/dbus-1/system.d/osmo-gsm-tester.conf < @@ -402,6 +431,21 @@ (No restart of dbus nor ofono necessary.) +[[install_slave_unit]] +=== Slave Unit(s) + +The slave units are the hosts used by {app-name} to run proceses on. It may be +the <> itself and processes will be run locally, or +it may be a remote host were processes are run usually through SSH. + +This guide assumes slaves unit(s) use same configuration as the Main Unit, that +is, it runs under 'jenkins' user which is a member of the 'osmo-gsm-tester' user +group. In order to do so, follow the instruction under the +<> section above. Keep in mind the 'jenkins' user +on the Main Unit will need to be able to log in through SSH as the slave unit +'jenkins' user to run the processes. No direct access from Jenkins Master node +is required here. + [[install_capture_packets]] ===== Capture Packets @@ -464,6 +508,10 @@ sysctl -w kernel.core_pattern=core ---- +TIP: Files required to be installed under '/etc/security/limits.d/' can be found +under 'osmo-gsm-tester.git/utils/limits.d/', so one can simply cp them from +there. + ===== Allow Realtime Priority Certain binaries should be run with real-time priority, like 'osmo-bts-trx'. @@ -476,25 +524,20 @@ Re-login the user to make these changes take effect. -[[user_config_uhd]] -===== UHD +TIP: Files required to be installed under '/etc/security/limits.d/' can be found +under 'osmo-gsm-tester.git/utils/limits.d/', so one can simply cp them from +there. -Grant permission to use the UHD driver to run USRP devices for osmo-bts-trx, by -adding the jenkins user to the 'usrp' group: - ----- -gpasswd -a jenkins usrp ----- - -===== Allow CAP_NET_RAW capability +===== Allow capabilities: 'CAP_NET_RAW', 'CAP_NET_ADMIN', 'CAP_SYS_ADMIN' Certain binaries require 'CAP_NET_RAW' to be set, like 'osmo-bts-octphy' as it -uses a 'AF_PACKET' socket. +uses a 'AF_PACKET' socket. Similarly, others (like osmo-ggsn) require +'CAP_NET_ADMIN' to be able to create tun devices, and so on. To be able to set the following capability without being root, osmo-gsm-tester uses sudo to gain permissions to set the capability. -This is the script that osmo-gsm-tester expects on the main unit: +This is the script that osmo-gsm-tester expects on the host running the process: ---- echo /usr/local/bin/osmo-gsm-tester_setcap_net_raw.sh <>. - - -== Hardware Choice and Configuration - -=== SysmoBTS - -To use the SysmoBTS in the osmo-gsm-tester, the following systemd services must -be disabled: - ----- -systemctl mask osmo-nitb osmo-bts-sysmo osmo-pcu sysmobts-mgr ----- - -This stops the stock setup keeping the BTS in operation and hence allows the -osmo-gsm-tester to install and launch its own versions of the SysmoBTS -software. - -==== IP Address - -To ensure that the SysmoBTS is always reachable at a fixed known IP address, -configure the eth0 to use a static IP address: - -Adjust '/etc/network/interfaces' and replace the line - ----- -iface eth0 inet dhcp ----- - -with - ----- -iface eth0 inet static - address 10.42.42.114 - netmask 255.255.255.0 - gateway 10.42.42.1 ----- - -You may set the name server in '/etc/resolve.conf' (most likely to the IP of -the gateway), but this is not really needed by the osmo-gsm-tester. - -==== Allow Core Files - -In case a binary run for the test crashes, a core file of the crash should be -written. This requires a limits rule. Append a line to /etc/limits like: - ----- -ssh root at 10.42.42.114 -echo "* C16384" >> /etc/limits ----- - -==== Reboot - -Reboot the BTS and make sure that the IP address for eth0 is now indeed -10.42.42.114, and that no osmo* programs are running. - ----- -ip a -ps w | grep osmo ----- - -==== SSH Access - -Make sure that the jenkins user on the main unit is able to login on the -sysmoBTS, possibly erasing outdated host keys after a new rootfs was loaded: - -On the main unit, for example do: - ----- -su - jenkins -ssh root at 10.42.42.114 ----- - -Fix any problems until you get a login on the sysmoBTS. - - -[[hardware_modems]] -=== Modems - -TODO: describe modem choices and how to run ofono - -[[hardware_trx]] -=== osmo-bts-trx - -TODO: describe B200 family diff --git a/doc/manuals/chapters/install_device.adoc b/doc/manuals/chapters/install_device.adoc new file mode 100644 index 0000000..60c3936 --- /dev/null +++ b/doc/manuals/chapters/install_device.adoc @@ -0,0 +1,82 @@ +== Hardware Choice and Configuration + +=== SysmoBTS + +To use the SysmoBTS in the osmo-gsm-tester, the following systemd services must +be disabled: + +---- +systemctl mask osmo-nitb osmo-bts-sysmo osmo-pcu sysmobts-mgr +---- + +This stops the stock setup keeping the BTS in operation and hence allows the +osmo-gsm-tester to install and launch its own versions of the SysmoBTS +software. + +==== IP Address + +To ensure that the SysmoBTS is always reachable at a fixed known IP address, +configure the eth0 to use a static IP address: + +Adjust '/etc/network/interfaces' and replace the line + +---- +iface eth0 inet dhcp +---- + +with + +---- +iface eth0 inet static + address 10.42.42.114 + netmask 255.255.255.0 + gateway 10.42.42.1 +---- + +You may set the name server in '/etc/resolve.conf' (most likely to the IP of +the gateway), but this is not really needed by the osmo-gsm-tester. + +==== Allow Core Files + +In case a binary run for the test crashes, a core file of the crash should be +written. This requires a limits rule. Append a line to /etc/limits like: + +---- +ssh root at 10.42.42.114 +echo "* C16384" >> /etc/limits +---- + +==== Reboot + +Reboot the BTS and make sure that the IP address for eth0 is now indeed +10.42.42.114, and that no osmo* programs are running. + +---- +ip a +ps w | grep osmo +---- + +==== SSH Access + +Make sure that the jenkins user on the main unit is able to login on the +sysmoBTS, possibly erasing outdated host keys after a new rootfs was loaded: + +On the main unit, for example do: + +---- +su - jenkins +ssh root at 10.42.42.114 +---- + +Fix any problems until you get a login on the sysmoBTS. + + +[[hardware_modems]] +=== Modems + +TODO: describe modem choices and how to run ofono + +[[hardware_trx]] +=== osmo-bts-trx + +TODO: describe B200 family diff --git a/doc/manuals/chapters/intro.adoc b/doc/manuals/chapters/intro.adoc index 14daba4..9b7131d 100644 --- a/doc/manuals/chapters/intro.adoc +++ b/doc/manuals/chapters/intro.adoc @@ -1,31 +1,56 @@ -== Introduction with Examples +== Introduction -The osmo-gsm-tester is software to run automated tests of real GSM hardware, +{app-name} is a software to run automated tests on real GSM hardware, foremost to verify that ongoing Osmocom software development continues to work -with various BTS models, while being flexibly configurable and extendable. +with various BTS models, while being flexibly configurable and extendable to +work for other technologies, setups and projects. It can be used for instance to +test a 3G or 4G network. -A 'main unit' (general purpose computer) is connected via ethernet and/or USB to -any number of BTS models and to any number of GSM modems via USB. The modems -and BTS instances' RF transceivers are typically wired directly to each other -via RF distribution chambers to bypass the air medium and avoid disturbing real -production cellular networks. Furthermore, the setup may include adjustable RF -attenuators to model various distances between modems and base stations. +{app-name} (python3 process) runs on a host (general purpose computer) named +the 'main unit'. It may optionally be connected to any number of 'slave units', +which {app-name} may use to orchestrate processes remotely, usually through SSH. -The osmo-gsm-tester software runs on the main unit to orchestrate the various -GSM hardware and run predefined test scripts. It typically receives binary -packages from a jenkins build service. It then automatically configures and -launches an Osmocom core network on the main unit and sets up and runs BTS -models as well as modems to form a complete ad-hoc GSM network. On this setup, -predefined test suites, combined with various scenario definitions, are run to -verify stability of the system. +Hardware devices such as BTS, SDRs, modems, smart plugs, etc. are then connected +to either the main unit or slaves units via IP, raw ethernet, USB or any other +means? -The osmo-gsm-tester is implemented in Python (version 3). It uses the ofono -daemon to control the modems connected via USB. BTS software is either run -directly on the main unit (e.g. for osmo-bts-trx, osmo-bts-octphy), run via SSH -(e.g. for a sysmoBTS) or assumed to run on a connected BTS model (e.g. for -ip.access nanoBTS). +The modems and BTS instances' RF transceivers are typically wired directly to +each other via RF distribution chambers to bypass the air medium and avoid +disturbing real production cellular networks. Furthermore, the setup may include +adjustable RF attenuators to model various distances between modems and base +stations. -.Typical osmo-gsm-tester setup +Each of these devices, having each a different physical setup and configuration, +supported features, attributes, etc., is referred in {app-name} terminology as a +_resource_. Each _resource_ is an instance of _resource class_. A +_resource_class_ may be for instance a _modem_ or a _bts_. For instance, an +{app-name} setup may have 2 _modem_ instances and 1 _bts_ instances. Each of +these _resources_ are listed and described in configuration files passed to +{app-name}, which maintains a pool of _resources_ (available, in use, etc.). + +{app-name} typically receives from a jenkins build service the software or +firmware binary packages to be used and tested. {app-name} then launches a +specific set of testsuites which, in turn, contain each a set of python test +scripts. Each test uses the _testenv_ API provided by {app-name} to configure, +launch and manage the different nodes and processes from the provided binary +packages to form a complete ad-hoc GSM network. + +Testsuites themselves contain configuration files to list how many resources it +requires to run its tests. It also provides means to _filter_ which kind of +_resources_ will be needed based on their attributes. This allows, for instance, +asking {app-name} to provide a _modem_ supporting GPRS, or to provide a specific +model of _bts_ such as a nanoBTS. Testsuites also allow receiving _modifiers_, +which overwrite some of the default values that {app-name} itself or different +_resources_ use. + +Moreover, one may want to run the same testsuite several tiems, each with +different set of _resources_. For instance, one may want to run a testsuite with +a sysmoBTS and later with a nanoBTS. This is supported by leaving the testsuite +configuration generic enough and then passing _scenarios_ to it, which allow +applying extra _filters_ or _modifiers_. Scenarios can also be combined to +filter further or to apply further modifications. + +.Sample osmo-gsm-tester node 2G setup [graphviz] ---- digraph G { @@ -35,8 +60,8 @@ label = "GSM Hardware"; style=dotted - modem0 [shape=box label="Modems..."] - modem1 [shape=box label="Modems..."] + modem0 [shape=box label="Modem (Quectel EC20)"] + modem1 [shape=box label="Modems (SierraWireless MC7455)"] osmo_bts_sysmo [label="sysmocom sysmoBTS\nrunning osmo-bts-sysmo" shape=box] B200 [label="Ettus B200" shape=box] sysmoCell5K [label="sysmocom sysmoCell5000" shape=box] @@ -46,13 +71,16 @@ {modem0 modem1 osmo_bts_sysmo B200 octphy nanoBTS sysmoCell5K}->rf_distribution [dir=both arrowhead="curve" arrowtail="curve"] } + subgraph cluster_slave_unit { + label = "Slave Unit" + osmo_trx [label="osmo-trx"] + } subgraph cluster_main_unit { label = "Main Unit" osmo_gsm_tester [label="Osmo-GSM-Tester\ntest suites\n& scenarios"] subgraph { rank=same ofono [label="ofono daemon"] - osmo_trx [label="osmo-trx"] osmo_bts_trx [label="osmo-bts-trx"] osmo_bts_octphy [label="osmo-bts-octphy"] OsmoNITB [label="BSC + Core Network\n(Osmo{NITB,MSC,BSC,HLR,...})"] @@ -62,339 +90,15 @@ jenkins->osmo_gsm_tester [label="trial\n(binaries)"] osmo_gsm_tester->jenkins [label="results"] - ofono->{modem0 modem1} [label="USB"] + ofono->{modem0 modem1} [label="QMI/USB"] osmo_gsm_tester->{OsmoNITB osmo_bts_trx osmo_bts_octphy} - osmo_gsm_tester->osmo_bts_sysmo [taillabel="SSH"] + osmo_gsm_tester->{osmo_trx, osmo_bts_sysmo} [taillabel="SSH"] osmo_gsm_tester->ofono [taillabel="DBus"] - osmo_trx->B200 [label="USB"] - osmo_bts_trx->{osmo_trx sysmoCell5K} [dir=both label="UDP"] + osmo_trx->B200 [label="UHD/USB"] + osmo_bts_trx->{osmo_trx sysmoCell5K} [dir=both label="TRXC+TRXD/UDP"] osmo_bts_octphy->octphy [label="raw eth"] {osmo_bts_sysmo nanoBTS}->OsmoNITB [label="IP"] {B200 octphy}->OsmoNITB [label="eth" style=invis] {osmo_bts_trx osmo_bts_octphy}->OsmoNITB } ---- - -.Example of how to select resources and configurations: scenarios may pick specific resources (here BTS and ARFCN), remaining requirements are picked as available (here two modems and a NITB interface) -[graphviz] ----- -digraph G { - rankdir=TB; - - suite_scenarios [label="Suite+Scenarios selection\nsms:sysmo+band1800"] - - subgraph { - rank=same; - suite - scenarios - } - - subgraph cluster_scenarios { - label = "Scenarios"; - u_sysmoBTS [label="Scenario: sysmo\nbts: type: osmo-bts-sysmo"] - u_trx [label="Scenario: trx\nbts: type: osmo-bts-trx"] - u_arfcn [label="Scenario: band1800\narfcn: band: GSM-1800"] - } - - subgraph cluster_suite { - label = "Suite: sms"; - requires [label="Requirements (suite.conf):\nmodem: times: 2\nbts\nip_address\narfcn"] - subgraph cluster_tests { - label = "Test Scripts (py)"; - mo_mt_sms - etc - } - } - - subgraph cluster_resources { - label = "Resources"; - rankdir=TB; - nitb_addr1 [label="NITB interface addr\n10.42.42.1"] - nitb_addr2 [label="NITB interface addr\n10.42.42.2"] - Modem0 - Modem1 - Modem2 - sysmoBTS [label="osmo-bts-sysmo"] - osmo_bts_trx [label="osmo-bts-trx"] - arfcn1 [label="arfcn: 512\nband: GSM-1800"] - arfcn2 [label="arfcn: 540\nband: GSM-1900"] - - arfcn1->arfcn2 [style=invis] - nitb_addr1->nitb_addr2 [style=invis] - Modem0 -> Modem1 -> Modem2 [style=invis] - sysmoBTS -> osmo_bts_trx [style=invis] - } - - suite_scenarios -> {suite scenarios} - scenarios -> { u_arfcn u_sysmoBTS } - - suite -> requires - requires -> Modem0 - requires -> Modem1 - requires -> sysmoBTS - requires -> arfcn1 - requires -> nitb_addr1 - - { u_sysmoBTS u_arfcn } -> requires [label="influences\nresource\nselection"] -} ----- - -.Example of a "trial" containing binaries built by a jenkins -[graphviz] ----- -digraph G { - subgraph cluster_trial { - label = "Trial (binaries)" - sysmo [label="osmo-bts-sysmo.build-23.tgz\n(osmo-bts-sysmo\n+ deps\ncompiled for sysmoBTS)"] - trx [label="osmo-bts.build-5.tgz\n(osmo-bts-octphy + osmo-bts-trx\n+ deps\ncompiled for main unit)"] - nitb [label="osmo-nitb.build-42.tgz\n(osmo-nitb\n+ deps\ncompiled for main unit)"] - checksums [label="checksums.md5"] - - checksums -> {sysmo trx nitb} - } -} ----- - -=== Typical Test Script - -A typical single test script (part of a suite) may look like this: - ----- -#!/usr/bin/env python3 -from osmo_gsm_tester.testenv import * - -hlr = suite.hlr() -bts = suite.bts() -mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr()) -msc = suite.msc(hlr, mgcpgw) -bsc = suite.bsc(msc) -stp = suite.stp() -ms_mo = suite.modem() -ms_mt = suite.modem() - -hlr.start() -stp.start() -msc.start() -mgcpgw.start() - -bsc.bts_add(bts) -bsc.start() - -bts.start() - -hlr.subscriber_add(ms_mo) -hlr.subscriber_add(ms_mt) - -ms_mo.connect(msc.mcc_mnc()) -ms_mt.connect(msc.mcc_mnc()) - -ms_mo.log_info() -ms_mt.log_info() - -print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) -wait(msc.subscriber_attached, ms_mo, ms_mt) - -sms = ms_mo.sms_send(ms_mt) -wait(ms_mt.sms_was_received, sms) ----- - -=== Resource Resolution - -- A global configuration 'resources.conf' defines which hardware is connected to the - osmo-gsm-tester main unit. -- Each suite contains a number of test scripts. The amount of resources a test - may use is defined by the test suite's 'suite.conf'. -- Which specific modems, BTS models, NITB IP addresses etc. are made available - to a test run is typically determined by 'suite.conf' and a combination of scenario - configurations -- or picked automatically if not. - -[[resources_conf_example]] -=== Typical 'resources.conf' - -A global configuration of hardware may look like below; for details, see -<>. - ----- -ip_address: -- addr: 10.42.42.2 -- addr: 10.42.42.3 -- addr: 10.42.42.4 -- addr: 10.42.42.5 -- addr: 10.42.42.6 - -bts: -- label: sysmoBTS 1002 - type: osmo-bts-sysmo - ipa_unit_id: 1 - addr: 10.42.42.114 - band: GSM-1800 - ciphers: - - a5_0 - - a5_1 - - a5_3 - -- label: Ettus B200 - type: osmo-bts-trx - ipa_unit_id: 6 - addr: 10.42.42.50 - band: GSM-1800 - launch_trx: true - ciphers: - - a5_0 - - a5_1 - -- label: sysmoCell 5000 - type: osmo-bts-trx - ipa_unit_id: 7 - addr: 10.42.42.51 - band: GSM-1800 - trx_remote_ip: 10.42.42.112 - ciphers: - - a5_0 - - a5_1 - -- label: OCTBTS 3500 - type: osmo-bts-octphy - ipa_unit_id: 8 - addr: 10.42.42.52 - band: GSM-1800 - trx_list: - - hw_addr: 00:0c:90:2e:80:1e - net_device: eth1 - - hw_addr: 00:0c:90:2e:87:52 - net_device: eth1 - -arfcn: - - arfcn: 512 - band: GSM-1800 - - arfcn: 514 - band: GSM-1800 - - arfcn: 516 - band: GSM-1800 - - arfcn: 546 - band: GSM-1900 - - arfcn: 548 - band: GSM-1900 - -modem: -- label: sierra_1 - path: '/sierra_1' - imsi: '901700000009031' - ki: '80A37E6FDEA931EAC92FFA5F671EFEAD' - auth_algo: 'xor' - ciphers: - - a5_0 - - a5_1 - features: - - 'sms' - - 'voice' - -- label: gobi_0 - path: '/gobi_0' - imsi: '901700000009030' - ki: 'BB70807226393CDBAC8DD3439FF54252' - auth_algo: 'xor' - ciphers: - - a5_0 - - a5_1 - features: - - 'sms' ----- - -=== Typical 'suites/*/suite.conf' - -The configuration that reserves a number of resources for a test suite may look -like this: - ----- -resources: - ip_address: - - times: 1 - bts: - - times: 1 - modem: - - times: 2 - features: - - sms ----- - -It may also request e.g. specific BTS models, but this is typically left to -scenario configurations. - -=== Typical 'scenarios/*.conf' - -For a suite as above run as-is, any available resources are picked. This may be -combined with any number of scenario definitions to constrain which specific -resources should be used, e.g.: - ----- -resources: - bts: - - type: osmo-bts-sysmo ----- - -Which 'ip_address' or 'modem' is used in particular doesn't really matter, so -it can be left up to the osmo-gsm-tester to pick these automatically. - -Any number of such scenario configurations can be combined in the form -':++...', e.g. 'my_suite:sysmo+tch_f+amr'. - -=== Typical Invocations - -Each invocation of osmo-gsm-tester deploys a set of pre-compiled binaries for -the Osmocom core network as well as for the Osmocom based BTS models. To create -such a set of binaries, see <>. - -Examples for launching test trials: - -- Run the default suites (see <>) on a given set of binaries: - ----- -osmo-gsm-tester.py path/to/my-trial ----- - -- 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:scenario' 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 -l dbg -T -t mo_mt ----- - -A test script may also be run step-by-step in a python debugger, see -<>. - -=== Resource Reservation for Concurrent Trials - -While a test suite runs, the used resources are noted in a global state -directory in a reserved-resources file. This way, any number of trials may be -run consecutively without resource conflicts. Any test trial will only use -resources that are currently not reserved by any other test suite. The -reservation state is human readable. - -The global state directory is protected by a file lock to allow access by -separate processes. - -Also, the binaries from a trial are never installed system-wide, but are run -with a specific 'LD_LIBRARY_PATH' pointing at the trial's 'inst', so that -several trials can run consecutively without conflicting binary versions. For -some specific binaries which require extra permissions (such as osmo-bts-octphy -requiring 'CAP_NET_RAW'), 'patchelf' program is used to modify the binary -'RPATH' field instead because the OS dynamic linker skips 'LD_LIBRARY_PATH' for -binaries with special permissions. - -Once a test suite run is complete, all its reserved resources are torn down (if -the test scripts have not done so already), and the reservations are released -automatically. - -If required resources are unavailable, the test trial fails. For consecutive -test trials, a test run needs to either wait for resources to become available, -or test suites need to be scheduled to make sense. (*<- TODO*) diff --git a/doc/manuals/chapters/resource_pool.adoc b/doc/manuals/chapters/resource_pool.adoc new file mode 100644 index 0000000..4a56767 --- /dev/null +++ b/doc/manuals/chapters/resource_pool.adoc @@ -0,0 +1,107 @@ +== Resource Resolution + +- A global configuration <> defines which hardware is plugged to the + {app-name} setup, be it the main unit or any slave unit. This list becomes the + 'resource pool'. +- Each suite contains a number of test scripts. The amount of resources a test + may use is defined by the test suite's <>. +- Which specific modems, BTS models, NITB IP addresses etc. are made available + to a test run is typically determined by <> and a combination of <> -- or picked automatically if not. + +.Example of how to select resources and configurations: scenarios may pick specific resources (here BTS and ARFCN), remaining requirements are picked as available (here two modems and a NITB interface) +[graphviz] +---- +digraph G { + rankdir=TB; + + suite_scenarios [label="Suite+Scenarios selection\nsms:sysmo+band1800+mod-bts0-chanallocdescend"] + + subgraph { + rank=same; + suite + scenarios + defaults_conf [label="defaults.conf:\nbsc: net: encryption: a5_0"] + } + + subgraph cluster_scenarios { + label = "Scenarios"; + u_sysmoBTS [label="Scenario: sysmo\nresources: bts: type: osmo-bts-sysmo"] + u_trx [label="Scenario: trx\nresources: bts: type: osmo-bts-trx"] + u_arfcn [label="Scenario: band1800\nresources: arfcn: band: GSM-1800"] + u_chanallocdesc [label="Scenario: band1800\nmodifiers: bts: channel_allocator: descending"] + } + + subgraph cluster_suite { + label = "Suite: sms"; + requires [label="Requirements (suite.conf):\nmodem: times: 2\nbts\nip_address\narfcn"] + subgraph cluster_tests { + label = "Test mo_mt_sms.py"; + obj_nitb [label="object NITB\n(process using 10.42.42.2)"] + bts0 [label="object bts[0]"] + modem0 [label="object modem[0]"] + modem1 [label="object modem[1]"] + } + } + + subgraph cluster_resources { + label = "Available Resources (not already allocated by other Osmo-GSM-Tester instance)"; + rankdir=TB; + nitb_addrA [label="NITB interface addr\n10.42.42.1"] + nitb_addrA [label="NITB interface addr\n10.42.42.2"] + ModemA + ModemB + ModemC + sysmoBTS [label="osmo-bts-sysmo"] + osmo_bts_trx [label="osmo-bts-trx"] + arfcnA [label="arfcn: 512\nband: GSM-1800"] + arfcnB [label="arfcn: 540\nband: GSM-1900"] + + arfcnA->arfcnB [style=invis] + nitb_addrA->nitb_addrB [style=invis] + ModemA -> ModemB -> ModemC [style=invis] + sysmoBTS -> osmo_bts_trx [style=invis] + } + + suite_scenarios -> {suite scenarios} + scenarios -> { u_arfcn u_sysmoBTS u_chanallocdesc } + + suite -> requires + requires -> ModemA + requires -> ModemB + requires -> sysmoBTS + requires -> arfcnA + requires -> nitb_addrA + + { u_sysmoBTS u_arfcn } -> requires [label="influences\nresource\nselection"] + u_chanallocdesc -> bts0 [label="influences\nbts[0]\nbehavior"] + defaults_conf -> obj_nitb [label="provides default values"] +} +---- + +=== Resource Reservation for Concurrent Trials + +While a test suite runs, the used resources are noted in a global state +directory in a reserved-resources file. This way, any number of trials may be +run consecutively without resource conflicts. Any test trial will only use +resources that are currently not reserved by any other test suite. The +reservation state is human readable. + +The global state directory is protected by a file lock to allow access by +separate processes. + +Also, the binaries from a trial are never installed system-wide, but are run +with a specific 'LD_LIBRARY_PATH' pointing at the <>, so that +several trials can run consecutively without conflicting binary versions. For +some specific binaries which require extra permissions (such as osmo-bts-octphy +requiring 'CAP_NET_RAW'), 'patchelf' program is used to modify the binary +'RPATH' field instead because the OS dynamic linker skips 'LD_LIBRARY_PATH' for +binaries with special permissions. + +Once a test suite run is complete, all its reserved resources are torn down (if +the test scripts have not done so already), and the reservations are released +automatically. + +If required resources are unavailable, the test trial fails. For consecutive +test trials, a test run needs to either wait for resources to become available, +or test suites need to be scheduled to make sense. (*<- TODO*) diff --git a/doc/manuals/chapters/trial.adoc b/doc/manuals/chapters/trial.adoc index bc9fe05..4b52608 100644 --- a/doc/manuals/chapters/trial.adoc +++ b/doc/manuals/chapters/trial.adoc @@ -1,13 +1,29 @@ [[trials]] == Trial: Binaries to be Tested -A trial is a set of pre-built binaries to be tested. They are typically built +A trial is a set of pre-built sysroot archives to be tested. They are typically built by jenkins using the build scripts found in osmo-gsm-tester's source in the 'contrib/' dir, see <>. -A trial comes in the form of a directory containing a number of '*.tgz' tar -archives as well as a 'checksums.md5' file to verify the tar archives' -integrity. +A trial comes in the form of a directory containing a number of '.*tgz' tar +archives (containing different sysroots) as well as a 'checksums.md5' file to +verify the tar archives' integrity. + +.Example of a "trial" containing binaries built by a jenkins job +[graphviz] +---- +digraph G { + subgraph cluster_trial { + label = "Trial (binaries)" + sysmo [label="osmo-bts-sysmo.build-23.tgz\n(osmo-bts-sysmo\n+ deps\ncompiled for sysmoBTS)"] + trx [label="osmo-bts.build-5.tgz\n(osmo-bts-octphy + osmo-bts-trx\n+ deps\ncompiled for main unit)"] + nitb [label="osmo-nitb.build-42.tgz\n(osmo-nitb\n+ deps\ncompiled for main unit)"] + checksums [label="checksums.md5"] + + checksums -> {sysmo trx nitb} + } +} +---- When the osmo-gsm-tester is invoked to run on such a trial directory, it will create a sub directory named 'inst' and unpack the tar archives into it. @@ -28,4 +44,22 @@ * generating md5 sums for the various tar.gz containing software builds to be tested, * cleaning up after the build, * saving extra logs such as journalctl output from ofonod, -* generating a final .tar.gz file with all the logs and reports. +* generating a final .tar.gz file with all the logs and reports to store as jenkins archives. + +{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 +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. + +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 +identify the content, for instance having an incrementing version counter or a +commit hash. Hence, these example files are considered valid and will be +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. diff --git a/doc/manuals/chapters/troubleshooting.adoc b/doc/manuals/chapters/troubleshooting.adoc new file mode 100644 index 0000000..a3b5c8b --- /dev/null +++ b/doc/manuals/chapters/troubleshooting.adoc @@ -0,0 +1,15 @@ +== Troubleshooting + +=== Format: YAML, and its Drawbacks + +The general configuration format used is YAML. The stock python YAML parser +does have several drawbacks: too many complex possibilities and alternative +ways of formatting a configuration, but at the time of writing seems to be the +only widely used configuration format that offers a simple and human readable +formatting as well as nested structuring. It is recommended to use only the +exact YAML subset seen in this manual in case the osmo-gsm-tester should move +to a less bloated parser in the future. + +Careful: if a configuration item consists of digits and starts with a zero, you +need to quote it, or it may be interpreted as an octal notation integer! Please +avoid using the octal notation on purpose, it is not provided intentionally. diff --git a/doc/manuals/osmo-gsm-tester-manual-docinfo.xml b/doc/manuals/osmo-gsm-tester-manual-docinfo.xml index 923b8ad..d7b112f 100644 --- a/doc/manuals/osmo-gsm-tester-manual-docinfo.xml +++ b/doc/manuals/osmo-gsm-tester-manual-docinfo.xml @@ -21,10 +21,21 @@ Senior Developer + + Pau + Espin Pedrol + pespin at sysmocom.de + PE + + sysmocom + sysmocom - s.f.m.c. GmbH + Software Developer + + - 2017 + 2017-2020 sysmocom - s.f.m.c. GmbH diff --git a/doc/manuals/osmo-gsm-tester-manual.adoc b/doc/manuals/osmo-gsm-tester-manual.adoc index 6f0edf7..afee29b 100644 --- a/doc/manuals/osmo-gsm-tester-manual.adoc +++ b/doc/manuals/osmo-gsm-tester-manual.adoc @@ -1,20 +1,33 @@ -Osmo-GSM-Tester Manual -====================== -Neels Hofmeyr +:app-name: Osmo-GSM-Tester + +{app-name} Manual +================= +Neels Hofmeyr , Pau Espin Pedrol == WARNING: Work in Progress -*NOTE: The osmo-gsm-tester is still in pre-alpha stage: some parts are still -incomplete, and details will still change and move around.* +*NOTE: {app-name} is still under heavy development stage: some parts are still +incomplete, and details can still change and move around as new features are +added and improvements made.* include::{srcdir}/chapters/intro.adoc[] -include::{srcdir}/chapters/install.adoc[] +include::{srcdir}/chapters/trial.adoc[] include::{srcdir}/chapters/config.adoc[] -include::{srcdir}/chapters/trial.adoc[] +include::{srcdir}/chapters/resource_pool.adoc[] include::{srcdir}/chapters/test_api.adoc[] +include::{srcdir}/chapters/install.adoc[] + +include::{srcdir}/chapters/install_device.adoc[] + +include::{srcdir}/chapters/ansible.adoc[] + +include::{srcdir}/chapters/docker.adoc[] + include::{srcdir}/chapters/debugging.adoc[] + +include::{srcdir}/chapters/troubleshooting.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40 Gerrit-Change-Number: 17447 Gerrit-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 Mar 10 20:24:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:24:47 +0000 Subject: Change in osmocom-bb[master]: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17448 ) Change subject: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF ...................................................................... virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d --- M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/virt_prim_pm.c 2 files changed, 29 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/48/17448/1 diff --git a/src/host/virt_phy/include/virtphy/virt_l1_model.h b/src/host/virt_phy/include/virtphy/virt_l1_model.h index 99ad39f..ffed708 100644 --- a/src/host/virt_phy/include/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/virtphy/virt_l1_model.h @@ -100,6 +100,12 @@ uint8_t arfcn_sig_lev_red_dbm[1024]; struct osmo_timer_list arfcn_sig_lev_timers[1024]; } meas; + struct { + uint16_t band_arfcn_from; + uint16_t band_arfcn_to; + /* timer between receiving PM_REQ and responding with PM_CONF */ + struct osmo_timer_list timer; + } req; } pm; }; diff --git a/src/host/virt_phy/src/virt_prim_pm.c b/src/host/virt_phy/src/virt_prim_pm.c index 6d11f49..561f6ce 100644 --- a/src/host/virt_phy/src/virt_prim_pm.c +++ b/src/host/virt_phy/src/virt_prim_pm.c @@ -84,25 +84,36 @@ struct l1_state_ms *l1s = &ms->state; struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->data; struct l1ctl_pm_req *pm_req = (struct l1ctl_pm_req *) l1h->data; + + /* just parse the data from the request here */ + 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", + 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 + * we will respond too fast, and 'mobile' will run havoc in a busy loop issuing + * endless PM_REQ until a cell eventually isfound */ + osmo_timer_schedule(&l1s->pm.req.timer, 0, 300000); +} + +static void pm_conf_timer_cb(void *data) +{ + struct l1_model_ms *ms = data; + struct l1_state_ms *l1s = &ms->state; struct msgb *resp_msg = l1ctl_msgb_alloc(L1CTL_PM_CONF); uint16_t arfcn_next; - /* convert to host order */ - pm_req->range.band_arfcn_from = ntohs(pm_req->range.band_arfcn_from); - pm_req->range.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", - pm_req->type, pm_req->range.band_arfcn_from, pm_req->range.band_arfcn_to); - - for (arfcn_next = pm_req->range.band_arfcn_from; - arfcn_next <= pm_req->range.band_arfcn_to; ++arfcn_next) { + for (arfcn_next = l1s->pm.req.band_arfcn_from; + arfcn_next <= l1s->pm.req.band_arfcn_to; ++arfcn_next) { struct l1ctl_pm_conf *pm_conf = (struct l1ctl_pm_conf *) msgb_put(resp_msg, sizeof(*pm_conf)); pm_conf->band_arfcn = htons(arfcn_next); /* set min and max to the value calculated for that * arfcn (IGNORE UPLINKK AND PCS AND OTHER FLAGS) */ pm_conf->pm[0] = dbm2rxlev(l1s->pm.meas.arfcn_sig_lev_dbm[arfcn_next & ARFCN_NO_FLAGS_MASK]); pm_conf->pm[1] = dbm2rxlev(l1s->pm.meas.arfcn_sig_lev_dbm[arfcn_next & ARFCN_NO_FLAGS_MASK]); - if (arfcn_next == pm_req->range.band_arfcn_to) { + if (arfcn_next == l1s->pm.req.band_arfcn_to) { struct l1ctl_hdr *resp_l1h = msgb_l1(resp_msg); resp_l1h->flags |= L1CTL_F_DONE; } @@ -137,6 +148,7 @@ l1s->pm.meas.arfcn_sig_lev_timers[i].cb = prim_pm_timer_cb; l1s->pm.meas.arfcn_sig_lev_timers[i].data = &l1s->pm.meas.arfcn_sig_lev_dbm[i]; } + osmo_timer_setup(&l1s->pm.req.timer, pm_conf_timer_cb, model); } void prim_pm_exit(struct l1_model_ms *model) @@ -146,4 +158,5 @@ for (i = 0; i < 1024; ++i) osmo_timer_del(&l1s->pm.meas.arfcn_sig_lev_timers[i]); + osmo_timer_del(&l1s->pm.req.timer); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d Gerrit-Change-Number: 17448 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 Mar 10 20:27:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:27:13 +0000 Subject: Change in libosmocore[master]: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17418 ) Change subject: socket: Add osmo_sock_mcast_iface_set() to bind multicast to device ...................................................................... socket: Add osmo_sock_mcast_iface_set() to bind multicast to device Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Related: OS#2966 --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 23 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index e26ca0d..129612c 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -87,6 +87,7 @@ int osmo_sock_mcast_loop_set(int fd, bool enable); int osmo_sock_mcast_ttl_set(int fd, uint8_t ttl); int osmo_sock_mcast_all_set(int fd, bool enable); +int osmo_sock_mcast_iface_set(int fd, const char *ifname); int osmo_sock_mcast_subscribe(int fd, const char *grp_addr); int osmo_sock_local_ip(char *local_ip, const char *remote_ip); diff --git a/src/socket.c b/src/socket.c index 9b1d30e..503ceaf 100644 --- a/src/socket.c +++ b/src/socket.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -1194,6 +1195,27 @@ } } +/*! Set the network device to which we should bind the multicast socket + * \param[in] fd file descriptor of related socket + * \param[in] ifname name of network interface to user for multicast + * \returns 0 on success; negative otherwise */ +int osmo_sock_mcast_iface_set(int fd, const char *ifname) +{ + unsigned int ifindex; + struct ip_mreqn mr; + + /* first, resolve interface name to ifindex */ + ifindex = if_nametoindex(ifname); + if (ifindex == 0) + return -errno; + + /* next, configure kernel to use that ifindex for this sockets multicast traffic */ + memset(&mr, 0, sizeof(mr)); + mr.imr_ifindex = ifindex; + return setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, &mr, sizeof(mr)); +} + + /*! Enable/disable receiving all multicast packets, even for non-subscribed groups * \param[in] fd file descriptor of related socket * \param[in] enable Enable or Disable receiving of all packets -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib52d22710020b56965aefcef09bde8247ace4a9c Gerrit-Change-Number: 17418 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Tue Mar 10 20:29:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:29:44 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/main.c File src/osmo-bts-virtual/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/main.c at 126 PS2, Line 126: plink->u.virt.ttl = -1; > Worth adding here a comment with the -1 meaning. [?] relaly? Without checking I would say we hve tons of similar examples so far, but I can amend the commit if you like. https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtualbts_vty.c File src/osmo-bts-virtual/virtualbts_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17443/2/src/osmo-bts-virtual/virtualbts_vty.c at 178 PS2, Line 178: ttl <0-255> > There should be a way to set it back to -1. How about this? [?] there is no need for that, as changes are only permitted as long as the PHY link is shutdown, i.e. before it has started. So I think there is no way to ever modify it back. And even if you did, there is no setsockopt to un-set the TTL, so we'd have to close the socket and re-open it, ... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 20:29:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 20:36:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:36:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option 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/+/17443 to look at the new patch set (#3). Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option This can be used to determine the multicast TTL packet and hence how far the packet will propagate in the network. If you want to operate the virtual Um only on your own machine, a TTL of 0 would prevent the packets from ever being transmitted on your local ethernet segment. Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Related: OS#2966 --- M include/osmo-bts/phy_link.h M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h M src/osmo-bts-virtual/virtualbts_vty.c 6 files changed, 39 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/17443/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 20:36:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 20:36:22 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: fix: let pespin run it for more than 6 years References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17449 ) Change subject: trxcon/scheduler: fix: let pespin run it for more than 6 years ...................................................................... trxcon/scheduler: fix: let pespin run it for more than 6 years As was noted by Pau Espin Pedrol, there is a theoretical chance that lchan->tdma.num_proc would overflow, so as a consequence, subst_frame_loss() will be unable to compensate one (potentionally lost) Downlink burst. On practice, given the size of unsigned long and duration of a single TDMA frame, it would only happen once in roughly ~6 years. FRAME_DURATION = 4615 * 10e-6 ULONG_MAX = 2 ** 32 - 1 FRAME_DURATION * ULONG_MAX -> ~198212740 seconds -> ~55059 hours -> ~2294 days -> ~6 years. Chances are that trxcon would crash much earlier, or even GSM would be completely forgotten during such a long time run, but let's make pespin run it as much as he needs, and simply start counting from 1 if that eventually happens. Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 --- M src/host/trxcon/sched_trx.c 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/49/17449/1 diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 1efae24..b53b0e8 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -721,7 +721,16 @@ /* Update TDMA frame statistics */ lchan->tdma.last_proc = fn; - lchan->tdma.num_proc++; + + if (++lchan->tdma.num_proc == 0) { + /* Theoretically, we may have an integer overflow of num_proc counter. + * As a consequence, subst_frame_loss() will be unable to compensate + * one (potentionally lost) Downlink burst. On practice, it would + * happen once in 4615 * 10e-6 * (2 ^ 32 - 1) seconds or ~6 years. */ + LOGP(DSCHD, LOGL_NOTICE, "Too many TDMA frames have been processed. " + "Are you running trxcon for more than 6 years?!?\n"); + lchan->tdma.num_proc = 1; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 Gerrit-Change-Number: 17449 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 Mar 10 20:36:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 20:36:23 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print TDMA statistics on lchan deactivation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17450 ) Change subject: trxcon/scheduler: print TDMA statistics on lchan deactivation ...................................................................... trxcon/scheduler: print TDMA statistics on lchan deactivation Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a --- M src/host/trxcon/sched_trx.c 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/50/17450/1 diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index b53b0e8..e172610 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -458,6 +458,16 @@ /* Prevent NULL-pointer deference */ OSMO_ASSERT(lchan != NULL); + /* Print some TDMA statistics for Downlink */ + if (trx_lchan_desc[lchan->type].rx_fn && lchan->active) { + LOGP(DSCH, LOGL_DEBUG, "TDMA statistics for lchan=%s on ts=%u: " + "%lu DL frames have been processed, " + "%lu lost (compensated), last fn=%u\n", + trx_lchan_desc[lchan->type].name, lchan->ts->index, + lchan->tdma.num_proc, lchan->tdma.num_lost, + lchan->tdma.last_proc); + } + /* Reset internal state variables */ lchan->rx_burst_mask = 0x00; lchan->tx_burst_mask = 0x00; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a Gerrit-Change-Number: 17450 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 Mar 10 20:49:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:49:48 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17354 ) Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 20:49: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 Mar 10 20:49:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:49:52 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/F: fix Downlink burst completeness check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17355 ) Change subject: trxcon/scheduler: TCH/F: fix Downlink burst completeness check ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 Gerrit-Change-Number: 17355 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 20:49: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 Mar 10 20:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:58:41 +0000 Subject: Change in osmocom-bb[master]: virtphy: Sync virtual_um.[ch] with osmo-bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17445 ) Change subject: virtphy: Sync virtual_um.[ch] with osmo-bts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I189ee28a85a6d7a7a07b062f6b07012478503e8f Gerrit-Change-Number: 17445 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Mar 2020 20: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 Tue Mar 10 20:58:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:58:48 +0000 Subject: Change in osmocom-bb[master]: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17448 ) Change subject: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d Gerrit-Change-Number: 17448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Mar 2020 20:58:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 20:58:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:58:51 +0000 Subject: Change in osmocom-bb[master]: virtphy: Sync virtual_um.[ch] with osmo-bts In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17445 ) Change subject: virtphy: Sync virtual_um.[ch] with osmo-bts ...................................................................... virtphy: Sync virtual_um.[ch] with osmo-bts The files are used in both projects, and while the osmo-bts code has evolved, this copy didn't. Let's sync again (to libosmocore change-Id I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445). Change-Id: I189ee28a85a6d7a7a07b062f6b07012478503e8f Depends: libosmocore.git Ib52d22710020b56965aefcef09bde8247ace4a9c Related: OS#2966 --- M src/host/virt_phy/include/virtphy/virtual_um.h M src/host/virt_phy/src/shared/virtual_um.c M src/host/virt_phy/src/virtphy.c 3 files changed, 54 insertions(+), 26 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/host/virt_phy/include/virtphy/virtual_um.h b/src/host/virt_phy/include/virtphy/virtual_um.h index 52f2df6..fe06092 100644 --- a/src/host/virt_phy/include/virtphy/virtual_um.h +++ b/src/host/virt_phy/include/virtphy/virtual_um.h @@ -17,7 +17,9 @@ #define VIRT_UM_MSGB_SIZE 256 #define DEFAULT_MS_MCAST_GROUP "239.193.23.1" +#define DEFAULT_MS_MCAST_PORT 4729 /* IANA-registered port for GSMTAP */ #define DEFAULT_BTS_MCAST_GROUP "239.193.23.2" +#define DEFAULT_BTS_MCAST_PORT 4729 /* IANA-registered port for GSMTAP */ struct virt_um_inst { void *priv; @@ -27,7 +29,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); diff --git a/src/host/virt_phy/src/shared/virtual_um.c b/src/host/virt_phy/src/shared/virtual_um.c index 9415bfb..14a444c 100644 --- a/src/host/virt_phy/src/shared/virtual_um.c +++ b/src/host/virt_phy/src/shared/virtual_um.c @@ -27,7 +27,9 @@ #include #include #include + #include +#include /** * Virtual UM interface file descriptor callback. @@ -37,49 +39,71 @@ { struct virt_um_inst *vui = ofd->data; - // check if the read flag is set if (what & BSC_FD_READ) { - // allocate message buffer of specified size - struct msgb *msg = msgb_alloc(VIRT_UM_MSGB_SIZE, - "Virtual UM Rx"); + struct msgb *msg = msgb_alloc(VIRT_UM_MSGB_SIZE, "Virtual UM Rx"); int rc; - // read message from fd in message buffer - rc = mcast_bidir_sock_rx(vui->mcast_sock, msgb_data(msg), - msgb_tailroom(msg)); - // rc is number of bytes actually read + /* read message from fd into message buffer */ + rc = mcast_bidir_sock_rx(vui->mcast_sock, msgb_data(msg), msgb_tailroom(msg)); if (rc > 0) { msgb_put(msg, rc); msg->l1h = msgb_data(msg); - // call the l1 callback function for a received msg + /* call the l1 callback function for a received msg */ vui->recv_cb(vui, msg); - } else { - // TODO: this kind of error handling might be a bit harsh + } else if (rc == 0) { vui->recv_cb(vui, NULL); - // Unregister fd from select loop - osmo_fd_unregister(ofd); - close(ofd->fd); - ofd->fd = -1; - ofd->when = 0; - } + osmo_fd_close(ofd); + } else + perror("Read from multicast socket"); + } return 0; } -struct virt_um_inst *virt_um_init( - void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, - void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) +struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, + void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); - vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, - tx_mcast_port, rx_mcast_group, rx_mcast_port, 1, - virt_um_fd_cb, vui); + int rc; + + vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, tx_mcast_port, + rx_mcast_group, rx_mcast_port, 1, virt_um_fd_cb, vui); + if (!vui->mcast_sock) { + perror("Unable to create VirtualUm multicast socket"); + talloc_free(vui); + return NULL; + } vui->recv_cb = recv_cb; + if (ttl >= 0) { + rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); + if (rc < 0) { + perror("Cannot set TTL of Virtual Um transmit socket"); + goto out_close; + } + } + + if (dev_name) { + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->tx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast tx to given device"); + goto out_close; + } + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->rx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast rx to given device"); + goto out_close; + } + } + return vui; +out_close: + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; } void virt_um_destroy(struct virt_um_inst *vui) @@ -97,6 +121,8 @@ rc = mcast_bidir_sock_tx(vui->mcast_sock, msgb_data(msg), msgb_length(msg)); + if (rc < 0) + rc = -errno; msgb_free(msg); return rc; diff --git a/src/host/virt_phy/src/virtphy.c b/src/host/virt_phy/src/virtphy.c index d0a2ddb..3290dd8 100644 --- a/src/host/virt_phy/src/virtphy.c +++ b/src/host/virt_phy/src/virtphy.c @@ -231,7 +231,7 @@ LOGP(DVIRPHY, LOGL_INFO, "Virtual physical layer starting up...\n"); - g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, + g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, -1, NULL, gsmtapl1_rx_from_virt_um_inst_cb); g_vphy.l1ctl_sock = l1ctl_sock_init(tall_vphy_ctx, l1ctl_sap_rx_from_l23_inst_cb, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I189ee28a85a6d7a7a07b062f6b07012478503e8f Gerrit-Change-Number: 17445 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 Mar 10 20:58:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:58:51 +0000 Subject: Change in osmocom-bb[master]: virtphy: Add command line arguments to set multicast netdev + TTL In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17446 ) Change subject: virtphy: Add command line arguments to set multicast netdev + TTL ...................................................................... virtphy: Add command line arguments to set multicast netdev + TTL This allows us to bind the multicast sockets to a given network device and/or to set the TTL of the multicast frames and hence control their reach in terms of number of network hops. Change-Id: Ia74aa381a4c1921cb8c7e263842a864ea8028139 Related: OS#2966 --- M src/host/virt_phy/src/virtphy.c 1 file changed, 15 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/virt_phy/src/virtphy.c b/src/host/virt_phy/src/virtphy.c index 3290dd8..412da9c 100644 --- a/src/host/virt_phy/src/virtphy.c +++ b/src/host/virt_phy/src/virtphy.c @@ -59,6 +59,8 @@ static char *l1ctl_sock_path = L1CTL_SOCK_PATH; static char *arfcn_sig_lev_red_mask = NULL; static char *pm_timeout = NULL; +static char *mcast_netdev = NULL; +static int mcast_ttl = -1; static void print_usage() { @@ -76,6 +78,8 @@ printf(" -s --l1ctl-sock l1ctl socket path path.\n"); printf(" -r --arfcn-sig-lev-red reduce signal level (e.g. 666,12:888,43:176,22).\n"); printf(" -t --pm-timeout power management timeout.\n"); + printf(" -T --mcast-ttl TTL set TTL of Virtual Um GSMTAP multicast frames\n"); + printf(" -D --mcast-deav NETDEV bind to given network device for Virtual Um\n"); } static void handle_options(int argc, char **argv) @@ -91,9 +95,11 @@ {"l1ctl-sock", required_argument, 0, 's'}, {"arfcn-sig-lev-red", required_argument, 0, 'r'}, {"pm-timeout", required_argument, 0, 't'}, + {"mcast-ttl", required_argument, 0, 'T'}, + {"mcast-dev", required_argument, 0, 'D'}, {0, 0, 0, 0}, }; - c = getopt_long(argc, argv, "hz:y:x:d:s:r:t:", long_options, + c = getopt_long(argc, argv, "hz:y:x:d:s:r:t:T:D:", long_options, &option_index); if (c == -1) break; @@ -124,6 +130,12 @@ case 't': pm_timeout = optarg; break; + case 'T': + mcast_ttl = atoi(optarg); + break; + case 'D': + mcast_netdev = optarg; + break; default: break; } @@ -231,8 +243,8 @@ LOGP(DVIRPHY, LOGL_INFO, "Virtual physical layer starting up...\n"); - g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, -1, NULL, - gsmtapl1_rx_from_virt_um_inst_cb); + g_vphy.virt_um = virt_um_init(tall_vphy_ctx, ul_tx_grp, port, dl_rx_grp, port, mcast_ttl, + mcast_netdev, gsmtapl1_rx_from_virt_um_inst_cb); g_vphy.l1ctl_sock = l1ctl_sock_init(tall_vphy_ctx, l1ctl_sap_rx_from_l23_inst_cb, l1ctl_accept_cb, l1ctl_close_cb, l1ctl_sock_path); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia74aa381a4c1921cb8c7e263842a864ea8028139 Gerrit-Change-Number: 17446 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 10 20:58:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 20:58:52 +0000 Subject: Change in osmocom-bb[master]: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17448 ) Change subject: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF ...................................................................... virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d --- M src/host/virt_phy/include/virtphy/virt_l1_model.h M src/host/virt_phy/src/virt_prim_pm.c 2 files changed, 29 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/host/virt_phy/include/virtphy/virt_l1_model.h b/src/host/virt_phy/include/virtphy/virt_l1_model.h index 99ad39f..ffed708 100644 --- a/src/host/virt_phy/include/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/virtphy/virt_l1_model.h @@ -100,6 +100,12 @@ uint8_t arfcn_sig_lev_red_dbm[1024]; struct osmo_timer_list arfcn_sig_lev_timers[1024]; } meas; + struct { + uint16_t band_arfcn_from; + uint16_t band_arfcn_to; + /* timer between receiving PM_REQ and responding with PM_CONF */ + struct osmo_timer_list timer; + } req; } pm; }; diff --git a/src/host/virt_phy/src/virt_prim_pm.c b/src/host/virt_phy/src/virt_prim_pm.c index 6d11f49..561f6ce 100644 --- a/src/host/virt_phy/src/virt_prim_pm.c +++ b/src/host/virt_phy/src/virt_prim_pm.c @@ -84,25 +84,36 @@ struct l1_state_ms *l1s = &ms->state; struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->data; struct l1ctl_pm_req *pm_req = (struct l1ctl_pm_req *) l1h->data; + + /* just parse the data from the request here */ + 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", + 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 + * we will respond too fast, and 'mobile' will run havoc in a busy loop issuing + * endless PM_REQ until a cell eventually isfound */ + osmo_timer_schedule(&l1s->pm.req.timer, 0, 300000); +} + +static void pm_conf_timer_cb(void *data) +{ + struct l1_model_ms *ms = data; + struct l1_state_ms *l1s = &ms->state; struct msgb *resp_msg = l1ctl_msgb_alloc(L1CTL_PM_CONF); uint16_t arfcn_next; - /* convert to host order */ - pm_req->range.band_arfcn_from = ntohs(pm_req->range.band_arfcn_from); - pm_req->range.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", - pm_req->type, pm_req->range.band_arfcn_from, pm_req->range.band_arfcn_to); - - for (arfcn_next = pm_req->range.band_arfcn_from; - arfcn_next <= pm_req->range.band_arfcn_to; ++arfcn_next) { + for (arfcn_next = l1s->pm.req.band_arfcn_from; + arfcn_next <= l1s->pm.req.band_arfcn_to; ++arfcn_next) { struct l1ctl_pm_conf *pm_conf = (struct l1ctl_pm_conf *) msgb_put(resp_msg, sizeof(*pm_conf)); pm_conf->band_arfcn = htons(arfcn_next); /* set min and max to the value calculated for that * arfcn (IGNORE UPLINKK AND PCS AND OTHER FLAGS) */ pm_conf->pm[0] = dbm2rxlev(l1s->pm.meas.arfcn_sig_lev_dbm[arfcn_next & ARFCN_NO_FLAGS_MASK]); pm_conf->pm[1] = dbm2rxlev(l1s->pm.meas.arfcn_sig_lev_dbm[arfcn_next & ARFCN_NO_FLAGS_MASK]); - if (arfcn_next == pm_req->range.band_arfcn_to) { + if (arfcn_next == l1s->pm.req.band_arfcn_to) { struct l1ctl_hdr *resp_l1h = msgb_l1(resp_msg); resp_l1h->flags |= L1CTL_F_DONE; } @@ -137,6 +148,7 @@ l1s->pm.meas.arfcn_sig_lev_timers[i].cb = prim_pm_timer_cb; l1s->pm.meas.arfcn_sig_lev_timers[i].data = &l1s->pm.meas.arfcn_sig_lev_dbm[i]; } + osmo_timer_setup(&l1s->pm.req.timer, pm_conf_timer_cb, model); } void prim_pm_exit(struct l1_model_ms *model) @@ -146,4 +158,5 @@ for (i = 0; i < 1024; ++i) osmo_timer_del(&l1s->pm.meas.arfcn_sig_lev_timers[i]); + osmo_timer_del(&l1s->pm.req.timer); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d Gerrit-Change-Number: 17448 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 Mar 10 21:01:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 21:01:30 +0000 Subject: Change in osmocom-bb[master]: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17448 ) Change subject: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17448/1/src/host/virt_phy/src/virt_prim_pm.c File src/host/virt_phy/src/virt_prim_pm.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17448/1/src/host/virt_phy/src/virt_prim_pm.c at 92 PS1, Line 92: FROM=%d, TO=%d\ %u https://gerrit.osmocom.org/c/osmocom-bb/+/17448/1/src/host/virt_phy/src/virt_prim_pm.c at 93 PS1, Line 93: l1s->pm.req.band_arfcn_from, l1s->pm.req.band_arfcn_to We may also want to clear the band flags (two MSB bits) before printing ARFCN. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d Gerrit-Change-Number: 17448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 10 Mar 2020 21:01: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 Tue Mar 10 21:10:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 21:10:01 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17380 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Patch Set 2: this should probably be abandoned by now, we have another patch merged. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 Gerrit-Change-Number: 17380 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Mar 2020 21:10: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 Mar 10 21:12:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Mar 2020 21:12:03 +0000 Subject: Change in osmocom-bb[master]: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17448 ) Change subject: virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17448/1/src/host/virt_phy/src/virt_prim_pm.c File src/host/virt_phy/src/virt_prim_pm.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17448/1/src/host/virt_phy/src/virt_prim_pm.c at 93 PS1, Line 93: l1s->pm.req.band_arfcn_from, l1s->pm.req.band_arfcn_to > We may also want to clear the band flags (two MSB bits) before printing ARFCN. the entire virtphy code doesn't appear to be treating the flags correctly at all. I thought it doesn't make sense to now try to do this correctly, as I am not even sure if the data stored should be with those its or without it. This needs a more thorough review of the entire codebase. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I443b5512c4966c232107aeb73e1fd8b83335d63d Gerrit-Change-Number: 17448 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 10 Mar 2020 21:12:03 +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 Mar 10 21:38:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 21:38:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: be safe against a theoretical integer overflow 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/+/17449 to look at the new patch set (#2). Change subject: trxcon/scheduler: be safe against a theoretical integer overflow ...................................................................... trxcon/scheduler: be safe against a theoretical integer overflow As was noted by Pau Espin Pedrol, there is a theoretical chance that lchan->tdma.num_proc would overflow, so as a consequence, subst_frame_loss() will be unable to compensate one (potentionally lost) Downlink burst. On practice, given the size of unsigned long and duration of a single TDMA frame, it would only happen once in roughly ~6 years. FRAME_DURATION = 4615 * 10e-6 ULONG_MAX = 2 ** 32 - 1 FRAME_DURATION * ULONG_MAX -> ~198212740 seconds -> ~55059 hours -> ~2294 days -> ~6 years. Chances are that trxcon would crash much earlier, or even GSM would be completely forgotten after such a long time run, but let's work this around and simply start counting from 1 if that overflow eventually happens. Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 --- M src/host/trxcon/sched_trx.c 1 file changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/49/17449/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 Gerrit-Change-Number: 17449 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 Tue Mar 10 21:38:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 21:38:55 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print TDMA statistics on lchan deactivation 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/+/17450 to look at the new patch set (#2). Change subject: trxcon/scheduler: print TDMA statistics on lchan deactivation ...................................................................... trxcon/scheduler: print TDMA statistics on lchan deactivation Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a --- M src/host/trxcon/sched_trx.c 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/50/17450/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a Gerrit-Change-Number: 17450 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 Tue Mar 10 22:17:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 22:17:04 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17444 ) Change subject: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Gerrit-Change-Number: 17444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 10 Mar 2020 22:17: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 Mar 10 22:17:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Mar 2020 22:17:20 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Mar 2020 22:17:20 +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 Mar 11 01:31:55 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 11 Mar 2020 01:31:55 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5e683f9314c06_59182b09d559a6003229aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/xUbuntu_18.10/i586 Package network:osmocom:nightly/libusrp failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: [ 161s] Processing triggers for man-db (2.8.4-2) ... [ 163s] [307/368] installing python2-2.7.15-3 [ 163s] Processing triggers for man-db (2.8.4-2) ... [ 163s] [308/368] installing python3.6-3.6.7~rc1-1 [ 164s] Processing triggers for mime-support (3.60ubuntu1) ... [ 164s] Processing triggers for man-db (2.8.4-2) ... [ 165s] [309/368] installing bash-4.4.18-2ubuntu3 [ 165s] update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode [ 165s] Processing triggers for install-info (6.5.0.dfsg.1-4) ... [ 165s] Processing triggers for man-db (2.8.4-2) ... [ 165s] [310/368] installing libpython3.6-3.6.7~rc1-1 [ 166s] Processing triggers for libc-bin (2.28-0ubuntu1) ... [ 166s] [311/368] installing passwd-1:4.5-1ubuntu1 [ 166s] [ 152.636357] EXT4-fs error (device sda): ext4_find_dest_de:1808: inode #852764: block 3408468: comm dpkg: bad entry in directory: rec_len % 4 != 0 - offset=76, inode=855550, rec_len=3841, name_len=12, size=4096 [ 166s] dpkg: error processing archive .init_b_cache/passwd.deb (--install): [ 166s] unable to make backup link of './usr/share/man/da/man5/gshadow.5.gz' before installing new version: Structure needs cleaning [ 166s] dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) [ 166s] Processing triggers for man-db (2.8.4-2) ... [ 166s] [ 152.682277] EXT4-fs error (device sda): htree_dirblock_to_tree:992: inode #852764: block 3408468: comm mandb: bad entry in directory: rec_len % 4 != 0 - offset=76, inode=855550, rec_len=3841, name_len=12, size=4096 [ 166s] Errors were encountered while processing: [ 166s] .init_b_cache/passwd.deb [ 166s] exit ... [ 166s] ### VM INTERACTION START ### [ 169s] [ 155.939809] sysrq: SysRq : Power Off [ 169s] [ 155.947940] reboot: Power down [ 169s] ### VM INTERACTION END ### [ 169s] [ 169s] lamb58 failed "build libusrp_3.4.4.3.6b18.dsc" at Wed Mar 11 01:31:42 UTC 2020. [ 169s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Mar 11 08:52:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 08:52:19 +0000 Subject: Change in osmo-remsim[master]: debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17451 ) Change subject: debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client ...................................................................... debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client The package used to be called differently, let's make sure the new is treated as a successor to the old one. Change-Id: I4102409b7ae0d18dae83be50c28c0236083d3d1f --- M debian/control 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/51/17451/1 diff --git a/debian/control b/debian/control index 47033fb..daa8dc6 100644 --- a/debian/control +++ b/debian/control @@ -62,6 +62,8 @@ and receives inbound connections from remsim-clients. Package: osmo-remsim-client-st2 +Replaces: osmo-remsim-client +Breaks: osmo-remsim-client Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends} -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4102409b7ae0d18dae83be50c28c0236083d3d1f Gerrit-Change-Number: 17451 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 Mar 11 09:00:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:00:17 +0000 Subject: Change in osmo-ci[master]: ansible: ensure rsync is installed on all build slaves References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17452 ) Change subject: ansible: ensure rsync is installed on all build slaves ...................................................................... ansible: ensure rsync is installed on all build slaves Avoid the following error by the Osmocom-OBS_MinGW_weekly_publish job: rsync -avz -e 'ssh -o '\''UserKnownHostsFile=/home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/known_hosts'\'' -p 48' /home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/out/ binaries at ftp.osmocom.org:web-files/windows /tmp/jenkins1809827296988933592.sh: line 164: rsync: command not found Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/52/17452/1 diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml index 86acaab..92ff822 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -51,6 +51,8 @@ - patchelf # by libusrp - sdcc + # by mingw upload job + - rsync - name: install build dependencies and libraries apt: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6 Gerrit-Change-Number: 17452 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 Mar 11 09:01:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:01:47 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Avoid rejecting AMR in uplink References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17453 ) Change subject: osmo-bts-virtual: Avoid rejecting AMR in uplink ...................................................................... osmo-bts-virtual: Avoid rejecting AMR in uplink Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 2 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/17453/1 diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 72a6874..a60c9e0 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -386,47 +386,8 @@ } break; case GSM48_CMODE_SPEECH_AMR: /* AMR */ -#if 0 - len = amr_decompose_payload(msg_tch->l2h, - msgb_l2len(msg_tch), &cmr_codec, &ft_codec, - &bfi); - cmr = -1; - ft = -1; - for (i = 0; i < chan_state->codecs; i++) { - if (chan_state->codec[i] == cmr_codec) - cmr = i; - if (chan_state->codec[i] == ft_codec) - ft = i; - } - if (cmr >= 0) { /* new request */ - chan_state->dl_cmr = cmr; - /* disable AMR loop */ - trx_loop_amr_set(chan_state, 0); - } else { - /* enable AMR loop */ - trx_loop_amr_set(chan_state, 1); - } - if (ft < 0) { - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, - "Codec (FT = %d) of RTP frame not in list. ", ft_codec); - goto free_bad_msg; - } - if (codec_mode_request && chan_state->dl_ft != ft) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Codec (FT = %d) of RTP cannot be changed now, but in " - "next frame\n", ft_codec); - goto free_bad_msg; - } - chan_state->dl_ft = ft; - if (bfi) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, - "Transmitting 'bad AMR frame'\n"); - goto free_bad_msg; - } -#else - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "AMR not supported!\n"); - goto free_bad_msg; -#endif + /* TODO: check length for consistency */ + goto send_frame; break; default: inval_mode2: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f Gerrit-Change-Number: 17453 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 Mar 11 09:02:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:02:31 +0000 Subject: Change in docker-playground[master]: osmo-remism-latest: Actually use 'latest', not 'nightly' feed References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17454 ) Change subject: osmo-remism-latest: Actually use 'latest', not 'nightly' feed ...................................................................... osmo-remism-latest: Actually use 'latest', not 'nightly' feed Change-Id: I790a7c0777298c7e9786521858d3fd9b39831ad6 --- M osmo-remsim-latest/Dockerfile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/54/17454/1 diff --git a/osmo-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile index 45c5601..c2d0e67 100644 --- a/osmo-remsim-latest/Dockerfile +++ b/osmo-remsim-latest/Dockerfile @@ -2,7 +2,7 @@ MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/" COPY Release.key /tmp/Release.key @@ -13,7 +13,7 @@ RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I790a7c0777298c7e9786521858d3fd9b39831ad6 Gerrit-Change-Number: 17454 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 Mar 11 09:03:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:03:42 +0000 Subject: Change in osmo-ci[master]: ansible: ensure rsync is installed on all build slaves In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17452 ) Change subject: ansible: ensure rsync is installed on all build slaves ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6 Gerrit-Change-Number: 17452 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 11 Mar 2020 09: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 Wed Mar 11 09:03:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:03:47 +0000 Subject: Change in osmo-ci[master]: ansible: ensure rsync is installed on all build slaves In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17452 ) Change subject: ansible: ensure rsync is installed on all build slaves ...................................................................... ansible: ensure rsync is installed on all build slaves Avoid the following error by the Osmocom-OBS_MinGW_weekly_publish job: rsync -avz -e 'ssh -o '\''UserKnownHostsFile=/home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/known_hosts'\'' -p 48' /home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/out/ binaries at ftp.osmocom.org:web-files/windows /tmp/jenkins1809827296988933592.sh: line 164: rsync: command not found Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml index 86acaab..92ff822 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -51,6 +51,8 @@ - patchelf # by libusrp - sdcc + # by mingw upload job + - rsync - name: install build dependencies and libraries apt: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6 Gerrit-Change-Number: 17452 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Mar 11 09:04:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:04:00 +0000 Subject: Change in docker-playground[master]: osmo-remism-latest: Actually use 'latest', not 'nightly' feed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17454 ) Change subject: osmo-remism-latest: Actually use 'latest', not 'nightly' feed ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I790a7c0777298c7e9786521858d3fd9b39831ad6 Gerrit-Change-Number: 17454 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 09:04: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 Mar 11 09:04:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:04:05 +0000 Subject: Change in docker-playground[master]: osmo-remism-latest: Actually use 'latest', not 'nightly' feed In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17454 ) Change subject: osmo-remism-latest: Actually use 'latest', not 'nightly' feed ...................................................................... osmo-remism-latest: Actually use 'latest', not 'nightly' feed Change-Id: I790a7c0777298c7e9786521858d3fd9b39831ad6 --- M osmo-remsim-latest/Dockerfile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile index 45c5601..c2d0e67 100644 --- a/osmo-remsim-latest/Dockerfile +++ b/osmo-remsim-latest/Dockerfile @@ -2,7 +2,7 @@ MAINTAINER Harald Welte -ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/" COPY Release.key /tmp/Release.key @@ -13,7 +13,7 @@ RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I790a7c0777298c7e9786521858d3fd9b39831ad6 Gerrit-Change-Number: 17454 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 Wed Mar 11 09:25:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:25:32 +0000 Subject: Change in osmo-remsim[master]: debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17451 ) Change subject: debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4102409b7ae0d18dae83be50c28c0236083d3d1f Gerrit-Change-Number: 17451 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 09: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 Wed Mar 11 09:25:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 09:25:34 +0000 Subject: Change in osmo-remsim[master]: debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17451 ) Change subject: debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client ...................................................................... debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client The package used to be called differently, let's make sure the new is treated as a successor to the old one. Change-Id: I4102409b7ae0d18dae83be50c28c0236083d3d1f --- M debian/control 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index 47033fb..daa8dc6 100644 --- a/debian/control +++ b/debian/control @@ -62,6 +62,8 @@ and receives inbound connections from remsim-clients. Package: osmo-remsim-client-st2 +Replaces: osmo-remsim-client +Breaks: osmo-remsim-client Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends} -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4102409b7ae0d18dae83be50c28c0236083d3d1f Gerrit-Change-Number: 17451 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 10:06:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Mar 2020 10:06:25 +0000 Subject: Change in osmo-bsc[master]: tests/Makefile.am: allow running only one VTY test References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17455 ) Change subject: tests/Makefile.am: allow running only one VTY test ...................................................................... tests/Makefile.am: allow running only one VTY test Add VTY_TEST variable, just like in osmo-hlr Change-Id I4ad7ddb31b2bfb668b3540cfef658417dd442375. Change-Id: Ieb08ae57bd8bb68c9a8593b3e1175eae9064ac57 --- M tests/Makefile.am 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/55/17455/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 446276b..9f2e0e0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -54,6 +54,9 @@ echo "Not running python-based tests (determined at configure-time)" endif +# Run a specific test with: 'make vty-test VTY_TEST=osmo-bsc.vty' +VTY_TEST ?= *.vty + # To update the VTY script from current application behavior, # pass -u to vty_script_runner.py by doing: # make vty-test U=-u @@ -61,7 +64,7 @@ osmo_verify_transcript_vty.py -v \ -n OsmoBSC -p 4242 \ -r "$(top_builddir)/src/osmo-bsc/osmo-bsc -c $(top_srcdir)/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg" \ - $(U) $(srcdir)/*.vty + $(U) $(srcdir)/$(VTY_TEST) check-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ieb08ae57bd8bb68c9a8593b3e1175eae9064ac57 Gerrit-Change-Number: 17455 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 Mar 11 10:06:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Mar 2020 10:06:26 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17456 ) Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... osmo-bsc/bsc_vty: set default gprs cell bvci to 2 Do not use 0 as default, as it is reserved for signalling. Related: OS#4408 Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 --- M src/osmo-bsc/bsc_vty.c A tests/gprs_bvci_default.vty 2 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/17456/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d1a268d..e858d58 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3059,6 +3059,10 @@ bts->gprs.mode = mode; + /* 3GPP TS 08.18, chapter 5.4.1: 0 is reserved for signalling */ + if (!bts->gprs.cell.bvci) + bts->gprs.cell.bvci = 2; + return CMD_SUCCESS; } diff --git a/tests/gprs_bvci_default.vty b/tests/gprs_bvci_default.vty new file mode 100644 index 0000000..4bd95ce --- /dev/null +++ b/tests/gprs_bvci_default.vty @@ -0,0 +1,13 @@ +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# network +OsmoBSC(config-net)# bts 0 +OsmoBSC(config-net-bts)# gprs mode gprs +OsmoBSC(config-net-bts)# exit + +OsmoBSC(config-net)# show running-config +... + bts 0 +... + gprs cell bvci 2 +... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 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 Mar 11 11:02:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:02:28 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 5: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17351/4/src/host/trxcon/sched_trx.c at 750 PS4, Line 750: if (i + 1 == n) > > [...] loop exits and "meas" is not used anymore. [?] Ah indeed, I didn't see it. It probably makes sense to simplify the loop this way: toa256_sum = meas->toa256; rssi_sum = meas->rssi; for (i = 0; i < n - 1; i++) { /* get back up to first burst */ if (meas == MEAS_HIST_FIRST(hist)) meas = MEAS_HIST_LAST(hist); else meas--; toa256_sum += meas->toa256; rssi_sum += meas->rssi; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11:02:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 11:04:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:04:11 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... Patch Set 5: Code-Review+1 Fix for it in next patch. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11:04: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 Mar 11 11:08:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:08:30 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: be safe against a theoretical integer overflow In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17449 ) Change subject: trxcon/scheduler: be safe against a theoretical integer overflow ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17449/2/src/host/trxcon/sched_trx.c File src/host/trxcon/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17449/2/src/host/trxcon/sched_trx.c at 725 PS2, Line 725: if (++lchan->tdma.num_proc == 0) { I'd be far more easier to understand having just one more boolean in struct tdma and using that when doing the initial check in subst_frame_loss(), but fine. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 Gerrit-Change-Number: 17449 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11:08:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 11:09:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:09:19 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print TDMA statistics on lchan deactivation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17450 ) Change subject: trxcon/scheduler: print TDMA statistics on lchan deactivation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a Gerrit-Change-Number: 17450 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11:09:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 11:28:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:28:18 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17444 ) Change subject: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Gerrit-Change-Number: 17444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11:28: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 Mar 11 11:29:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:29:01 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Avoid rejecting AMR in uplink In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17453 ) Change subject: osmo-bts-virtual: Avoid rejecting AMR in uplink ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib527a9fe02c49f6129c376424480aa1004f9ee8f Gerrit-Change-Number: 17453 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11: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 Mar 11 11:31:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 11:31:21 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 11: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 Wed Mar 11 11:36:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 11 Mar 2020 11:36:06 +0000 Subject: Change in pysim[master]: sysmiISIM-SJA2: add support for new card model / os version References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17457 ) Change subject: sysmiISIM-SJA2: add support for new card model / os version ...................................................................... sysmiISIM-SJA2: add support for new card model / os version There is a new card version with a different ATR, lets add the ATR for this card to support it as well. Change-Id: I222faea89c1df58c36a19b28449dffb84a956e74 Related: SYS#4817 --- M pySim/cards.py 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/17457/1 diff --git a/pySim/cards.py b/pySim/cards.py index ec2724c..0f84834 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -984,6 +984,11 @@ atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 31 33 02 51 B2" if scc.get_atr() == toBytes(atr): return kls(scc) + + # Try card model #3 + atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 52 75 31 04 51 D5" + if scc.get_atr() == toBytes(atr): + return kls(scc) except: return None return None -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I222faea89c1df58c36a19b28449dffb84a956e74 Gerrit-Change-Number: 17457 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 Mar 11 11:36:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 11 Mar 2020 11:36:06 +0000 Subject: Change in pysim[master]: sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17458 ) Change subject: sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards ...................................................................... sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards When pysim-prog programms the application specific files of ISIM and USIM it selects the application by its AID first. If depending on the card profile one of the applications is missing the selection of the related ADF will fail. Lets check the presence of the AID first and if it is not present lets skip the programming of the related files. Change-Id: I0eec6ed244320fcd4dc410b6fab20df9c64ff906 Related: SYS#4817 --- M pySim/cards.py 1 file changed, 12 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/17458/1 diff --git a/pySim/cards.py b/pySim/cards.py index 0f84834..a872ee0 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1054,20 +1054,22 @@ # update EF-USIM_AUTH_KEY in ADF.ISIM self._scc.select_file(['3f00']) aid = self.read_aid(isim = True) - self._scc.select_adf(aid) - if p.get('ki'): - self._scc.update_binary('af20', p['ki'], 1) - if p.get('opc'): - self._scc.update_binary('af20', p['opc'], 17) + if (aid): + self._scc.select_adf(aid) + if p.get('ki'): + self._scc.update_binary('af20', p['ki'], 1) + if p.get('opc'): + self._scc.update_binary('af20', p['opc'], 17) # update EF-USIM_AUTH_KEY in ADF.USIM self._scc.select_file(['3f00']) aid = self.read_aid() - self._scc.select_adf(aid) - if p.get('ki'): - self._scc.update_binary('af20', p['ki'], 1) - if p.get('opc'): - self._scc.update_binary('af20', p['opc'], 17) + if (aid): + self._scc.select_adf(aid) + if p.get('ki'): + self._scc.update_binary('af20', p['ki'], 1) + if p.get('opc'): + self._scc.update_binary('af20', p['opc'], 17) return -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0eec6ed244320fcd4dc410b6fab20df9c64ff906 Gerrit-Change-Number: 17458 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 Mar 11 12:11:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 12:11:44 +0000 Subject: Change in osmo-pcu[master]: tests/llc: Change unrealistic time jump to avoid runtime error under ARM References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17459 ) Change subject: tests/llc: Change unrealistic time jump to avoid runtime error under ARM ...................................................................... tests/llc: Change unrealistic time jump to avoid runtime error under ARM When running the test under a RaspberryPI4: +../../../src/llc.cpp:216:29: runtime error: signed integer overflow: 864197544 * 1000 cannot be represented in type 'long int' 864197544 comes from comparing initial insertion time and dequeue time (test does a big jump in time): 987654321 - 123456777 let's use more realistic time changes, since the current one account for about 37 years. Change-Id: I28abc9192e0e7c590bc1c3c88950627cf669ffaf --- M tests/llc/LlcTest.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/17459/1 diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index d6dd5fb..84164a0 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -150,9 +150,9 @@ osmo_gettimeofday_override_time = info1.recv_time; enqueue_data(&queue, "LLC message 1", &info1.expire_time); - info2.recv_time.tv_sec = 987654321; + info2.recv_time.tv_sec = 123458000; info2.recv_time.tv_usec = 547352; - info2.expire_time.tv_sec = 987654327; + info2.expire_time.tv_sec = 123458006; info2.expire_time.tv_usec = 867252; osmo_gettimeofday_override_time = info2.recv_time; enqueue_data(&queue, "LLC message 2", &info2.expire_time); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I28abc9192e0e7c590bc1c3c88950627cf669ffaf Gerrit-Change-Number: 17459 Gerrit-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 Mar 11 12:25:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Mar 2020 12:25:14 +0000 Subject: Change in osmo-pcu[master]: tests/llc: Change unrealistic time jump to avoid runtime error under ARM In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17459 ) Change subject: tests/llc: Change unrealistic time jump to avoid runtime error under ARM ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I28abc9192e0e7c590bc1c3c88950627cf669ffaf Gerrit-Change-Number: 17459 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 11 Mar 2020 12:25:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 13:09:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 13:09:09 +0000 Subject: Change in osmo-pcu[master]: tests/llc: Change unrealistic time jump to avoid runtime error under ARM In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17459 ) Change subject: tests/llc: Change unrealistic time jump to avoid runtime error under ARM ...................................................................... tests/llc: Change unrealistic time jump to avoid runtime error under ARM When running the test under a RaspberryPI4: +../../../src/llc.cpp:216:29: runtime error: signed integer overflow: 864197544 * 1000 cannot be represented in type 'long int' 864197544 comes from comparing initial insertion time and dequeue time (test does a big jump in time): 987654321 - 123456777 let's use more realistic time changes, since the current one account for about 37 years. Change-Id: I28abc9192e0e7c590bc1c3c88950627cf669ffaf --- M tests/llc/LlcTest.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index d6dd5fb..84164a0 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -150,9 +150,9 @@ osmo_gettimeofday_override_time = info1.recv_time; enqueue_data(&queue, "LLC message 1", &info1.expire_time); - info2.recv_time.tv_sec = 987654321; + info2.recv_time.tv_sec = 123458000; info2.recv_time.tv_usec = 547352; - info2.expire_time.tv_sec = 987654327; + info2.expire_time.tv_sec = 123458006; info2.expire_time.tv_usec = 867252; osmo_gettimeofday_override_time = info2.recv_time; enqueue_data(&queue, "LLC message 2", &info2.expire_time); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I28abc9192e0e7c590bc1c3c88950627cf669ffaf Gerrit-Change-Number: 17459 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 Mar 11 13:13:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 13:13:33 +0000 Subject: Change in osmo-ci[master]: job: Update master and gerrit osmo-pcu jobs to also build on ARM plat... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17284 ) Change subject: job: Update master and gerrit osmo-pcu jobs to also build on ARM platform ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a Gerrit-Change-Number: 17284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 13:13:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 13:26:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 13:26:06 +0000 Subject: Change in osmo-pcu[master]: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17460 ) Change subject: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere ...................................................................... Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere We should really be using monotonic clock in all places that gettimeofday is used right now. Since clock_gettime() uses timespec, let's move all code to use timespecs instead to avoid having to convert in several places between timespec and timeval. Actually use osmo_clock_gettime() shim everywhere to be able to control the time everywhere from unit tests. Change-Id: Ie265d70f8ffa7dbf7efbef6030505d9fcb5dc338 --- M src/gprs_bssgp_pcu.cpp M src/gprs_bssgp_pcu.h M src/gprs_codel.c M src/gprs_codel.h M src/gprs_ms.cpp M src/llc.cpp M src/llc.h M src/pcu_utils.h M src/tbf_dl.cpp M src/tbf_dl.h M tests/codel/codel_test.c M tests/llc/LlcTest.cpp 12 files changed, 130 insertions(+), 122 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/17460/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index ccf233a..63c0a6e 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -662,16 +662,16 @@ static uint32_t get_and_reset_avg_queue_delay(void) { - struct timeval *delay_sum = &the_pcu.queue_delay_sum; + struct timespec *delay_sum = &the_pcu.queue_delay_sum; uint32_t delay_sum_ms = delay_sum->tv_sec * 1000 + - delay_sum->tv_usec / 1000000; + delay_sum->tv_nsec / 1000000000; uint32_t avg_delay_ms = 0; if (the_pcu.queue_delay_count > 0) avg_delay_ms = delay_sum_ms / the_pcu.queue_delay_count; /* Reset accumulator */ - delay_sum->tv_sec = delay_sum->tv_usec = 0; + delay_sum->tv_sec = delay_sum->tv_nsec = 0; the_pcu.queue_delay_count = 0; return avg_delay_ms; @@ -1024,14 +1024,14 @@ the_pcu.queue_frames_recv += frames_recv; } -void gprs_bssgp_update_queue_delay(const struct timeval *tv_recv, - const struct timeval *tv_now) +void gprs_bssgp_update_queue_delay(const struct timespec *tv_recv, + const struct timespec *tv_now) { - struct timeval *delay_sum = &the_pcu.queue_delay_sum; - struct timeval tv_delay; + struct timespec *delay_sum = &the_pcu.queue_delay_sum; + struct timespec tv_delay; - timersub(tv_now, tv_recv, &tv_delay); - timeradd(delay_sum, &tv_delay, delay_sum); + timespecsub(tv_now, tv_recv, &tv_delay); + timespecadd(delay_sum, &tv_delay, delay_sum); the_pcu.queue_delay_count += 1; } diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h index f98e719..2ceef60 100644 --- a/src/gprs_bssgp_pcu.h +++ b/src/gprs_bssgp_pcu.h @@ -37,6 +37,8 @@ } #include +#include + #define QOS_PROFILE 4 #define BSSGP_HDR_LEN 53 #define NS_HDR_LEN 4 @@ -57,7 +59,7 @@ int bvc_unblocked; /* Flow control */ - struct timeval queue_delay_sum; + struct timespec queue_delay_sum; unsigned queue_delay_count; uint8_t fc_tag; unsigned queue_frames_sent; @@ -87,8 +89,8 @@ struct bssgp_bvc_ctx *gprs_bssgp_pcu_current_bctx(void); -void gprs_bssgp_update_queue_delay(const struct timeval *tv_recv, - const struct timeval *tv_now); +void gprs_bssgp_update_queue_delay(const struct timespec *tv_recv, + const struct timespec *tv_now); void gprs_bssgp_update_frames_sent(); void gprs_bssgp_update_bytes_received(unsigned bytes_recv, unsigned frames_recv); diff --git a/src/gprs_codel.c b/src/gprs_codel.c index 02440b4..7c3b2d4 100644 --- a/src/gprs_codel.c +++ b/src/gprs_codel.c @@ -22,12 +22,13 @@ #include "gprs_debug.h" #include +#include #include #include #include -static void control_law(struct gprs_codel *state, struct timeval *delta) +static void control_law(struct gprs_codel *state, struct timespec *delta) { /* 256 / sqrt(x), limited to 255 */ static uint8_t inv_sqrt_tab[] = {255, @@ -57,12 +58,12 @@ inv_sqrt = inv_sqrt_tab[state->count]; /* delta = state->interval / sqrt(count) */ - delta_usecs = state->interval.tv_sec * 1000000 + state->interval.tv_usec; + delta_usecs = state->interval.tv_sec * 1000000 + state->interval.tv_nsec/1000; delta_usecs = delta_usecs * inv_sqrt / 256; q = div(delta_usecs, 1000000); delta->tv_sec = q.quot; - delta->tv_usec = q.rem; + delta->tv_nsec = q.rem * 1000; } void gprs_codel_init(struct gprs_codel *state) @@ -83,12 +84,12 @@ q = div(interval_ms, 1000); state->interval.tv_sec = q.quot; - state->interval.tv_usec = q.rem * 1000; + state->interval.tv_nsec = q.rem * 1000000; /* target ~ 5% of interval */ q = div(interval_ms * 13 / 256, 1000); state->target.tv_sec = q.quot; - state->target.tv_usec = q.rem * 1000; + state->target.tv_nsec = q.rem * 1000000; } void gprs_codel_set_maxpacket(struct gprs_codel *state, int maxpacket) @@ -104,29 +105,29 @@ * This is an broken up variant of the algorithm being described in * http://queue.acm.org/appendices/codel.html */ -int gprs_codel_control(struct gprs_codel *state, const struct timeval *recv, - const struct timeval *now, int bytes) +int gprs_codel_control(struct gprs_codel *state, const struct timespec *recv, + const struct timespec *now, int bytes) { - struct timeval sojourn_time; - struct timeval delta; + struct timespec sojourn_time; + struct timespec delta; if (recv == NULL) goto stop_dropping; - timersub(now, recv, &sojourn_time); + timespecsub(now, recv, &sojourn_time); - if (timercmp(&sojourn_time, &state->target, <)) + if (timespeccmp(&sojourn_time, &state->target, <)) goto stop_dropping; if (bytes >= 0 && (unsigned)bytes <= state->maxpacket) goto stop_dropping; - if (!timerisset(&state->first_above_time)) { - timeradd(now, &state->interval, &state->first_above_time); + if (!timespecisset(&state->first_above_time)) { + timespecadd(now, &state->interval, &state->first_above_time); goto not_ok_to_drop; } - if (timercmp(now, &state->first_above_time, <)) + if (timespeccmp(now, &state->first_above_time, <)) goto not_ok_to_drop; /* Ok to drop */ @@ -134,14 +135,14 @@ if (!state->dropping) { int recently = 0; int in_drop_cycle = 0; - if (timerisset(&state->drop_next)) { - timersub(now, &state->drop_next, &delta); - in_drop_cycle = timercmp(&delta, &state->interval, <); + if (timespecisset(&state->drop_next)) { + timespecsub(now, &state->drop_next, &delta); + in_drop_cycle = timespeccmp(&delta, &state->interval, <); recently = in_drop_cycle; } if (!recently) { - timersub(now, &state->first_above_time, &delta); - recently = !timercmp(&delta, &state->interval, <); + timespecsub(now, &state->first_above_time, &delta); + recently = !timespeccmp(&delta, &state->interval, <); }; if (!recently) return 0; @@ -155,24 +156,24 @@ state->drop_next = *now; } else { - if (timercmp(now, &state->drop_next, <)) + if (timespeccmp(now, &state->drop_next, <)) return 0; state->count += 1; } control_law(state, &delta); - timeradd(&state->drop_next, &delta, &state->drop_next); + timespecadd(&state->drop_next, &delta, &state->drop_next); #if 1 LOGP(DRLCMAC, LOGL_INFO, "CoDel decided to drop packet, window = %d.%03dms, count = %d\n", - (int)delta.tv_sec, (int)(delta.tv_usec / 1000), state->count); + (int)delta.tv_sec, (int)(delta.tv_nsec / 1000000), state->count); #endif return 1; stop_dropping: - timerclear(&state->first_above_time); + timespecclear(&state->first_above_time); not_ok_to_drop: state->dropping = 0; return 0; diff --git a/src/gprs_codel.h b/src/gprs_codel.h index fb74423..3ad7efc 100644 --- a/src/gprs_codel.h +++ b/src/gprs_codel.h @@ -27,7 +27,7 @@ #pragma once -#include +#include /* Spec default values */ #define GPRS_CODEL_DEFAULT_INTERVAL_MS 100 @@ -40,10 +40,10 @@ struct gprs_codel { int dropping; unsigned count; - struct timeval first_above_time; - struct timeval drop_next; - struct timeval target; - struct timeval interval; + struct timespec first_above_time; + struct timespec drop_next; + struct timespec target; + struct timespec interval; unsigned maxpacket; }; @@ -66,8 +66,8 @@ * * \return != 0 if the packet should be dropped, 0 otherwise */ -int gprs_codel_control(struct gprs_codel *state, const struct timeval *recv, - const struct timeval *now, int bytes); +int gprs_codel_control(struct gprs_codel *state, const struct timespec *recv, + const struct timespec *now, int bytes); /*! * \brief Initialise CoDel state diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 8074cb4..102f558 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -33,6 +33,7 @@ extern "C" { #include #include + #include #include #include #include "coding_scheme.h" @@ -45,7 +46,7 @@ static int64_t now_msec() { struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); return int64_t(ts.tv_sec) * 1000 + ts.tv_nsec / 1000000; } diff --git a/src/llc.cpp b/src/llc.cpp index 4cd0cc4..8ef7a53 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -27,6 +27,8 @@ #include } +#include "pcu_utils.h" + /* reset LLC frame */ void gprs_llc::reset() { @@ -104,7 +106,7 @@ } -void gprs_llc_queue::enqueue(struct msgb *llc_msg, const struct timeval *expire_time) +void gprs_llc_queue::enqueue(struct msgb *llc_msg, const struct timespec *expire_time) { MetaInfo *meta_storage; @@ -114,7 +116,7 @@ m_queue_octets += msgb_length(llc_msg); meta_storage = (MetaInfo *)&llc_msg->cb[0]; - osmo_gettimeofday(&meta_storage->recv_time, NULL); + osmo_clock_gettime(CLOCK_MONOTONIC, &meta_storage->recv_time); meta_storage->expire_time = *expire_time; msgb_enqueue(&m_queue, llc_msg); @@ -162,7 +164,7 @@ const MetaInfo *mi1 = (MetaInfo *)&msg1->cb[0]; const MetaInfo *mi2 = (MetaInfo *)&msg2->cb[0]; - if (timercmp(&mi2->recv_time, &mi1->recv_time, >)) { + if (timespeccmp(&mi2->recv_time, &mi1->recv_time, >)) { msg = msg1; msg1 = NULL; } else { @@ -192,7 +194,7 @@ struct msgb *gprs_llc_queue::dequeue(const MetaInfo **info) { struct msgb *msg; - struct timeval *tv, tv_now, tv_result; + struct timespec *tv, tv_now, tv_result; uint32_t lifetime; const MetaInfo *meta_storage; @@ -209,17 +211,17 @@ m_queue_octets -= msgb_length(msg); /* take the second time */ - osmo_gettimeofday(&tv_now, NULL); - tv = (struct timeval *)&msg->data[sizeof(*tv)]; - timersub(&tv_now, &meta_storage->recv_time, &tv_result); + osmo_clock_gettime(CLOCK_MONOTONIC, &tv_now); + tv = (struct timespec *)&msg->data[sizeof(*tv)]; + timespecsub(&tv_now, &meta_storage->recv_time, &tv_result); - lifetime = tv_result.tv_sec*1000 + tv_result.tv_usec/1000; + lifetime = tv_result.tv_sec*1000 + tv_result.tv_nsec/1000000; m_avg_queue_delay = m_avg_queue_delay * ALPHA + lifetime * (1-ALPHA); return msg; } -void gprs_llc_queue::calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, struct timeval *tv) +void gprs_llc_queue::calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, struct timespec *tv) { uint16_t delay_csec; if (bts->bts_data()->force_llc_lifetime) @@ -234,20 +236,19 @@ } /* calculate timestamp of timeout */ - struct timeval now, csec; - osmo_gettimeofday(&now, NULL); - csec.tv_usec = (delay_csec % 100) * 10000; - csec.tv_sec = delay_csec / 100; + struct timespec now, csec; + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + csecs_to_timespec(delay_csec, &csec); - timeradd(&now, &csec, tv); + timespecadd(&now, &csec, tv); } -bool gprs_llc_queue::is_frame_expired(const struct timeval *tv_now, - const struct timeval *tv) +bool gprs_llc_queue::is_frame_expired(const struct timespec *tv_now, + const struct timespec *tv) { /* Timeout is infinite */ - if (tv->tv_sec == 0 && tv->tv_usec == 0) + if (tv->tv_sec == 0 && tv->tv_nsec == 0) return false; - return timercmp(tv_now, tv, >); + return timespeccmp(tv_now, tv, >); } diff --git a/src/llc.h b/src/llc.h index 8667e00..3c2e57a 100644 --- a/src/llc.h +++ b/src/llc.h @@ -24,7 +24,7 @@ #include #include -#include +#include #define LLC_MAX_LEN 1543 @@ -63,19 +63,19 @@ */ struct gprs_llc_queue { struct MetaInfo { - struct timeval recv_time; - struct timeval expire_time; + struct timespec recv_time; + struct timespec expire_time; }; static void calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, - struct timeval *tv); - static bool is_frame_expired(const struct timeval *now, - const struct timeval *tv); + struct timespec *tv); + static bool is_frame_expired(const struct timespec *now, + const struct timespec *tv); static bool is_user_data_frame(uint8_t *data, size_t len); void init(); - void enqueue(struct msgb *llc_msg, const struct timeval *expire_time); + void enqueue(struct msgb *llc_msg, const struct timespec *expire_time); struct msgb *dequeue(const MetaInfo **info = 0); void clear(BTS *bts); void move_and_merge(gprs_llc_queue *o); diff --git a/src/pcu_utils.h b/src/pcu_utils.h index 3292452..8196a93 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -19,6 +19,7 @@ extern "C" { #include } +#include inline int msecs_to_frames(int msecs) { return (msecs * (1024 * 1000 / 4615)) / 1024; @@ -29,9 +30,9 @@ return (fn + offset) % GSM_MAX_FN; } -inline void csecs_to_timeval(unsigned csecs, struct timeval *tv) { - tv->tv_sec = csecs / 100; - tv->tv_usec = (csecs % 100) * 10000; +inline void csecs_to_timespec(unsigned csecs, struct timespec *ts) { + ts->tv_sec = csecs / 100; + ts->tv_nsec = (csecs % 100) * 10000000; } template diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 5c0fd9d..4e8966e 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -98,9 +98,9 @@ void gprs_rlcmac_dl_tbf::start_llc_timer() { if (bts_data()->llc_idle_ack_csec > 0) { - struct timeval tv; - csecs_to_timeval(bts_data()->llc_idle_ack_csec, &tv); - osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_usec); + struct timespec tv; + csecs_to_timespec(bts_data()->llc_idle_ack_csec, &tv); + osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_nsec / 1000); } } @@ -108,7 +108,7 @@ const uint16_t pdu_delay_csec, const uint8_t *data, const uint16_t len) { - struct timeval expire_time; + struct timespec expire_time; LOGPTBFDL(this, LOGL_DEBUG, "appending %u bytes\n", len); @@ -262,21 +262,21 @@ struct msgb *gprs_rlcmac_dl_tbf::llc_dequeue(bssgp_bvc_ctx *bctx) { struct msgb *msg; - struct timeval tv_now, tv_now2; + struct timespec tv_now, tv_now2; uint32_t octets = 0, frames = 0; - struct timeval hyst_delta = {0, 0}; + struct timespec hyst_delta = {0, 0}; const unsigned keep_small_thresh = 60; const gprs_llc_queue::MetaInfo *info; if (bts_data()->llc_discard_csec) - csecs_to_timeval(bts_data()->llc_discard_csec, &hyst_delta); + csecs_to_timespec(bts_data()->llc_discard_csec, &hyst_delta); - gettimeofday(&tv_now, NULL); - timeradd(&tv_now, &hyst_delta, &tv_now2); + osmo_clock_gettime(CLOCK_MONOTONIC, &tv_now); + timespecadd(&tv_now, &hyst_delta, &tv_now2); while ((msg = llc_queue()->dequeue(&info))) { - const struct timeval *tv_disc = &info->expire_time; - const struct timeval *tv_recv = &info->recv_time; + const struct timespec *tv_disc = &info->expire_time; + const struct timespec *tv_recv = &info->recv_time; gprs_bssgp_update_queue_delay(tv_recv, &tv_now); diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 1011665..f3838d7 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -72,7 +72,6 @@ void set_window_size(); void update_coding_scheme_counter_dl(enum CodingScheme cs); - /* TODO: add the gettimeofday as parameter */ struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); /* Please note that all variables here will be reset when changing diff --git a/tests/codel/codel_test.c b/tests/codel/codel_test.c index 2ce2429..4244eae 100644 --- a/tests/codel/codel_test.c +++ b/tests/codel/codel_test.c @@ -13,16 +13,17 @@ #endif #include #include +#include #include #include "gprs_codel.h" #include #include -#include +#include -static int do_codel_control(struct gprs_codel *state, const struct timeval *recv, - struct timeval *now, const struct timeval *delta_now, int count) +static int do_codel_control(struct gprs_codel *state, const struct timespec *recv, + struct timespec *now, const struct timespec *delta_now, int count) { int drop; @@ -32,11 +33,11 @@ "recv = %d.%03d, now = %d.%03d, " "codel.count = %d\n", count, - (int)recv->tv_sec, (int)recv->tv_usec/1000, - (int)now->tv_sec, (int)now->tv_usec/1000, + (int)recv->tv_sec, (int)recv->tv_nsec/1000000, + (int)now->tv_sec, (int)now->tv_nsec/1000000, state->count); } else { - timeradd(now, delta_now, now); + timespecadd(now, delta_now, now); } return drop == 0 ? 0 : 1; @@ -45,11 +46,11 @@ static void test_codel(void) { struct gprs_codel codel; - struct timeval now; - struct timeval recv; - const struct timeval delta_now = {0, 10000}; - const struct timeval init_delta_recv = {0, 5000}; - struct timeval delta_recv; + struct timespec now; + struct timespec recv; + const struct timespec delta_now = {0, 10000000}; + const struct timespec init_delta_recv = {0, 5000000}; + struct timespec delta_recv; unsigned count; unsigned sum = 0; unsigned dropped = 0; @@ -59,13 +60,13 @@ gprs_codel_init(&codel); gprs_codel_set_interval(&codel, 100); - timerclear(&now); - timerclear(&recv); + timespecclear(&now); + timespecclear(&recv); delta_recv = init_delta_recv; for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -75,7 +76,7 @@ for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -83,11 +84,11 @@ OSMO_ASSERT(codel.dropping); /* slow down recv rate */ - delta_recv.tv_usec = delta_now.tv_usec; + delta_recv.tv_nsec = delta_now.tv_nsec; for (count = 0; count < 75; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -96,7 +97,7 @@ for (count = 0; count < 50; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -109,7 +110,7 @@ for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -118,7 +119,7 @@ for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index 84164a0..10cd96b 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -42,11 +42,12 @@ void *tall_pcu_ctx; int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; +static struct timespec *clk_mono_override_time; static void enqueue_data(gprs_llc_queue *queue, const uint8_t *data, size_t len, - const struct timeval *expire_time) + const struct timespec *expire_time) { - struct timeval *tv; + struct timespec *tv; uint8_t *msg_data; struct msgb *llc_msg = msgb_alloc(len + sizeof(*tv) * 2, "llc_pdu_queue"); @@ -81,7 +82,7 @@ } static void enqueue_data(gprs_llc_queue *queue, const char *message, - const struct timeval *expire_time) + const struct timespec *expire_time) { enqueue_data(queue, (uint8_t *)(message), strlen(message), expire_time); } @@ -96,7 +97,7 @@ static void test_llc_queue() { gprs_llc_queue queue; - struct timeval expire_time = {0}; + struct timespec expire_time = {0}; printf("=== start %s ===\n", __func__); @@ -144,17 +145,17 @@ OSMO_ASSERT(queue.octets() == 0); info1.recv_time.tv_sec = 123456777; - info1.recv_time.tv_usec = 123456; + info1.recv_time.tv_nsec = 123456000; info1.expire_time.tv_sec = 123456789; - info1.expire_time.tv_usec = 987654; - osmo_gettimeofday_override_time = info1.recv_time; + info1.expire_time.tv_nsec = 987654000; + *clk_mono_override_time = info1.recv_time; enqueue_data(&queue, "LLC message 1", &info1.expire_time); info2.recv_time.tv_sec = 123458000; - info2.recv_time.tv_usec = 547352; + info2.recv_time.tv_nsec = 547352000; info2.expire_time.tv_sec = 123458006; - info2.expire_time.tv_usec = 867252; - osmo_gettimeofday_override_time = info2.recv_time; + info2.expire_time.tv_nsec = 867252000; + *clk_mono_override_time = info2.recv_time; enqueue_data(&queue, "LLC message 2", &info2.expire_time); dequeue_and_check(&queue, "LLC message 1", &info1); @@ -171,26 +172,26 @@ { gprs_llc_queue queue1; gprs_llc_queue queue2; - struct timeval expire_time = {0}; + struct timespec expire_time = {0}; printf("=== start %s ===\n", __func__); queue1.init(); queue2.init(); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue1, "*A*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue1, "*B*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue2, "*C*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue1, "*D*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue2, "*E*", &expire_time); OSMO_ASSERT(queue1.size() == 3); @@ -235,9 +236,10 @@ vty_init(&pcu_vty_info); pcu_vty_init(); - osmo_gettimeofday_override = true; - osmo_gettimeofday_override_time.tv_sec = 123456777; - osmo_gettimeofday_override_time.tv_usec = 123456; + osmo_clock_override_enable(CLOCK_MONOTONIC, true); + clk_mono_override_time = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); + clk_mono_override_time->tv_sec = 123456777; + clk_mono_override_time->tv_nsec = 123456000; test_llc_queue(); test_llc_meta(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie265d70f8ffa7dbf7efbef6030505d9fcb5dc338 Gerrit-Change-Number: 17460 Gerrit-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 Mar 11 13:58:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Mar 2020 13:58:24 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: fail on get_amr_from_arg error References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17461 ) Change subject: osmo-bsc/bsc_vty: fail on get_amr_from_arg error ...................................................................... osmo-bsc/bsc_vty: fail on get_amr_from_arg error Fail parsing osmo-bsc.cfg if the AMR modes are not in order or not unique. Related: OS#4199 Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 20 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/17461/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d1a268d..dd157c0 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3717,7 +3717,7 @@ #define AMR_TH_TEXT "AMR threshold between codecs\nMS side\nBTS side\n" #define AMR_HY_TEXT "AMR hysteresis between codecs\nMS side\nBTS side\n" -static void get_amr_from_arg(struct vty *vty, int argc, const char *argv[], int full) +static int get_amr_from_arg(struct vty *vty, int argc, const char *argv[], int full) { struct gsm_bts *bts = vty->index; struct amr_multirate_conf *mr = (full) ? &bts->mr_full: &bts->mr_half; @@ -3733,12 +3733,12 @@ if (mode_prev > mode) { vty_out(vty, "Modes must be listed in order%s", VTY_NEWLINE); - return; + return -1; } if (mode_prev == mode) { vty_out(vty, "Modes must be unique %s", VTY_NEWLINE); - return; + return -2; } mode_prev = mode; } @@ -3763,6 +3763,7 @@ mr->ms_mode[i].hysteresis = 0; mr->bts_mode[i].hysteresis = 0; } + return 0; } static void get_amr_th_from_arg(struct vty *vty, int argc, const char *argv[], int full) @@ -3878,7 +3879,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 1, argv, 1); + if (get_amr_from_arg(vty, 1, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3887,7 +3889,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 2, argv, 1); + if (get_amr_from_arg(vty, 2, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3896,7 +3899,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 3, argv, 1); + if (get_amr_from_arg(vty, 3, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3905,7 +3909,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 4, argv, 1); + if (get_amr_from_arg(vty, 4, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3976,7 +3981,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 1, argv, 0); + if (get_amr_from_arg(vty, 1, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3985,7 +3991,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 2, argv, 0); + if (get_amr_from_arg(vty, 2, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3994,7 +4001,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 3, argv, 0); + if (get_amr_from_arg(vty, 3, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } @@ -4003,7 +4011,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 4, argv, 0); + if (get_amr_from_arg(vty, 4, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 Gerrit-Change-Number: 17461 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 Mar 11 14:26:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 14:26:25 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: fail on get_amr_from_arg error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17461 ) Change subject: osmo-bsc/bsc_vty: fail on get_amr_from_arg error ...................................................................... Patch Set 1: Code-Review+1 May be worth adding a vty test for it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 Gerrit-Change-Number: 17461 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 14:26: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 Mar 11 15:07:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:07:03 +0000 Subject: Change in osmo-pcu[master]: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17460 ) Change subject: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie265d70f8ffa7dbf7efbef6030505d9fcb5dc338 Gerrit-Change-Number: 17460 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 15: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 Wed Mar 11 15:07:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:07:44 +0000 Subject: Change in pysim[master]: sysmiISIM-SJA2: add support for new card model / os version In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17457 ) Change subject: sysmiISIM-SJA2: add support for new card model / os version ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I222faea89c1df58c36a19b28449dffb84a956e74 Gerrit-Change-Number: 17457 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 15:07: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 Mar 11 15:08:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:08:13 +0000 Subject: Change in pysim[master]: sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17458 ) Change subject: sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0eec6ed244320fcd4dc410b6fab20df9c64ff906 Gerrit-Change-Number: 17458 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 15:08:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 15:08:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:08:16 +0000 Subject: Change in pysim[master]: sysmiISIM-SJA2: add support for new card model / os version In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17457 ) Change subject: sysmiISIM-SJA2: add support for new card model / os version ...................................................................... sysmiISIM-SJA2: add support for new card model / os version There is a new card version with a different ATR, lets add the ATR for this card to support it as well. Change-Id: I222faea89c1df58c36a19b28449dffb84a956e74 Related: SYS#4817 --- M pySim/cards.py 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index ec2724c..0f84834 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -984,6 +984,11 @@ atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 75 31 33 02 51 B2" if scc.get_atr() == toBytes(atr): return kls(scc) + + # Try card model #3 + atr = "3B 9F 96 80 1F 87 80 31 E0 73 FE 21 1B 67 4A 4C 52 75 31 04 51 D5" + if scc.get_atr() == toBytes(atr): + return kls(scc) except: return None return None -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I222faea89c1df58c36a19b28449dffb84a956e74 Gerrit-Change-Number: 17457 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 Wed Mar 11 15:08:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:08:17 +0000 Subject: Change in pysim[master]: sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17458 ) Change subject: sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards ...................................................................... sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards When pysim-prog programms the application specific files of ISIM and USIM it selects the application by its AID first. If depending on the card profile one of the applications is missing the selection of the related ADF will fail. Lets check the presence of the AID first and if it is not present lets skip the programming of the related files. Change-Id: I0eec6ed244320fcd4dc410b6fab20df9c64ff906 Related: SYS#4817 --- M pySim/cards.py 1 file changed, 12 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 0f84834..a872ee0 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1054,20 +1054,22 @@ # update EF-USIM_AUTH_KEY in ADF.ISIM self._scc.select_file(['3f00']) aid = self.read_aid(isim = True) - self._scc.select_adf(aid) - if p.get('ki'): - self._scc.update_binary('af20', p['ki'], 1) - if p.get('opc'): - self._scc.update_binary('af20', p['opc'], 17) + if (aid): + self._scc.select_adf(aid) + if p.get('ki'): + self._scc.update_binary('af20', p['ki'], 1) + if p.get('opc'): + self._scc.update_binary('af20', p['opc'], 17) # update EF-USIM_AUTH_KEY in ADF.USIM self._scc.select_file(['3f00']) aid = self.read_aid() - self._scc.select_adf(aid) - if p.get('ki'): - self._scc.update_binary('af20', p['ki'], 1) - if p.get('opc'): - self._scc.update_binary('af20', p['opc'], 17) + if (aid): + self._scc.select_adf(aid) + if p.get('ki'): + self._scc.update_binary('af20', p['ki'], 1) + if p.get('opc'): + self._scc.update_binary('af20', p['opc'], 17) return -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0eec6ed244320fcd4dc410b6fab20df9c64ff906 Gerrit-Change-Number: 17458 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 Wed Mar 11 15:08:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:08:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17443 ) Change subject: osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option ...................................................................... osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option This can be used to determine the multicast TTL packet and hence how far the packet will propagate in the network. If you want to operate the virtual Um only on your own machine, a TTL of 0 would prevent the packets from ever being transmitted on your local ethernet segment. Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Related: OS#2966 --- M include/osmo-bts/phy_link.h M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h M src/osmo-bts-virtual/virtualbts_vty.c 6 files changed, 39 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 69c6bd6..116297b 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -53,6 +53,7 @@ } osmotrx; struct { char *mcast_dev; /* Network device for multicast */ + int ttl; /* TTL of transmitted udp multicast */ char *bts_mcast_group; /* BTS are listening to this group */ uint16_t bts_mcast_port; char *ms_mcast_group; /* MS are listening to this group */ diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index b6a3507..3128012 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -204,7 +204,7 @@ plink->u.virt.virt_um = virt_um_init(plink, plink->u.virt.ms_mcast_group, plink->u.virt.ms_mcast_port, plink->u.virt.bts_mcast_group, plink->u.virt.bts_mcast_port, - virt_um_rcv_cb); + plink->u.virt.ttl, virt_um_rcv_cb); if (!plink->u.virt.virt_um) { phy_link_state_set(plink, PHY_LINK_SHUTDOWN); return -1; diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c index 02b7ae9..a6fc290 100644 --- a/src/osmo-bts-virtual/main.c +++ b/src/osmo-bts-virtual/main.c @@ -123,6 +123,7 @@ plink->u.virt.bts_mcast_port = DEFAULT_BTS_MCAST_PORT; plink->u.virt.ms_mcast_group = talloc_strdup(plink, DEFAULT_MS_MCAST_GROUP); plink->u.virt.ms_mcast_port = DEFAULT_MS_MCAST_PORT; + plink->u.virt.ttl = -1; /* initialize to -1 to prevent us setting the TTL */ } void bts_model_phy_instance_set_defaults(struct phy_instance *pinst) diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index 752e4b6..cf5d6cd 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -62,10 +62,12 @@ } struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); + int rc; + vui->mcast_sock = mcast_bidir_sock_setup(ctx, tx_mcast_group, tx_mcast_port, rx_mcast_group, rx_mcast_port, 1, virt_um_fd_cb, vui); if (!vui->mcast_sock) { @@ -75,6 +77,17 @@ } vui->recv_cb = recv_cb; + /* -1 means default, i.e. no TTL explicitly configured in VTY */ + if (ttl >= 0) { + rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); + if (rc < 0) { + perror("Cannot set TTL of Virtual Um transmit socket"); + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; + } + } + return vui; } diff --git a/src/osmo-bts-virtual/virtual_um.h b/src/osmo-bts-virtual/virtual_um.h index ac098dd..7841c33 100644 --- a/src/osmo-bts-virtual/virtual_um.h +++ b/src/osmo-bts-virtual/virtual_um.h @@ -23,7 +23,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); diff --git a/src/osmo-bts-virtual/virtualbts_vty.c b/src/osmo-bts-virtual/virtualbts_vty.c index 323222b..875e682 100644 --- a/src/osmo-bts-virtual/virtualbts_vty.c +++ b/src/osmo-bts-virtual/virtualbts_vty.c @@ -69,6 +69,9 @@ if (plink->u.virt.mcast_dev) vty_out(vty, " virtual-um net-device %s%s", plink->u.virt.mcast_dev, VTY_NEWLINE); + if (plink->u.virt.ttl != -1) + vty_out(vty, " virtual-um ttl %d%s", + plink->u.virt.ttl, VTY_NEWLINE); if (strcmp(plink->u.virt.ms_mcast_group, DEFAULT_BTS_MCAST_GROUP)) vty_out(vty, " virtual-um ms-multicast-group %s%s", plink->u.virt.ms_mcast_group, VTY_NEWLINE); @@ -171,6 +174,23 @@ return CMD_SUCCESS; } +DEFUN(cfg_phy_mcast_ttl, cfg_phy_mcast_ttl_cmd, + "virtual-um ttl <0-255>", + VUM_STR "Configure the TTL for transmitted multicast GSMTAP packets\n") +{ + struct phy_link *plink = vty->index; + + if (plink->state != PHY_LINK_SHUTDOWN) { + vty_out(vty, "Can only reconfigure a PHY link that is down%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + plink->u.virt.ttl = atoi(argv[0]); + + return CMD_SUCCESS; +} + int bts_model_vty_init(struct gsm_bts *bts) { vty_bts = bts; @@ -180,6 +200,7 @@ install_element(PHY_NODE, &cfg_phy_bts_mcast_group_cmd); install_element(PHY_NODE, &cfg_phy_bts_mcast_port_cmd); install_element(PHY_NODE, &cfg_phy_mcast_dev_cmd); + install_element(PHY_NODE, &cfg_phy_mcast_ttl_cmd); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18a9f93b764aee4e1dc68a1c6ac4d078e52ca61d Gerrit-Change-Number: 17443 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 Wed Mar 11 15:08:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:08:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17444 ) Change subject: osmo-bts-virtual: Fix "virtual-um net-device NETDEV" ...................................................................... osmo-bts-virtual: Fix "virtual-um net-device NETDEV" The VTY option to bind the virtual Um multicast to a specific network interface has existed ever since osmo-bts-virtual was first merged to the repo. However, embarrassingly, until today it never did anything, i.e. the code to actually perform the bind was missing. Depends: libosmocore.git Ib52d22710020b56965aefcef09bde8247ace4a9c Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Related: OS#2966 --- M src/osmo-bts-virtual/l1_if.c M src/osmo-bts-virtual/virtual_um.c M src/osmo-bts-virtual/virtual_um.h 3 files changed, 21 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 3128012..c5c526c 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -204,7 +204,7 @@ plink->u.virt.virt_um = virt_um_init(plink, plink->u.virt.ms_mcast_group, plink->u.virt.ms_mcast_port, plink->u.virt.bts_mcast_group, plink->u.virt.bts_mcast_port, - plink->u.virt.ttl, virt_um_rcv_cb); + plink->u.virt.ttl, plink->u.virt.mcast_dev, virt_um_rcv_cb); if (!plink->u.virt.virt_um) { phy_link_state_set(plink, PHY_LINK_SHUTDOWN); return -1; diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index cf5d6cd..280ba79 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -62,7 +62,7 @@ } struct virt_um_inst *virt_um_init(void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)) { struct virt_um_inst *vui = talloc_zero(ctx, struct virt_um_inst); @@ -82,14 +82,29 @@ rc = osmo_sock_mcast_ttl_set(vui->mcast_sock->tx_ofd.fd, ttl); if (rc < 0) { perror("Cannot set TTL of Virtual Um transmit socket"); - mcast_bidir_sock_close(vui->mcast_sock); - talloc_free(vui); - return NULL; + goto out_close; + } + } + + if (dev_name) { + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->tx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast tx to given device"); + goto out_close; + } + rc = osmo_sock_mcast_iface_set(vui->mcast_sock->rx_ofd.fd, dev_name); + if (rc < 0) { + perror("Cannot bind multicast rx to given device"); + goto out_close; } } return vui; +out_close: + mcast_bidir_sock_close(vui->mcast_sock); + talloc_free(vui); + return NULL; } void virt_um_destroy(struct virt_um_inst *vui) diff --git a/src/osmo-bts-virtual/virtual_um.h b/src/osmo-bts-virtual/virtual_um.h index 7841c33..87cf03a 100644 --- a/src/osmo-bts-virtual/virtual_um.h +++ b/src/osmo-bts-virtual/virtual_um.h @@ -23,7 +23,7 @@ struct virt_um_inst *virt_um_init( void *ctx, char *tx_mcast_group, uint16_t tx_mcast_port, - char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, + char *rx_mcast_group, uint16_t rx_mcast_port, int ttl, const char *dev_name, void (*recv_cb)(struct virt_um_inst *vui, struct msgb *msg)); void virt_um_destroy(struct virt_um_inst *vui); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I303f2e616d2d32b5a8005c3dcf0f5fad19ad3445 Gerrit-Change-Number: 17444 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 Wed Mar 11 15:11:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:11:32 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17456 ) Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17456/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17456/1/src/osmo-bsc/bsc_vty.c at 3064 PS1, Line 3064: bts why not simply initialize this at the point where all other initializtaion of te 'bts' object is done, i.e. bts_init()? We can suppress printing the BVCI in 'save' while gprs.mode == NONE (in case that's what you're worried about). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 15:11: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 Wed Mar 11 15:12:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:12:23 +0000 Subject: Change in mncc-python[master]: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17431 ) Change subject: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ia742180326f3d945eb7933cebbef3fd17d127d51 Gerrit-Change-Number: 17431 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Mar 2020 15:12:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 15:12:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Mar 2020 15:12:26 +0000 Subject: Change in mncc-python[master]: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17431 ) Change subject: rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt ...................................................................... rtpsource: Make local RTP bind IP configurble via "-r" cmdline opt Change-Id: Ia742180326f3d945eb7933cebbef3fd17d127d51 --- M rtpsource/internal.h M rtpsource/rtpsource.c 2 files changed, 28 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/rtpsource/internal.h b/rtpsource/internal.h index 788b695..13d07aa 100644 --- a/rtpsource/internal.h +++ b/rtpsource/internal.h @@ -27,6 +27,7 @@ struct llist_head connections; struct osmo_fd timer_ofd; struct ctrl_handle *ctrl; + char *rtp_bind_ip; }; extern struct rtpsource_state *g_rss; diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c index 58e6bf0..569d962 100644 --- a/rtpsource/rtpsource.c +++ b/rtpsource/rtpsource.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -77,7 +78,7 @@ conn->rtp_sock = osmo_rtp_socket_create(conn, OSMO_RTP_F_POLL); OSMO_ASSERT(conn->rtp_sock); - rc = osmo_rtp_socket_bind(conn->rtp_sock, "127.23.23.23", -1); + rc = osmo_rtp_socket_bind(conn->rtp_sock, rss->rtp_bind_ip, -1); OSMO_ASSERT(rc == 0); rc = osmo_rtp_get_bound_addr(conn->rtp_sock, &host, &port); @@ -200,6 +201,28 @@ } } +static void handle_options(int argc, char **argv) +{ + while (1) { + int option_index = 0, c; + const struct option long_options[] = { + {"rtp-bind-ip", 1, 0, 'r' }, + { 0, 0, 0, 0} + }; + c = getopt_long(argc, argv, "r:", long_options, &option_index); + if (c == -1) + break; + + switch (c) { + case 'r': + g_rss->rtp_bind_ip = optarg; + break; + default: + break; + } + } +} + int main(int argc, char **argv) { struct timespec interval = { @@ -226,6 +249,9 @@ g_rss = talloc_zero(g_tall_ctx, struct rtpsource_state); OSMO_ASSERT(g_rss); INIT_LLIST_HEAD(&g_rss->connections); + g_rss->rtp_bind_ip = "127.23.23.23"; + + handle_options(argc, argv); /* Create CTRL interface */ //g_rss->ctrl = ctrl_interface_setup_dynip(g_rss, ctrl_vty_get_bind_addr(), 11111, NULL); -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Ia742180326f3d945eb7933cebbef3fd17d127d51 Gerrit-Change-Number: 17431 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 15:35:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 15:35:57 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow setting rtprio inside the container References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17462 ) Change subject: osmo-gsm-tester: Allow setting rtprio inside the container ...................................................................... osmo-gsm-tester: Allow setting rtprio inside the container This fixes for instance srsLTE being unable to create a thread with realtime priority. Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b --- M osmo-gsm-tester/jenkins.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/62/17462/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 248a10b..71a2ee3 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -30,6 +30,7 @@ docker run --rm \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ + --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ --network $NET_NAME \ --ip 172.18.50.100 \ @@ -42,6 +43,7 @@ docker run --rm \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ + --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ --network $NET_NAME \ --ip 172.18.50.2 \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b Gerrit-Change-Number: 17462 Gerrit-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 Mar 11 15:35:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 15:35:58 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17463 ) Change subject: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller ...................................................................... osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller After this patch, one can run osmo-gsm-tester with specific parameters (debug level, suite and tests to run, etc.) by using OSMO_GSM_TESTER_OPTS variable: OSMO_GSM_TESTER_OPTS="-s 4g -t ping -l error" ./jenkins.sh Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e --- M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 2 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/17463/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 71a2ee3..c114222 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -7,10 +7,12 @@ # Trial directory must be set in the parent host's /tmp/trial path, which will # then be mounted to ogt-master and used my osmo-gsm-tester. # -# osmo-gsm-tester parameters and suites are passed in osmo-gsm-tester.sh in same -# directory as this script. +# osmo-gsm-tester parameters and suites are passed to osmo-gsm-tester.sh in same +# directory as this script using environment variable OSMO_GSM_TESTER_OPTS. # -# Log files can be found in host's /tmp/logs/ directory. +# Log files can be found in host's /tmp/logs/ directory. Results generated by +# osmo-gsm-tester last run can be found as usual under the trial directory +# (/tmp/trial/last_run). . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" @@ -40,6 +42,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_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 \ --cap-add=SYS_ADMIN \ @@ -49,6 +52,7 @@ --ip 172.18.50.2 \ -v $VOL_BASE_DIR/ogt-master:/data \ -v /tmp/trial:/tmp/trial \ + -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ --name ${BUILD_TAG}-ogt-master \ $REPO_USER/osmo-gsm-tester diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index bfd303b..975e4e5 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -1,7 +1,7 @@ #!/bin/bash - +set -x -e # Add local IP addresses required by osmo-gsm-tester resources: -ip addr add 172.18.50.2/24 dev eth0 +ip addr add 172.18.50.2/24 dev eth0 || true #already set by docker run --ip cmd ip addr add 172.18.50.3/24 dev eth0 ip addr add 172.18.50.4/24 dev eth0 ip addr add 172.18.50.5/24 dev eth0 @@ -11,4 +11,4 @@ ip addr add 172.18.50.9/24 dev eth0 ip addr add 172.18.50.10/24 dev eth0 -su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial -T -l dbg -s 4g -t iperf3" -m jenkins +su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e Gerrit-Change-Number: 17463 Gerrit-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 Mar 11 15:39:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 15:39:07 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow setting rtprio inside the container In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17462 ) Change subject: osmo-gsm-tester: Allow setting rtprio inside the container ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b Gerrit-Change-Number: 17462 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 15: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 Wed Mar 11 15:39:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 15:39:12 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow setting rtprio inside the container In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17462 ) Change subject: osmo-gsm-tester: Allow setting rtprio inside the container ...................................................................... Patch Set 1: Verified+1 -Code-Review -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b Gerrit-Change-Number: 17462 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 15: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 Mar 11 15:39:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 15:39:16 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17463 ) Change subject: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e Gerrit-Change-Number: 17463 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 15: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 Wed Mar 11 16:50:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 16:50:06 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write proper content for Docker Setup section References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17464 ) Change subject: doc/manuals: Write proper content for Docker Setup section ...................................................................... doc/manuals: Write proper content for Docker Setup section Change-Id: Ie883adbf03a3b5c9a852182c01d15a212749ce04 --- M doc/manuals/chapters/docker.adoc 1 file changed, 52 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/64/17464/1 diff --git a/doc/manuals/chapters/docker.adoc b/doc/manuals/chapters/docker.adoc index b7560e1..bc8ad00 100644 --- a/doc/manuals/chapters/docker.adoc +++ b/doc/manuals/chapters/docker.adoc @@ -1,6 +1,56 @@ [[docker]] == Docker Setup -Available in osmocom's docker-playground.git subdirectory 'osmo-gsm-tester/'. +A sample {app-name} setup based on docker containers and maintained by the +Osmocom community is available in Osmocom's git repository +link:https://git.osmocom.org/docker-playground/[docker-playground.git], under +'osmo-gsm-tester' subdirectory. In there, one can find: -//TODO: Explain more where to find, how to build, how to use. +- A 'Dockerfile' file can be found which builds a docker image which can +be used both to run as an osmo-gsm-tester <> or as +a <>. The main difference to use it as one or the +other is whether osmo-gsm-tester.py is run on it (Main Unit) or otherwise sshd +(Slave Unit). A convenience script is provided in the same directory to start +the processes just explained ('osmo-gsm-tester-{master,slave}.sh'). + +- A 'jenkins.sh' file is provided which handles all the +magic to start a Main Unit and a Slave Unit on the same docker private network +so they can interact. It also takes care on running the docker containers with +all the required permissions, mount all virtual filesystem bindings, etc. + +- A sample <> file is provided which +provides some virtual resources configured to be run on the Slave Unit. + +The 'jenkins.sh' script expects the <> to be in +'/tmp/trial', and will bind that directory to the docker Main Unit instance so +osmo-gsm-tester uses it. Hence, one must place a the trial to be run in there +before running the setup. There is yet no specific docker container available to +build trials, but one can re-use an Osmocom jenkins slave container available to +in 'docker-playground.git' in order to build them using the scripts in +'osmo-gsm-tester.git/contrib/jenkins-build-*.sh'. Alternatively, the quick way +is to get them from any of the Osmocom's {app-name} +link:https://jenkins.osmocom.org/jenkins/view/osmo-gsm-tester/[jenkins jobs], +which store them as artifacts. + +When running the whole setup through the 'jenkins.sh' script, standard out +('stdout') and standard error ('stderr') outputs for each docker container are +made available to the host running the script, under '/tmp/logs' directory. +Results generated by {app-name}'s last run can be found as usual under the trial +directory ('/tmp/trial/last_run'). + +The {app-name} git revision being checked out to build and run inside the +docker containers can be selected by setting the 'OSMO_GSM_TESTER_BRANCH' +environment variable. For instance, to install and run branch 'mybranch' in +'osmo-gsm-tester.git', one can use: +---- +export OSMO_GSM_TESTER_BRANCH=mybranch +./jenkins.sh +---- + +Specific command line parameters to be passed to {app-name} process inside the +Main Unit docker container instance can be set with the 'OSMO_GSM_TESTER_OPTS' +environment variable. For instance, to run suite '4g' with debug logging level: +---- +export OSMO_GSM_TESTER_OPTS="-s 4g -l dbg" +./jenkins.sh +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie883adbf03a3b5c9a852182c01d15a212749ce04 Gerrit-Change-Number: 17464 Gerrit-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 Mar 11 18:21:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 18:21:35 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write proper content for Ansible Setup section References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17465 ) Change subject: doc/manuals: Write proper content for Ansible Setup section ...................................................................... doc/manuals: Write proper content for Ansible Setup section Change-Id: Iffd3beefa50dd5f18908b4c3f7e4deb169feca62 --- M doc/manuals/chapters/ansible.adoc 1 file changed, 52 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/65/17465/1 diff --git a/doc/manuals/chapters/ansible.adoc b/doc/manuals/chapters/ansible.adoc index b672528..4c80723 100644 --- a/doc/manuals/chapters/ansible.adoc +++ b/doc/manuals/chapters/ansible.adoc @@ -1,6 +1,56 @@ [[ansible]] == Ansible Setup -Available in osmocom's osmo-ci.git subdirectory 'ansible/', see there 'gsm-tester/README.md'. +Since the set of steps to set up a full {app-name} environment can be quite long +and tedious, nowadays the Osmocom RnD and Production {app-name} setups are +installed and maintained using Ansible scripts. The set of ansible scripts is +available in Osmocom's git repository +link:https://git.osmocom.org/osmo-ci/[osmo-ci.git] under 'ansible' subdirectory, +with the rest of ansible scripts to set jenkins slaves, etc. -//TODO: Explain more where to find, how to build, how to use. +Since these set of scripts is mainly aimed at Osmocom's own setup, and debian is +used there, so far only debian hosts are supported officially, though patches to +support other distributions are welcome. + +In there, the 'setup-gsm-tester.yml' file is responsible of doing all required +steps to set up a host to become either a <> or a a +<>. The ansible file can be run as follows: +---- +$ ansible-playbook -i hosts setup-gsm-tester.yml +---- + +You will need root-alike access in the remote host in order to let ansible +install everything {app-name}, however, no root-specific user is required as +long as your remote user has sudo access on that host. If that's your case, add +the following parameters to 'ansible-playbook': +---- +$ ansible-playbook -i hosts -b -K -u your_remote_user setup-gsm-tester.yml +---- + +The 'setup-gsm-tester.yml' file is mostly an aggregator of tasks. Most +{app-name} related tasks can be found under subdirectory 'roles/gsm-tester-*'. + +Since different (for instance Production vs RnD) can have different +characteristics, some per-host variables can be found under directory +host_vars/, specifying for instance the number of expected modems attached to +the Main Unit, the DHCP server static leasing for devices, etc. + +The different tasks usually have tags to differentiate which kind of {app-name} +host they are required by. They are also set to differentiate sets of tasks +required if a specific feature is being used in the host (for instance, willing +to manage modems with ofono). This allows playing with the '-t' and +'--skip-tags' when running 'ansible-playbooks' in order to run specific set of +tasks on each host. + +For instance, to run tasks required to set up a Slave Unit, one can run: +---- +$ ansible-playbook -i hosts setup-gsm-tester.yml -t osmo-gsm-tester-proc +---- + +To run all modem-related tasks: +---- +$ ansible-playbook -i hosts setup-gsm-tester.yml -t modem +---- + +Don't forget to read all README.md files available in different subdirectories +to find out more detailed information on how to run the scripts. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iffd3beefa50dd5f18908b4c3f7e4deb169feca62 Gerrit-Change-Number: 17465 Gerrit-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 Mar 11 18:59:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 18:59:14 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write section explaining parametrized scenarios References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466 ) Change subject: doc/manuals: Write section explaining parametrized scenarios ...................................................................... doc/manuals: Write section explaining parametrized scenarios Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c --- M doc/manuals/chapters/config.adoc 1 file changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/66/17466/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index bb0cec2..a8bb958 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -387,6 +387,49 @@ my_suite:sysmo+tch_f+amr ---- +*_Parametrized scenario conf files_*: + +Furthermore, scenario '.conf' files can be parametrized. The concept is similar to that +of systemd's Template Unit Files. That is, an scenario file can be written so +that some values inside it can be passed at the time of referencing the +scenario name. The idea behind its existence is to re-use the same +scenario file for a set of attributes which are changed and that can have a lot +of different values. For instance, if a scenario is aimed at setting or +filtering some specific attribute holding an integer value, without parametrized +scenarios then a separate file would be needed for each value the user wanted to use. + +A parametrized scenario file, similar to systemd Template Unit Files, +contain the character '@' in their file name, ie follow the syntax below: +---- +scenario-name at param1,param2,param3,[...],paramN.conf +---- + +Then, its content can be written this way: +---- +$ cat $scenario_dir/my-parametrized-scenario at .conf +resources: + enb: + - type: srsenb + rf_dev_type: ${param1} +modifiers: + enb: + - num_prb: ${param2} +---- + +Finally, it can be referenced during {app-name} execution this wya, for instance when running a suite named '4g': +---- +- 4g:my-parametrized-scenario at UHD,6 +---- +This way {app-name} when parsing the scenarios and combining them with the suite will:: +. Find out it is parametrized (name contains '@'). +. Split the name + ('my-parametrized-scenario') from the parameter list (param1='UHD', param2='6') +. Attempt to match a '.conf' file fully matching name and parameters (hence + specific content can be set for specific values while still using parameters + for general values), and otherwise match only by name. +. Generate the final + scenario content from the template available in the matched '.conf' file. + [[resources_conf]] ==== 'resources.conf' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c Gerrit-Change-Number: 17466 Gerrit-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 Mar 11 19:11:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 19:11:48 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: use var to hold defaults.conf string References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 ) Change subject: config.py: use var to hold defaults.conf string ...................................................................... config.py: use var to hold defaults.conf string This way we have all config file names together in same place. Change-Id: If35739f21f1414efdaba71acbb60661213ac58df --- M src/osmo_gsm_tester/config.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/67/17467/1 diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py index 71e0009..55bcb1e 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -71,6 +71,7 @@ PATHS_CONF = 'paths.conf' DEFAULT_SUITES_CONF = 'default-suites.conf' +DEFAULTS_CONF = 'defaults.conf' PATH_STATE_DIR = 'state_dir' PATH_SUITES_DIR = 'suites_dir' PATH_SCENARIOS_DIR = 'scenarios_dir' @@ -189,7 +190,7 @@ return config def get_defaults(for_kind): - defaults = read_config_file('defaults.conf', if_missing_return={}) + defaults = read_config_file(DEFAULTS_CONF', if_missing_return={}) return defaults.get(for_kind, {}) class Scenario(log.Origin, dict): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If35739f21f1414efdaba71acbb60661213ac58df Gerrit-Change-Number: 17467 Gerrit-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 Mar 11 19:11:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 19:11:48 +0000 Subject: Change in osmo-gsm-tester[master]: Move RESOURCES_CONF from resource.py to config.py References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17468 ) Change subject: Move RESOURCES_CONF from resource.py to config.py ...................................................................... Move RESOURCES_CONF from resource.py to config.py This way we have all known config file names in one place, in the module containing the implementation to retrieve them (config.read_config_file()). Change-Id: I8304dda70268b16dbc316af882fecdbf20ac25ec --- M src/osmo_gsm_tester/config.py M src/osmo_gsm_tester/resource.py 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/68/17468/1 diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py index 55bcb1e..8ab81ec 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -72,6 +72,8 @@ 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' diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 07d32e2..cdf0596 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -37,7 +37,6 @@ RESERVED_KEY = '_reserved_by' USED_KEY = '_used' -RESOURCES_CONF = 'resources.conf' RESERVED_RESOURCES_FILE = 'reserved_resources.state' R_IP_ADDRESS = 'ip_address' @@ -151,7 +150,7 @@ _registered_exit_handler = False def __init__(self): - self.config_path = config.get_config_file(RESOURCES_CONF) + self.config_path = config.get_config_file(config.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() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8304dda70268b16dbc316af882fecdbf20ac25ec Gerrit-Change-Number: 17468 Gerrit-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 Mar 11 19:15:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 11 Mar 2020 19:15:16 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: use var to hold defaults.conf string In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 to look at the new patch set (#2). Change subject: config.py: use var to hold defaults.conf string ...................................................................... config.py: use var to hold defaults.conf string This way we have all config file names together in same place. Change-Id: If35739f21f1414efdaba71acbb60661213ac58df --- M src/osmo_gsm_tester/config.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/67/17467/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If35739f21f1414efdaba71acbb60661213ac58df Gerrit-Change-Number: 17467 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 19:55:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Mar 2020 19:55:25 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17392 ) Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 19:55: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 Mar 11 19:55:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Mar 2020 19:55:40 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Mar 2020 19:55:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 11 19:55:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Mar 2020 19:55:55 +0000 Subject: Change in osmo-pcu[master]: rlcmac: fix encode_gsm_*(): do not suppress encoding errors In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17392 ) Change subject: rlcmac: fix encode_gsm_*(): do not suppress encoding errors ...................................................................... rlcmac: fix encode_gsm_*(): do not suppress encoding errors Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 14 insertions(+), 11 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index e8ce2ef..40b75ed 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -5428,9 +5428,10 @@ newline, so as a caller we are responisble for submitting it */ LOGPC(DCSN1, LOGL_INFO, "\n"); - if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); - ret = 0; + if (ret > 0 || ret == CSN_ERROR_NEED_MORE_BITS_TO_UNPACK) { + LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode an Uplink block: not enough bits " + "in the output buffer (rc=%d)\n", ret); + ret = CSN_ERROR_NEED_MORE_BITS_TO_UNPACK; } return ret; @@ -5634,9 +5635,10 @@ newline, so as a caller we are responisble for submitting it */ LOGPC(DCSN1, LOGL_INFO, "\n"); - if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); - ret = 0; + if (ret > 0 || ret == CSN_ERROR_NEED_MORE_BITS_TO_UNPACK) { + LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode a Downlink block: not enough bits " + "in the output buffer (rc=%d)\n", ret); + ret = CSN_ERROR_NEED_MORE_BITS_TO_UNPACK; } return ret; @@ -5817,9 +5819,10 @@ ret = csnStreamEncoder(&ar, CSNDESCR(MS_Radio_Access_capability_t), vector, &writeIndex, data); LOGPC(DCSN1, LOGL_INFO, "\n"); - if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by encoder at the end of bitvec\n", ret); - ret = 0; + if (ret > 0 || ret == CSN_ERROR_NEED_MORE_BITS_TO_UNPACK) { + LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode MS RA Capability IE: not enough bits " + "in the output buffer (rc=%d)\n", ret); + ret = CSN_ERROR_NEED_MORE_BITS_TO_UNPACK; } return ret; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index a0b0ca9..52188e1 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -34,5 +34,5 @@ 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 } | DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec 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 = 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 = 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 } | -DRLCMACDATA NOTICE Got 107 remaining bits unhandled by encoder at the end of bitvec +DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) 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 | diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 438417f..27ce879 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -136,7 +136,7 @@ GPRS multislot class = 3 EGPRS multislot class = 0 === Test encoding of MS RA Capability === -encode_gsm_ra_cap() returns 0 +encode_gsm_ra_cap() returns -5 vector1 (len_ind=29) = 13 a5 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 vector2 (len_ind=65) = 18 25 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 === Test decoding of a malformed vector (short length indicator) === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieec8e6e0823c6f6985f9d343af6d503b8fe9e6ab Gerrit-Change-Number: 17392 Gerrit-PatchSet: 6 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 Mar 11 19:55:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Mar 2020 19:55:57 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: do not return 0 if no bits left in the buffer In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17394 ) Change subject: csn1: fix: do not return 0 if no bits left in the buffer ...................................................................... csn1: fix: do not return 0 if no bits left in the buffer Both csnStreamDecoder() and csnStreamEncoder() shall not return 0 prematurely if no more bits left in the input / output bit-vector. Returning CSN_ERROR_NEED_MORE_BITS_TO_UNPACK might make more sense, however we don't know in advance (i.e. without entering the loop) whether it's an error or not. Some CSN.1 definitions have names like 'M_*_OR_NULL', what basically means that they're optional and can be ignored or omitted. Most of the case statements do check whether the number of remaining bits is enough to unpack / pack a value, so let's leave it up to the current CSN_* handler (pointed by pDescr) if no bits left. Return CSN_ERROR_NEED_MORE_BITS_TO_UNPACK only if the number of remaining bits is negative as this is an error in any case. Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c --- M src/csn1.c M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 7 insertions(+), 6 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index 21d3662..6fab9a9 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -153,9 +153,9 @@ guint8 Tag = STANDARD_TAG; unsigned ib; - if (remaining_bits_len <= 0) + if (remaining_bits_len < 0) { - return 0; + return ProcessError(readIndex, __func__, CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); } do @@ -1463,9 +1463,9 @@ guint8 Tag = STANDARD_TAG; - if (remaining_bits_len <= 0) + if (remaining_bits_len < 0) { - return 0; + return ProcessError(writeIndex, __func__, CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); } do diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 52188e1..13418ee 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -23,7 +23,8 @@ DCSN1 INFO csnStreamDecoder (type=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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 : | Padding = +DCSN1 INFO csnStreamEncoder (type=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 27ce879..89e07ec 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -102,7 +102,7 @@ =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE (0)+++++++++++ ++++++++++Finish ENCODE (-5)+++++++++++ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector2 = 40 16 71 3d c0 94 27 48 a2 ae 57 ef 90 90 06 aa 00 00 1f 80 00 3f 00 vector1 == vector2 : FALSE -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie3a15e210624599e39b1e70c8d34efc10c552f6c Gerrit-Change-Number: 17394 Gerrit-PatchSet: 6 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 Mar 12 08:33:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Mar 2020 08:33:05 +0000 Subject: Change in osmo-remsim[master]: debian: Ensure osmo-remsim-client-st2 package only contains st2 binary References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17469 ) Change subject: debian: Ensure osmo-remsim-client-st2 package only contains st2 binary ...................................................................... debian: Ensure osmo-remsim-client-st2 package only contains st2 binary Before this fix, osmo-remsim-client-st2 contains both the -st2 and the -shell binary, creating conflicts when both osmo-remsim-client-st2 and osmo-remsim-client-shell are installed, as both ship the -shell binary. Change-Id: I1ad433113bcf0b34ab196dd5a31a523cf9ab7efd --- M debian/osmo-remsim-client-st2.install 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/69/17469/1 diff --git a/debian/osmo-remsim-client-st2.install b/debian/osmo-remsim-client-st2.install index abf53ed..2a4a437 100644 --- a/debian/osmo-remsim-client-st2.install +++ b/debian/osmo-remsim-client-st2.install @@ -1,3 +1,3 @@ -usr/bin/osmo-remsim-client* +usr/bin/osmo-remsim-client-st2 lib/systemd/system/osmo-remsim-client* etc/default/osmo-remsim-client* -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I1ad433113bcf0b34ab196dd5a31a523cf9ab7efd Gerrit-Change-Number: 17469 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 Mar 12 09:32:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Mar 2020 09:32:48 +0000 Subject: Change in osmo-remsim[master]: debian: Ensure osmo-remsim-client-st2 package only contains st2 binary In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17469 ) Change subject: debian: Ensure osmo-remsim-client-st2 package only contains st2 binary ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I1ad433113bcf0b34ab196dd5a31a523cf9ab7efd Gerrit-Change-Number: 17469 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Mar 2020 09:32:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 09:32:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Mar 2020 09:32:50 +0000 Subject: Change in osmo-remsim[master]: debian: Ensure osmo-remsim-client-st2 package only contains st2 binary In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17469 ) Change subject: debian: Ensure osmo-remsim-client-st2 package only contains st2 binary ...................................................................... debian: Ensure osmo-remsim-client-st2 package only contains st2 binary Before this fix, osmo-remsim-client-st2 contains both the -st2 and the -shell binary, creating conflicts when both osmo-remsim-client-st2 and osmo-remsim-client-shell are installed, as both ship the -shell binary. Change-Id: I1ad433113bcf0b34ab196dd5a31a523cf9ab7efd --- M debian/osmo-remsim-client-st2.install 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/osmo-remsim-client-st2.install b/debian/osmo-remsim-client-st2.install index abf53ed..2a4a437 100644 --- a/debian/osmo-remsim-client-st2.install +++ b/debian/osmo-remsim-client-st2.install @@ -1,3 +1,3 @@ -usr/bin/osmo-remsim-client* +usr/bin/osmo-remsim-client-st2 lib/systemd/system/osmo-remsim-client* etc/default/osmo-remsim-client* -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I1ad433113bcf0b34ab196dd5a31a523cf9ab7efd Gerrit-Change-Number: 17469 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 Mar 12 09:34:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Mar 2020 09:34:36 +0000 Subject: Change in docker-playground[master]: remsim: Enable "classic" client tests (client in separate container) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17376 ) Change subject: remsim: Enable "classic" client tests (client in separate container) ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0754a7c3c9f9caa65d33bb0a404b53f826cd0a75 Gerrit-Change-Number: 17376 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Mar 2020 09:34: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 Thu Mar 12 09:34:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Mar 2020 09:34:38 +0000 Subject: Change in docker-playground[master]: remsim: Enable "classic" client tests (client in separate container) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17376 ) Change subject: remsim: Enable "classic" client tests (client in separate container) ...................................................................... remsim: Enable "classic" client tests (client in separate container) Change-Id: I0754a7c3c9f9caa65d33bb0a404b53f826cd0a75 --- M ttcn3-remsim-test/jenkins.sh 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index ab3f550..1b7c7cf 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -34,7 +34,7 @@ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ - /bin/sh -c "osmo-remsim-client >/data/osmo-remsim-client.log 2>&1" + /bin/sh -c "osmo-remsim-client-shell >/data/osmo-remsim-client.log 2>&1" } @@ -75,11 +75,11 @@ docker container kill ${BUILD_TAG}-bankd # 3) client test suite -#echo "Changing to client configuration" -#start_client -#cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ -#start_testsuite -#docker container kill ${BUILD_TAG}-client +echo "Changing to client configuration" +start_client +cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +start_testsuite +docker container kill ${BUILD_TAG}-client network_remove collect_logs -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0754a7c3c9f9caa65d33bb0a404b53f826cd0a75 Gerrit-Change-Number: 17376 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 11:05:04 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Mar 2020 11:05:04 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 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/+/17456 to look at the new patch set (#2). Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... osmo-bsc/bsc_vty: set default gprs cell bvci to 2 Do not use 0 as default, as it is reserved for signalling. Related: OS#4408 Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 --- M src/osmo-bsc/gsm_data.c A tests/gprs_bvci_default.vty 2 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/56/17456/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 12 11:05:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Mar 2020 11:05:16 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17456 ) Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17456/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17456/1/src/osmo-bsc/bsc_vty.c at 3064 PS1, Line 3064: bts > why not simply initialize this at the point where all other initializtaion of te 'bts' object is done, i.e. bts_init()? Done. > We can suppress printing the BVCI in 'save' while gprs.mode == NONE (in case that's what you're worried about). I've verified that config_write_bts_gprs() returns without printing the BVCI if gprs.mode == NONE. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Mar 2020 11:05:16 +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 Mar 12 12:29:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Mar 2020 12:29:46 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... gsm690: Fix amr speech bit length table The table amr_len_by_ft represents the length of the raw AMR speech bits in bytes. The table is based on the Table found in RFC 4867 ?3.6, Table 1, Column "Total speech bits". The number of bits is divided by 8 and then rounded up to get the number of consumed octets. An AMR SID frame (including STI and MI) takes up 39 bits, this will result in 5 octets, not in 7. Lets correct this. Related: OS#2978 Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 --- M src/codec/gsm690.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/70/17470/1 diff --git a/src/codec/gsm690.c b/src/codec/gsm690.c index 1955716..8ab1df1 100644 --- a/src/codec/gsm690.c +++ b/src/codec/gsm690.c @@ -216,8 +216,9 @@ 92, 31, 52, 65, 86, }; +/* 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, 7, 0, 0, 0, 0, 0, 0, 0 + 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 }; const struct value_string osmo_amr_type_names[] = { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 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 Mar 12 12:32:50 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Mar 2020 12:32:50 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 1: Hello. Please have a look at: RFC 4867 ?3.6, Table 1, Column "Total speech bits" I took all the numbers for Total speech bits and divided them by 8, they all match the table, except AMR SID. I have the feeling that it should be 5 bytes, not 7. I also can not find anything that would go into the additional 2 bytes. Best regards. Philipp -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 12 Mar 2020 12:32: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 Thu Mar 12 12:54:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Mar 2020 12:54:41 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17456 ) Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Mar 2020 12:54: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 Mar 12 12:55:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Mar 2020 12:55:01 +0000 Subject: Change in osmo-bsc[master]: tests/Makefile.am: allow running only one VTY test In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17455 ) Change subject: tests/Makefile.am: allow running only one VTY test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ieb08ae57bd8bb68c9a8593b3e1175eae9064ac57 Gerrit-Change-Number: 17455 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Mar 2020 12:55:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 12:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Mar 2020 12:58:38 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 1: Code-Review+1 The unit test needs to be updated. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Mar 2020 12: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 Thu Mar 12 13:55:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 13:55:50 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17456 ) Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Mar 2020 13: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 Thu Mar 12 13:56:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 13:56:14 +0000 Subject: Change in osmo-bsc[master]: tests/Makefile.am: allow running only one VTY test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17455 ) Change subject: tests/Makefile.am: allow running only one VTY test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ieb08ae57bd8bb68c9a8593b3e1175eae9064ac57 Gerrit-Change-Number: 17455 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 13:56:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 13:59:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Mar 2020 13:59:30 +0000 Subject: Change in osmo-bsc[master]: tests/Makefile.am: allow running only one VTY test In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17455 ) Change subject: tests/Makefile.am: allow running only one VTY test ...................................................................... tests/Makefile.am: allow running only one VTY test Add VTY_TEST variable, just like in osmo-hlr Change-Id I4ad7ddb31b2bfb668b3540cfef658417dd442375. Change-Id: Ieb08ae57bd8bb68c9a8593b3e1175eae9064ac57 --- M tests/Makefile.am 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index 446276b..9f2e0e0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -54,6 +54,9 @@ echo "Not running python-based tests (determined at configure-time)" endif +# Run a specific test with: 'make vty-test VTY_TEST=osmo-bsc.vty' +VTY_TEST ?= *.vty + # To update the VTY script from current application behavior, # pass -u to vty_script_runner.py by doing: # make vty-test U=-u @@ -61,7 +64,7 @@ osmo_verify_transcript_vty.py -v \ -n OsmoBSC -p 4242 \ -r "$(top_builddir)/src/osmo-bsc/osmo-bsc -c $(top_srcdir)/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg" \ - $(U) $(srcdir)/*.vty + $(U) $(srcdir)/$(VTY_TEST) check-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ieb08ae57bd8bb68c9a8593b3e1175eae9064ac57 Gerrit-Change-Number: 17455 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 13:59:31 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Mar 2020 13:59:31 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17456 ) Change subject: osmo-bsc/bsc_vty: set default gprs cell bvci to 2 ...................................................................... osmo-bsc/bsc_vty: set default gprs cell bvci to 2 Do not use 0 as default, as it is reserved for signalling. Related: OS#4408 Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 --- M src/osmo-bsc/gsm_data.c A tests/gprs_bvci_default.vty 2 files changed, 16 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/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 90172dd..f12b032 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -807,6 +807,9 @@ memcpy(&bts->gprs.cell.rlc_cfg, &rlc_cfg_default, sizeof(bts->gprs.cell.rlc_cfg)); + /* 3GPP TS 08.18, chapter 5.4.1: 0 is reserved for signalling */ + bts->gprs.cell.bvci = 2; + /* init statistics */ bts->bts_ctrs = rate_ctr_group_alloc(bts, &bts_ctrg_desc, bts->nr); if (!bts->bts_ctrs) { diff --git a/tests/gprs_bvci_default.vty b/tests/gprs_bvci_default.vty new file mode 100644 index 0000000..4bd95ce --- /dev/null +++ b/tests/gprs_bvci_default.vty @@ -0,0 +1,13 @@ +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# network +OsmoBSC(config-net)# bts 0 +OsmoBSC(config-net-bts)# gprs mode gprs +OsmoBSC(config-net-bts)# exit + +OsmoBSC(config-net)# show running-config +... + bts 0 +... + gprs cell bvci 2 +... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I499272f16aadd89f3bdb5d749e3e4f9e07056c15 Gerrit-Change-Number: 17456 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 14:45:44 2020 From: gerrit-no-reply at lists.osmocom.org (jfdionne) Date: Thu, 12 Mar 2020 14:45:44 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: jfdionne has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 1: Code-Review+1 > Patch Set 1: > > Hello. > > Please have a look at: RFC 4867 ?3.6, Table 1, Column "Total speech bits" > > I took all the numbers for Total speech bits and divided them by 8, they all match the table, except AMR SID. I have the feeling that it should be 5 bytes, not 7. I also can not find anything that would go into the additional 2 bytes. > > Best regards. > Philipp Hi Philipp, according to RFC 4867 you are right and AMR SID payload type length should be adjusted to 5 bytes. Best regards, Jean-Francois -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-Comment-Date: Thu, 12 Mar 2020 14: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 Thu Mar 12 15:02:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:02:57 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: use var to hold defaults.conf string In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 ) Change subject: config.py: use var to hold defaults.conf string ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If35739f21f1414efdaba71acbb60661213ac58df Gerrit-Change-Number: 17467 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15:02: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 Mar 12 15:02:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:02:59 +0000 Subject: Change in osmo-gsm-tester[master]: Move RESOURCES_CONF from resource.py to config.py In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17468 ) Change subject: Move RESOURCES_CONF from resource.py to config.py ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8304dda70268b16dbc316af882fecdbf20ac25ec Gerrit-Change-Number: 17468 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15: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 Mar 12 15:03:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:03:02 +0000 Subject: Change in osmo-gsm-tester[master]: config.py: use var to hold defaults.conf string In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 ) Change subject: config.py: use var to hold defaults.conf string ...................................................................... config.py: use var to hold defaults.conf string This way we have all config file names together in same place. Change-Id: If35739f21f1414efdaba71acbb60661213ac58df --- M src/osmo_gsm_tester/config.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/config.py b/src/osmo_gsm_tester/config.py index 71e0009..4480338 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -71,6 +71,7 @@ PATHS_CONF = 'paths.conf' DEFAULT_SUITES_CONF = 'default-suites.conf' +DEFAULTS_CONF = 'defaults.conf' PATH_STATE_DIR = 'state_dir' PATH_SUITES_DIR = 'suites_dir' PATH_SCENARIOS_DIR = 'scenarios_dir' @@ -189,7 +190,7 @@ return config def get_defaults(for_kind): - defaults = read_config_file('defaults.conf', if_missing_return={}) + defaults = read_config_file(DEFAULTS_CONF, if_missing_return={}) return defaults.get(for_kind, {}) class Scenario(log.Origin, dict): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If35739f21f1414efdaba71acbb60661213ac58df Gerrit-Change-Number: 17467 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 Mar 12 15:03:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:03:03 +0000 Subject: Change in osmo-gsm-tester[master]: Move RESOURCES_CONF from resource.py to config.py In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17468 ) Change subject: Move RESOURCES_CONF from resource.py to config.py ...................................................................... Move RESOURCES_CONF from resource.py to config.py This way we have all known config file names in one place, in the module containing the implementation to retrieve them (config.read_config_file()). Change-Id: I8304dda70268b16dbc316af882fecdbf20ac25ec --- M src/osmo_gsm_tester/config.py M src/osmo_gsm_tester/resource.py 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py index 4480338..5016018 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -72,6 +72,8 @@ 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' diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 07d32e2..cdf0596 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -37,7 +37,6 @@ RESERVED_KEY = '_reserved_by' USED_KEY = '_used' -RESOURCES_CONF = 'resources.conf' RESERVED_RESOURCES_FILE = 'reserved_resources.state' R_IP_ADDRESS = 'ip_address' @@ -151,7 +150,7 @@ _registered_exit_handler = False def __init__(self): - self.config_path = config.get_config_file(RESOURCES_CONF) + self.config_path = config.get_config_file(config.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() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8304dda70268b16dbc316af882fecdbf20ac25ec Gerrit-Change-Number: 17468 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 Mar 12 15:07:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:07:42 +0000 Subject: Change in osmo-ci[master]: ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tes... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17471 ) Change subject: ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtual ...................................................................... ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtual Let's use the osmo-gsm-tester docker image based on the debian-stretch-jenkins instead of the later directly, since the former has all osmo-gsm-tester required dependencies. Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c --- M jobs/osmo-gsm-tester-runner.yml M scripts/osmo-ci-docker-rebuild.sh 2 files changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/71/17471/1 diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index 4a47c8e..d00ecfa 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -244,7 +244,7 @@ -v "$HOME/bin:/build_bin" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ --cap-add=sys_nice \ - $USER/debian-stretch-jenkins \ + $USER/osmo-gsm-tester \ /bin/bash -c 'LANG="en_US.utf8" LC_ALL="en_US.UTF-8" LC_LANG="en_US.UTF-8" PATH="$PWD/osmo-gsm-tester/src:${PATH}" ./osmo-gsm-tester/contrib/jenkins-run.sh' publishers: - archive: diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 6a1cc27..58642ff 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -4,4 +4,5 @@ . scripts/common.sh docker_images_require \ "debian-stretch-jenkins" \ - "debian-buster-erlang" + "debian-buster-erlang" \ + "osmo-gsm-tester" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c Gerrit-Change-Number: 17471 Gerrit-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 Mar 12 15:13:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:13:32 +0000 Subject: Change in osmo-gsm-tester[master]: Drop wrong vty cfg line ms-power-control References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17472 ) Change subject: Drop wrong vty cfg line ms-power-control ...................................................................... Drop wrong vty cfg line ms-power-control Those two BTS backends never had their own MS Power Control Loop, so they should be using the "osmo" common one. This wrong value "dsp" used to be accepted for no good reason, but it's no longer the case. Let's remove the line to let the backend take the default one (osmo). Change-Id: I842fce2b8185c53d1684747afcfc3ae8fba1afee --- M src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/17472/1 diff --git a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl index 2a1e2d7..3548979 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl @@ -49,6 +49,5 @@ power-ramp max-initial 23000 mdBm power-ramp step-size 2000 mdB power-ramp step-interval 1 - ms-power-control dsp phy ${trx.phy_idx} instance ${trx.instance_idx} %endfor diff --git a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl index be4f50c..cb2e1ec 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl @@ -44,5 +44,4 @@ power-ramp max-initial 23000 mdBm power-ramp step-size 2000 mdB power-ramp step-interval 1 - ms-power-control dsp phy 0 instance 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I842fce2b8185c53d1684747afcfc3ae8fba1afee Gerrit-Change-Number: 17472 Gerrit-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 Mar 12 15:48:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:48:51 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Base docker image on debian-stretch-jenkins References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17473 ) Change subject: osmo-gsm-tester: Base docker image on debian-stretch-jenkins ...................................................................... osmo-gsm-tester: Base docker image on debian-stretch-jenkins That image contains extra runtime dependencies (such as libua5.3) which may be required by software run by osmo-gsm-tester. Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/73/17473/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index bed641c..303642b 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-stretch-jenkins MAINTAINER Pau Espin Pedrol -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa Gerrit-Change-Number: 17473 Gerrit-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 Mar 12 15:49:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:49:28 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Base docker image on debian-stretch-jenkins In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17473 ) Change subject: osmo-gsm-tester: Base docker image on debian-stretch-jenkins ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa Gerrit-Change-Number: 17473 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15: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 Thu Mar 12 15:49:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:49:32 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Base docker image on debian-stretch-jenkins In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17473 ) Change subject: osmo-gsm-tester: Base docker image on debian-stretch-jenkins ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa Gerrit-Change-Number: 17473 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15: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 Thu Mar 12 15:49:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:49:39 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow setting rtprio inside the container In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17462 ) Change subject: osmo-gsm-tester: Allow setting rtprio inside the container ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b Gerrit-Change-Number: 17462 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15: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 Mar 12 15:49:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:49:40 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17463 ) Change subject: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e Gerrit-Change-Number: 17463 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15:49: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 Mar 12 15:49:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:49:48 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow setting rtprio inside the container In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17462 ) Change subject: osmo-gsm-tester: Allow setting rtprio inside the container ...................................................................... osmo-gsm-tester: Allow setting rtprio inside the container This fixes for instance srsLTE being unable to create a thread with realtime priority. Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b --- M osmo-gsm-tester/jenkins.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 248a10b..71a2ee3 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -30,6 +30,7 @@ docker run --rm \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ + --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ --network $NET_NAME \ --ip 172.18.50.100 \ @@ -42,6 +43,7 @@ docker run --rm \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ + --ulimit rtprio=99 \ --device /dev/net/tun:/dev/net/tun \ --network $NET_NAME \ --ip 172.18.50.2 \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b Gerrit-Change-Number: 17462 Gerrit-PatchSet: 2 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 Mar 12 15:49:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:49:49 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17463 ) Change subject: osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller ...................................................................... osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller After this patch, one can run osmo-gsm-tester with specific parameters (debug level, suite and tests to run, etc.) by using OSMO_GSM_TESTER_OPTS variable: OSMO_GSM_TESTER_OPTS="-s 4g -t ping -l error" ./jenkins.sh Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e --- M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 2 files changed, 10 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 71a2ee3..c114222 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -7,10 +7,12 @@ # Trial directory must be set in the parent host's /tmp/trial path, which will # then be mounted to ogt-master and used my osmo-gsm-tester. # -# osmo-gsm-tester parameters and suites are passed in osmo-gsm-tester.sh in same -# directory as this script. +# osmo-gsm-tester parameters and suites are passed to osmo-gsm-tester.sh in same +# directory as this script using environment variable OSMO_GSM_TESTER_OPTS. # -# Log files can be found in host's /tmp/logs/ directory. +# Log files can be found in host's /tmp/logs/ directory. Results generated by +# osmo-gsm-tester last run can be found as usual under the trial directory +# (/tmp/trial/last_run). . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" @@ -40,6 +42,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_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 \ --cap-add=SYS_ADMIN \ @@ -49,6 +52,7 @@ --ip 172.18.50.2 \ -v $VOL_BASE_DIR/ogt-master:/data \ -v /tmp/trial:/tmp/trial \ + -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ --name ${BUILD_TAG}-ogt-master \ $REPO_USER/osmo-gsm-tester diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index bfd303b..975e4e5 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -1,7 +1,7 @@ #!/bin/bash - +set -x -e # Add local IP addresses required by osmo-gsm-tester resources: -ip addr add 172.18.50.2/24 dev eth0 +ip addr add 172.18.50.2/24 dev eth0 || true #already set by docker run --ip cmd ip addr add 172.18.50.3/24 dev eth0 ip addr add 172.18.50.4/24 dev eth0 ip addr add 172.18.50.5/24 dev eth0 @@ -11,4 +11,4 @@ ip addr add 172.18.50.9/24 dev eth0 ip addr add 172.18.50.10/24 dev eth0 -su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial -T -l dbg -s 4g -t iperf3" -m jenkins +su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e Gerrit-Change-Number: 17463 Gerrit-PatchSet: 2 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 Mar 12 15:50:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:50:45 +0000 Subject: Change in osmo-ci[master]: ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tes... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17471 ) Change subject: ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtual ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c Gerrit-Change-Number: 17471 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15:50: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 Mar 12 15:50:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:50:47 +0000 Subject: Change in osmo-ci[master]: ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tes... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17471 ) Change subject: ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtual ...................................................................... ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtual Let's use the osmo-gsm-tester docker image based on the debian-stretch-jenkins instead of the later directly, since the former has all osmo-gsm-tester required dependencies. Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c --- M jobs/osmo-gsm-tester-runner.yml M scripts/osmo-ci-docker-rebuild.sh 2 files changed, 3 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index 4a47c8e..d00ecfa 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -244,7 +244,7 @@ -v "$HOME/bin:/build_bin" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ --cap-add=sys_nice \ - $USER/debian-stretch-jenkins \ + $USER/osmo-gsm-tester \ /bin/bash -c 'LANG="en_US.utf8" LC_ALL="en_US.UTF-8" LC_LANG="en_US.UTF-8" PATH="$PWD/osmo-gsm-tester/src:${PATH}" ./osmo-gsm-tester/contrib/jenkins-run.sh' publishers: - archive: diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 6a1cc27..58642ff 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -4,4 +4,5 @@ . scripts/common.sh docker_images_require \ "debian-stretch-jenkins" \ - "debian-buster-erlang" + "debian-buster-erlang" \ + "osmo-gsm-tester" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c Gerrit-Change-Number: 17471 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 Mar 12 15:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:50:55 +0000 Subject: Change in osmo-gsm-tester[master]: Drop wrong vty cfg line ms-power-control In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17472 ) Change subject: Drop wrong vty cfg line ms-power-control ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I842fce2b8185c53d1684747afcfc3ae8fba1afee Gerrit-Change-Number: 17472 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 15:50:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 15:50:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:50:57 +0000 Subject: Change in osmo-gsm-tester[master]: Drop wrong vty cfg line ms-power-control In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17472 ) Change subject: Drop wrong vty cfg line ms-power-control ...................................................................... Drop wrong vty cfg line ms-power-control Those two BTS backends never had their own MS Power Control Loop, so they should be using the "osmo" common one. This wrong value "dsp" used to be accepted for no good reason, but it's no longer the case. Let's remove the line to let the backend take the default one (osmo). Change-Id: I842fce2b8185c53d1684747afcfc3ae8fba1afee --- M src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl 2 files changed, 0 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl index 2a1e2d7..3548979 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-octphy.cfg.tmpl @@ -49,6 +49,5 @@ power-ramp max-initial 23000 mdBm power-ramp step-size 2000 mdB power-ramp step-interval 1 - ms-power-control dsp phy ${trx.phy_idx} instance ${trx.instance_idx} %endfor diff --git a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl index be4f50c..cb2e1ec 100644 --- a/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bts-virtual.cfg.tmpl @@ -44,5 +44,4 @@ power-ramp max-initial 23000 mdBm power-ramp step-size 2000 mdB power-ramp step-interval 1 - ms-power-control dsp phy 0 instance 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I842fce2b8185c53d1684747afcfc3ae8fba1afee Gerrit-Change-Number: 17472 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 Mar 12 15:51:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 15:51:08 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Base docker image on debian-stretch-jenkins In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17473 ) Change subject: osmo-gsm-tester: Base docker image on debian-stretch-jenkins ...................................................................... osmo-gsm-tester: Base docker image on debian-stretch-jenkins That image contains extra runtime dependencies (such as libua5.3) which may be required by software run by osmo-gsm-tester. Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index bed641c..303642b 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -1,5 +1,5 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-stretch-jenkins MAINTAINER Pau Espin Pedrol -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa Gerrit-Change-Number: 17473 Gerrit-PatchSet: 2 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 Mar 12 17:04:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:04:45 +0000 Subject: Change in osmo-gsm-tester[master]: osmo_ms_driver: Store cfg files and logs in correct test rundir References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17474 ) Change subject: osmo_ms_driver: Store cfg files and logs in correct test rundir ...................................................................... osmo_ms_driver: Store cfg files and logs in correct test rundir This way all the content is available as an artifact when we run it inside osmo-gsm-tester. Change-Id: I3ab493e6aafef90bb0c5d98e552840fd11c43079 --- M src/osmo_ms_driver/starter.py 1 file changed, 12 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/74/17474/1 diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index 2ae423d..8757e40 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from osmo_gsm_tester import log, process, template +from osmo_gsm_tester import log, util, process, template from .test_support import ResultStore @@ -38,6 +38,7 @@ self._env = env self._name_number = name_number self._tmp_dir = tmp_dir.new_dir(self.name()) + self.run_dir = self._tmp_dir def name_number(self): return self._name_number @@ -52,14 +53,16 @@ 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())) 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) self.log("Starting virtphy") args = [self._binary, "--l1ctl-sock=" + self._phy_filename] - self._vphy_proc = process.Process(self.name(), self._tmp_dir, + self._vphy_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run: + if suite_run is not None: suite_run.remember_to_stop(self._vphy_proc) self._vphy_proc.launch() @@ -109,7 +112,7 @@ self._cfg['test'][key] = value def write_lua_cfg(self): - lua_cfg_file = os.path.join(self._tmp_dir, "lua_" + self._name_number + ".lua") + lua_cfg_file = self.run_dir.new_file("lua_" + self._name_number + ".lua") lua_script = template.render(self._lua_template, self._cfg) with open(lua_cfg_file, 'w') as w: w.write(lua_script) @@ -125,22 +128,24 @@ 'ms_number': self._name_number, } } - mob_cfg_file = os.path.join(self._tmp_dir, "mob_" + self._name_number + ".cfg") + mob_cfg_file = self.run_dir.new_file("mob_" + self._name_number + ".cfg") mob_vty = template.render(self._cfg_template, cfg) with open(mob_cfg_file, 'w') as w: 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())) lua_filename = self.write_lua_cfg() mob_filename = self.write_mob_cfg(lua_filename, self._phy_filename) self.log("Starting mobile") # Let the kernel pick an unused port for the VTY. args = [self._binary, "-c", mob_filename] - self._omob_proc = process.Process(self.name(), self._tmp_dir, + self._omob_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run: + if suite_run is not None: suite_run.remember_to_stop(self._omob_proc) self._omob_proc.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3ab493e6aafef90bb0c5d98e552840fd11c43079 Gerrit-Change-Number: 17474 Gerrit-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 Mar 12 17:13:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:13:32 +0000 Subject: Change in osmo-gsm-tester[master]: osmo_ms_driver: Store cfg files and logs in correct test rundir In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17474 ) Change subject: osmo_ms_driver: Store cfg files and logs in correct test rundir ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3ab493e6aafef90bb0c5d98e552840fd11c43079 Gerrit-Change-Number: 17474 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 17:13: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 Mar 12 17:13:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:13:34 +0000 Subject: Change in osmo-gsm-tester[master]: osmo_ms_driver: Store cfg files and logs in correct test rundir In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17474 ) Change subject: osmo_ms_driver: Store cfg files and logs in correct test rundir ...................................................................... osmo_ms_driver: Store cfg files and logs in correct test rundir This way all the content is available as an artifact when we run it inside osmo-gsm-tester. Change-Id: I3ab493e6aafef90bb0c5d98e552840fd11c43079 --- M src/osmo_ms_driver/starter.py 1 file changed, 12 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index 2ae423d..8757e40 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from osmo_gsm_tester import log, process, template +from osmo_gsm_tester import log, util, process, template from .test_support import ResultStore @@ -38,6 +38,7 @@ self._env = env self._name_number = name_number self._tmp_dir = tmp_dir.new_dir(self.name()) + self.run_dir = self._tmp_dir def name_number(self): return self._name_number @@ -52,14 +53,16 @@ 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())) 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) self.log("Starting virtphy") args = [self._binary, "--l1ctl-sock=" + self._phy_filename] - self._vphy_proc = process.Process(self.name(), self._tmp_dir, + self._vphy_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run: + if suite_run is not None: suite_run.remember_to_stop(self._vphy_proc) self._vphy_proc.launch() @@ -109,7 +112,7 @@ self._cfg['test'][key] = value def write_lua_cfg(self): - lua_cfg_file = os.path.join(self._tmp_dir, "lua_" + self._name_number + ".lua") + lua_cfg_file = self.run_dir.new_file("lua_" + self._name_number + ".lua") lua_script = template.render(self._lua_template, self._cfg) with open(lua_cfg_file, 'w') as w: w.write(lua_script) @@ -125,22 +128,24 @@ 'ms_number': self._name_number, } } - mob_cfg_file = os.path.join(self._tmp_dir, "mob_" + self._name_number + ".cfg") + mob_cfg_file = self.run_dir.new_file("mob_" + self._name_number + ".cfg") mob_vty = template.render(self._cfg_template, cfg) with open(mob_cfg_file, 'w') as w: 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())) lua_filename = self.write_lua_cfg() mob_filename = self.write_mob_cfg(lua_filename, self._phy_filename) self.log("Starting mobile") # Let the kernel pick an unused port for the VTY. args = [self._binary, "-c", mob_filename] - self._omob_proc = process.Process(self.name(), self._tmp_dir, + self._omob_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run: + if suite_run is not None: suite_run.remember_to_stop(self._omob_proc) self._omob_proc.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3ab493e6aafef90bb0c5d98e552840fd11c43079 Gerrit-Change-Number: 17474 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 Mar 12 17:49:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:49:58 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manual: Refactor, rewrite, improve and update most of the User Ma... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17447 ) Change subject: doc/manual: Refactor, rewrite, improve and update most of the User Manual ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40 Gerrit-Change-Number: 17447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 17: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 Thu Mar 12 17:50:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:00 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write proper content for Docker Setup section In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17464 ) Change subject: doc/manuals: Write proper content for Docker Setup section ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie883adbf03a3b5c9a852182c01d15a212749ce04 Gerrit-Change-Number: 17464 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 17:50:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 17:50:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:02 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write proper content for Ansible Setup section In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17465 ) Change subject: doc/manuals: Write proper content for Ansible Setup section ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iffd3beefa50dd5f18908b4c3f7e4deb169feca62 Gerrit-Change-Number: 17465 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 17:50:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 12 17:50:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:03 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write section explaining parametrized scenarios In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466 ) Change subject: doc/manuals: Write section explaining parametrized scenarios ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c Gerrit-Change-Number: 17466 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Mar 2020 17: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 Thu Mar 12 17:50:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:07 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manual: Refactor, rewrite, improve and update most of the User Ma... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17447 ) Change subject: doc/manual: Refactor, rewrite, improve and update most of the User Manual ...................................................................... doc/manual: Refactor, rewrite, improve and update most of the User Manual * Some TODOs are added as comments which actually require code changes. These are details which showed up as incongruences or missing bits while writing the documentation for them. * Some sections are introduced but still waiting to be writen soon: ** Debugging section ** Docker Setup section ** Ansible Setup section ** Troubleshooting (add jenkins red cross button sending kill -9) ** resources.conf attribute list needs to be converted to a table * Device related setup needs to be updated and extended * Parametrized scenarios need to be documented * 4G resources documentation needs to be added. Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40 --- M .gitignore A doc/manuals/chapters/ansible.adoc M doc/manuals/chapters/config.adoc A doc/manuals/chapters/docker.adoc M doc/manuals/chapters/install.adoc A doc/manuals/chapters/install_device.adoc M doc/manuals/chapters/intro.adoc A doc/manuals/chapters/resource_pool.adoc M doc/manuals/chapters/trial.adoc A doc/manuals/chapters/troubleshooting.adoc M doc/manuals/osmo-gsm-tester-manual-docinfo.xml M doc/manuals/osmo-gsm-tester-manual.adoc 12 files changed, 930 insertions(+), 767 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index 47e9f86..f281be1 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,6 @@ doc/manuals/*__*.png doc/manuals/*.check doc/manuals/generated/ -doc/manuals/osmomsc-usermanual.xml +doc/manuals/osmo-gsm-tester-manual.xml doc/manuals/common doc/manuals/build diff --git a/doc/manuals/chapters/ansible.adoc b/doc/manuals/chapters/ansible.adoc new file mode 100644 index 0000000..b672528 --- /dev/null +++ b/doc/manuals/chapters/ansible.adoc @@ -0,0 +1,6 @@ +[[ansible]] +== Ansible Setup + +Available in osmocom's osmo-ci.git subdirectory 'ansible/', see there 'gsm-tester/README.md'. + +//TODO: Explain more where to find, how to build, how to use. diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 7e250e0..bb0cec2 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -1,166 +1,43 @@ == Configuration -[[config_paths]] -=== Config Paths +=== Schemas -The osmo-gsm-tester looks for configuration files in various standard -directories in this order: +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. -- '$HOME/.config/osmo-gsm-tester/' -- '/usr/local/etc/osmo-gsm-tester/' -- '/etc/osmo-gsm-tester/' +There are several well-known schemas used across {app-name}, and they are +described in following sub-sections. -The config location can also be set by an environment variable -'$OSMO_GSM_TESTER_CONF', which then overrides the above locations. +[[schema_resources]] +==== Schema 'resources' -The osmo-gsm-tester expects to find the following configuration files in a -configuration directory: +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. -- 'paths.conf' -- 'resources.conf' -- 'default-suites.conf' (optional) -- 'defaults.conf' (optional) +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. -These are described in detail in the following sections. +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-handle}. -=== Format: YAML, and its Drawbacks - -The general configuration format used is YAML. The stock python YAML parser -does have several drawbacks: too many complex possibilities and alternative -ways of formatting a configuration, but at the time of writing seems to be the -only widely used configuration format that offers a simple and human readable -formatting as well as nested structuring. It is recommended to use only the -exact YAML subset seen in this manual in case the osmo-gsm-tester should move -to a less bloated parser in the future. - -Careful: if a configuration item consists of digits and starts with a zero, you -need to quote it, or it may be interpreted as an octal notation integer! Please -avoid using the octal notation on purpose, it is not provided intentionally. - -[[paths_conf]] -=== 'paths.conf' - -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. - -Example: - ----- -state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: '/usr/local/src/osmo-gsm-tester/suites' -scenarios_dir: './scenarios' ----- - -[[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: - -'last_used_msisdn.state':: - Contains last used msisdn number, which is automatically increased every - time osmo-gsm-tester needs to assign a new subscriber in a test. -'lock':: - Lock file used to implement a mutual exclusion zone around the - 'reserved_resources.state' file. -'reserved_resources.state':: - File containing a set of reserved resources by any number of - osmo-gsm-tester instances. Each osmo-gsm-tester instance is responsible - to clear its resources from the list once it is done using them and are - no longer reserved. - -If you would like to set up several separate configurations (not typical), note -that the 'state_dir' is used to reserve resources, which only works when all -configurations that share resources also use the same 'state_dir'. - -This way, several concurrent users of osmo-gsm-tester (ie. several -osmo-gsm-tester processes running in parallel) can run without interfering with -each other (e.g. using same ARFCN, same IP or same ofono modem path). - -[[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 -allocated per suite and not per test. - -Tests for a given suite are located in the form of '.py' python scripts in the -same directory where the 'suite.conf' lays. - -[[scenarios_dir]] -==== 'scenarios_dir' - -This dir contains scenario configuration files. - -Scenarios define constraints to serve the resource requests of a 'suite.conf', -to select specific resources from the general resource pool specified in 'resources.conf'. - -All 'times' attributes are expanded before matching. For example, if a 'suite.conf' -requests two BTS, we 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 ----- - -If only one resource is specified in the scenario, then the resource allocator -assumes the restriction is to be applied to the first resource and that remaining -resources have no restrictions to be taken into consideration. - -To apply restrictions only on the second resource, the first element can be left -emtpy, like: - ----- -resources: - bts: - - {} - - type: osmo-bts-sysmo ----- - -On the 'osmo_gsm_tester.py' command line and the 'default_suites.conf', any number of -such scenario configurations can be combined in the form: - ----- -:[+[+...]] ----- - -e.g. - ----- -my_suite:sysmo+tch_f+amr ----- - -[[resources_conf]] -=== 'resources.conf' - -The 'resources.conf' file defines which hardware is connected to the main unit, -as well as which limited configuration items (like IP addresses or ARFCNs) -should be used. - -These resources are allocated dynamically and are not configured explicitly: - -- MSISDN: phone numbers are dealt out to test scripts in sequence on request. - -A 'resources.conf' is structured as a list of items for each resource type, -where each item has one or more settings -- for an example, see -<>. - -These kinds of resource are known: +//TODO: update this list and use a table for each resource type +These kinds of resources and their attributes are known: 'ip_address':: List of IP addresses to run osmo-nitb instances on. The main unit @@ -251,6 +128,278 @@ - '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_conf]] +==== Schema 'conf' + +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 <> + 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]] +- 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_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. + +//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 + +The osmo-gsm-tester looks for configuration files in various standard +directories in this order: + +- '$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 osmo-gsm-tester expects to find the following configuration files in a +configuration directory: + +- <> +- <> +- <> (optional) +- <> (optional) + +These are described in detail in the following sections. + +[[paths_conf]] +==== 'paths.conf' + +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: +---- +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: '/usr/local/src/osmo-gsm-tester/suites' +scenarios_dir: './scenarios' +---- + +[[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: + +'last_used_*.state':: + Contains stateful content spanning accross {app-name} instances and + runs. For instance, 'last used msisdn number.state' is automatically + (and atomically) increased every time osmo-gsm-tester needs to assign a + new subscriber in a test, ensuring tests get unique msisdn numbers. +'reserved_resources.state':: + File containing a set of reserved resources by any number of + osmo-gsm-tester instances (aka pool of allocated resources). Each + osmo-gsm-tester instance is responsible to clear its resources from the + list once it is done using them and are no longer reserved. +'lock':: + Lock file used to implement a mutual exclusion zone around any state + files in the 'state_dir', to prevent race conditions between different + {app-name} instances running in parallel. + +This way, several concurrent users of osmo-gsm-tester (ie. several +osmo-gsm-tester processes running in parallel) can run without interfering with +each other (e.g. using same ARFCN, same IP or same ofono modem path). + +If you would like to set up several separate configurations (not typical), note +that the 'state_dir' is used to reserve resources, which only works when all +configurations that share resources also use the same 'state_dir'. It's also +important to notice that since resources are stored in YAML dictionary form, if +same physical device is described differently in several +<> files (used by different {app-name} instances), +resource allocation may not work as expected. + +[[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 +allocated per suite and not per test. + +Tests for a given suite are located in the form of '.py' python scripts in the +same directory where the <> lays. + +Tests in the same testsuite willing to use some shared code can do so by putting +it eg. in '$suites_dir/$suitename/lib/testlib.py': +---- +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def my_shared_code(foo): + return foo.bar() +---- + +and then in the test itself use it this way: +---- +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +import testlib +suite.test_import_modules_register_for_cleanup(testlib) +from testlib import my_shared_code + +bar = my_shared_code(foo) +---- + +.Sample 'suites_dir' directory tree: +---- +suites_dir/ +|-- suiteA +| |-- suite.conf +| '-- testA.py +|-- suiteB +| |-- testB.py +| |-- testC.py +| |-- lib +| | '-- testlib.py +| '-- suite.conf +---- + +[[suite_conf]] +===== 'suite.conf' + +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. + +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 +general configuration options (no per-resource) through the +<> section. + +.Sample 'suite.conf' file: +---- +resources: + ip_address: + - times: 9 # msc, bsc, hlr, stp, mgw*2, sgsn, ggsn, iperf3srv + bts: + - times: 1 + modem: + - times: 2 + features: + - gprs + - voice + - times: 2 + features: + - gprs + +config: + bsc: + net: + codec_list: + - fr1 + +defaults: + timeout: 50s +---- + +[[scenarios_dir]] +===== 'scenarios_dir' + +This dir contains scenario configuration files. + +.Sample 'scenarios_dir' directory tree: +---- +scenarios_dir/ +|-- scenarioA.conf +'-- scenarioB.conf +---- + +[[scenario_conf]] +===== 'scenario conf file' +Scenarios define further constraints to serve the resource requests of a +<>, ie. to select specific resources from the general +resource pool specified in <>. + +If only one resource is specified in the scenario, then the resource allocator +assumes the restriction is to be applied to the first resource and that remaining +resources have no restrictions to be taken into consideration. + +To apply restrictions only on the second resource, the first element can be left +emtpy, like: + +---- +resources: + bts: + - {} + - type: osmo-bts-sysmo +---- + +On the 'osmo_gsm_tester.py' command line and the +<>, any number of such scenario +configurations can be combined in the form: + +---- +:[+[+...]] +---- + +e.g. + +---- +my_suite:sysmo+tch_f+amr +---- + +[[resources_conf]] +==== 'resources.conf' + +//TODO: update this section +The 'resources.conf' file defines which hardware is connected to the main unit, +as well as which limited configuration items (like IP addresses or ARFCNs) +should be used. + +A 'resources.conf' is validated by the <>. +That means it is structured as a list of items for each resource type, where +each item has one or more attributes -- for an example, see +<>. + Side note: at first sight it might make sense to the reader to rather structure e.g. the 'ip_address' or 'arfcn' configuration as + '"arfcn: GSM-1800: [512, 514, ...]"', + @@ -262,25 +411,22 @@ available (yet). [[default_suites]] -=== 'default-suites.conf' (optional) +==== 'default-suites.conf' (optional) -The 'default-suites.conf' file contains a list of 'suite:scenario+scenario+...' +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 option. If invoking the 'osmo-gsm-tester.py' without any suite definitions, the '-s' arguments are taken from this file instead. Each of these suite + scenario combinations is run in sequence. -A suite name must match the name of a directory in the 'suites_dir' as defined -by 'paths.conf'. +A suite name must match the name of a directory in the +<> as defined by <>. A scenario name must match the name of a configuration file in the -'scenarios_dir' as defined by 'paths.conf' (optionally without the '.conf' -suffix). +<> as defined by <> +(optionally without the '.conf' suffix). -For 'paths.conf', see <>. - -Example of a 'default-suites.conf' file: - +.Sample 'default-suites.conf' file: ---- - sms:sysmo - voice:sysmo+tch_f @@ -292,24 +438,28 @@ - voice:trx+dyn_ts ---- -=== 'defaults.conf' (optional) +==== 'defaults.conf' (optional) + +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 +it the case the information stored in <> for that +resource may not contain tons of attributes which the object class needs to +manage the resource. + +For this exact reason, the 'defaults.conf' file exist. It contains a set of +default attributes and values (in YAML format) that object classes can use to +fill in the missing gaps, or to provide values which can easily be changed or +overwritten by <> or <> +files through modifiers. Each binary run by osmo-gsm-tester, e.g. 'osmo-nitb' or 'osmo-bts-sysmo', typically has a configuration file template that is populated with values for a -trial run. +trial run. Hence, a <>, <> +or a <> providing a similar setting always has +precedence over the values given in a 'defaults.conf' -Some of these values are provided by the 'resources.conf' from the allocated -resource(s), but not all values can be populated this way: some osmo-nitb -configuration values like the network name, encryption algorithm or timeslot -channel combinations are in fact not resources (only the nitb's interface -address is). These additional settings may be provided by the scenario -configurations, but in case the provided scenarios leave some values unset, -they are taken from this 'defaults.conf'. (A 'scenario.conf' or a -'resources.conf' providing a similar setting always has precedence over the -values given in a 'defaults.conf'). -Example of a 'defaults.conf': - +.Sample 'defaults.conf' file: ---- nitb: net: @@ -359,3 +509,53 @@ - phys_chan_config: TCH/F_TCH/H_PDCH - phys_chan_config: TCH/F_TCH/H_PDCH ---- + +=== Example Setup + +{app-name} comes with an example official setup which is the one used to run +Osmocom's setup. There are actually two different available setups: a +production one and an RnD one, used to develop {app-name} itself. These two set +ups share mostly all configuration, main difference being the +<> file being used. + +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 'suites/' +- <>: Available under 'example/scenarios/' +- <>: Available under 'example/' 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! + +==== Typical Invocations + +Each invocation of osmo-gsm-tester deploys a set of pre-compiled binaries for +the Osmocom core network as well as for the Osmocom based BTS models. To create +such a set of binaries, see <>. + +Examples for launching test trials: + +- Run the default suites (see <>) on a given set of binaries: + +---- +osmo-gsm-tester.py path/to/my-trial +---- + +- 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: + +---- +osmo-gsm-tester.py 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/doc/manuals/chapters/docker.adoc b/doc/manuals/chapters/docker.adoc new file mode 100644 index 0000000..b7560e1 --- /dev/null +++ b/doc/manuals/chapters/docker.adoc @@ -0,0 +1,6 @@ +[[docker]] +== Docker Setup + +Available in osmocom's docker-playground.git subdirectory 'osmo-gsm-tester/'. + +//TODO: Explain more where to find, how to build, how to use. diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index d19f909..e062b8d 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -1,49 +1,11 @@ -== Installation on Main Unit +== {app-name} Installation -The main unit is a general purpose computer that orchestrates the tests. It -runs the core network components, controls the modems and so on. This can be -anything from a dedicated production rack unit to your laptop at home. +=== Trial Builder -This manual will assume that tests are run from a jenkins build slave, by a user -named 'jenkins' that belong to group 'osmo-gsm-tester'. The user configuration -for manual test runs and/or a different user name is identical, simply replace -the user name or group. - -=== Osmo-gsm-tester Dependencies - -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: - ----- -apt-get install \ - dbus \ - tcpdump \ - sqlite3 \ - python3 \ - python3-yaml \ - python3-mako \ - python3-gi \ - ofono \ - patchelf \ - sudo \ - libcap2-bin \ - python3-pip -pip3 install pydbus -pip3 install git+git://github.com/podshumok/python-smpplib.git ----- - -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 <>. - -To run osmo-bts-trx with a USRP attached, you may need to install a UHD driver. -Please refer to http://osmocom.org/projects/osmotrx/wiki/OsmoTRX#UHD for -details; the following is an example for the B200 family USRP devices: - ----- -apt-get install libuhd-dev uhd-host -/usr/lib/uhd/utils/uhd_images_downloader.py ----- +The Trial Builder is the jenkins build slave (host) building all sysroot binary +packages used later by {app-name} to run the tests. It's purpose is to build the +sysroots and provide them to {app-anme}, for instance, as jenkins job artifacts +which the {app-name} runner job can fetch. [[jenkins_deps]] ==== Osmocom Build Dependencies @@ -56,11 +18,109 @@ osmo-bts-sysmo build needs the sysmoBTS SDK installed on the build slave, which should match the installed sysmoBTS firmware. +==== Add Build Jobs + +There are various jenkins-build-* scripts in osmo-gsm-tester/contrib/, which +can be called as jenkins build jobs to build and bundle binaries as artifacts, +to be run on the osmo-gsm-tester main unit and/or BTS hardware. + +Be aware of the dependencies, as hinted at in <>. + +While the various binaries could technically be built on the osmo-gsm-tester +main unit, it is recommended to use a separate build slave, to take load off +of the main unit. + +Please note nowadays we set up all the osmocom jenkins jobs (including +{app-name} ones) using 'jenkins-job-builder'. You can find all the +configuration's in Osmocom's 'osmo-ci.git' files 'jobs/osmo-gsm-tester-*.yml. +Explanation below on how to set up jobs manually is left as a reference for +other projects. + +On your jenkins master, set up build jobs to call these scripts -- typically +one build job per script. Look in contrib/ and create one build job for each of +the BTS types you would like to test, as well as one for the 'build-osmo-nitb'. + +These are generic steps to configure a jenkins build +job for each of these build scripts, by example of the +jenkins-build-osmo-nitb.sh script; all that differs to the other scripts is the +"osmo-nitb" part: + +* 'Project name': "osmo-gsm-tester_build-osmo-nitb" + + (Replace 'osmo-nitb' according to which build script this is for) +* 'Discard old builds' + + Configure this to taste, for example: +** 'Max # of build to keep': "20" +* 'Restrict where this project can be run': Choose a build slave label that + matches the main unit's architecture and distribution, typically a Debian + system, e.g.: "linux_amd64_debian8" +* 'Source Code Management': +** 'Git' +*** 'Repository URL': "git://git.osmocom.org/osmo-gsm-tester" +*** 'Branch Specifier': "*/master" +*** 'Additional Behaviors' +**** 'Check out to a sub-directory': "osmo-gsm-tester" +* 'Build Triggers' + + The decision on when to build is complex. Here are some examples: +** Once per day: + + 'Build periodically': "H H * * *" +** For the Osmocom project, the purpose is to verify our software changes. + Hence we would like to test every time our code has changed: +*** We could add various git repositories to watch, and enable 'Poll SCM'. +*** On jenkins.osmocom.org, we have various jobs that build the master branches + of their respective git repositories when a new change was merged. Here, we + can thus trigger e.g. an osmo-nitb build for osmo-gsm-tester everytime the + master build has run: + + 'Build after other projects are built': "OpenBSC" +*** Note that most of the Osmocom projects also need to be re-tested when their + dependencies like libosmo* have changed. Triggering on all those changes + typically causes more jenkins runs than necessary: for example, it rebuilds + once per each dependency that has rebuilt due to one libosmocore change. + There is so far no trivial way known to avoid this. It is indeed safest to + rebuild more often. +* 'Build' +** 'Execute Shell' ++ +---- +#!/bin/sh +set -e -x +./osmo-gsm-tester/contrib/jenkins-build-osmo-nitb.sh +---- ++ +(Replace 'osmo-nitb' according to which build script this is for) + +* 'Post-build Actions' +** 'Archive the artifacts': "*.tgz, *.md5" + + (This step is important to be able to use the built binaries in the run job + below.) + + +TIP: When you've created one build job, it is convenient to create further +build jobs by copying the first one and, e.g., simply replacing all "osmo-nitb" +with "osmo-bts-trx". + +[[install_main_unit]] +=== Main Unit + +The main unit is a general purpose computer that orchestrates the tests. It +runs the core network components, controls the modems and so on. This can be +anything from a dedicated production rack unit to your laptop at home. + +This manual will assume that tests are run from a jenkins build slave, by a user +named 'jenkins' that belongs to group 'osmo-gsm-tester'. The user configuration +for manual test runs and/or a different user name is identical, simply replace +the user name or group. + +Please, note installation steps and dependencies needed will depend on lots of +factors, like your distribution, your specific setup, which hardware you plan to +support, etc. + +This section aims at being one place to document the rationale behind certain +configurations being done in one way or another. For an up to date step by step +detailed way to install and maintain the Osmocom {app-name} setup, one will want +to look at the <>. [[configure_jenkins_slave]] -=== Jenkins Build and Run Slave - -==== Create 'jenkins' User on Main Unit +==== Create 'jenkins' User On the main unit, create a jenkins user: @@ -176,81 +236,6 @@ The build slave should be able to start now. - -==== Add Build Jobs - -There are various jenkins-build-* scripts in osmo-gsm-tester/contrib/, which -can be called as jenkins build jobs to build and bundle binaries as artifacts, -to be run on the osmo-gsm-tester main unit and/or BTS hardware. - -Be aware of the dependencies, as hinted at in <>. - -While the various binaries could technically be built on the osmo-gsm-tester -main unit, it is recommended to use a separate build slave, to take load off -of the main unit. - -On your jenkins master, set up build jobs to call these scripts -- typically -one build job per script. Look in contrib/ and create one build job for each of -the BTS types you would like to test, as well as one for the 'build-osmo-nitb'. - -These are generic steps to configure a jenkins build -job for each of these build scripts, by example of the -jenkins-build-osmo-nitb.sh script; all that differs to the other scripts is the -"osmo-nitb" part: - -* 'Project name': "osmo-gsm-tester_build-osmo-nitb" + - (Replace 'osmo-nitb' according to which build script this is for) -* 'Discard old builds' + - Configure this to taste, for example: -** 'Max # of build to keep': "20" -* 'Restrict where this project can be run': Choose a build slave label that - matches the main unit's architecture and distribution, typically a Debian - system, e.g.: "linux_amd64_debian8" -* 'Source Code Management': -** 'Git' -*** 'Repository URL': "git://git.osmocom.org/osmo-gsm-tester" -*** 'Branch Specifier': "*/master" -*** 'Additional Behaviors' -**** 'Check out to a sub-directory': "osmo-gsm-tester" -* 'Build Triggers' + - The decision on when to build is complex. Here are some examples: -** Once per day: + - 'Build periodically': "H H * * *" -** For the Osmocom project, the purpose is to verify our software changes. - Hence we would like to test every time our code has changed: -*** We could add various git repositories to watch, and enable 'Poll SCM'. -*** On jenkins.osmocom.org, we have various jobs that build the master branches - of their respective git repositories when a new change was merged. Here, we - can thus trigger e.g. an osmo-nitb build for osmo-gsm-tester everytime the - master build has run: + - 'Build after other projects are built': "OpenBSC" -*** Note that most of the Osmocom projects also need to be re-tested when their - dependencies like libosmo* have changed. Triggering on all those changes - typically causes more jenkins runs than necessary: for example, it rebuilds - once per each dependency that has rebuilt due to one libosmocore change. - There is so far no trivial way known to avoid this. It is indeed safest to - rebuild more often. -* 'Build' -** 'Execute Shell' -+ ----- -#!/bin/sh -set -e -x -./osmo-gsm-tester/contrib/jenkins-build-osmo-nitb.sh ----- -+ -(Replace 'osmo-nitb' according to which build script this is for) - -* 'Post-build Actions' -** 'Archive the artifacts': "*.tgz, *.md5" + - (This step is important to be able to use the built binaries in the run job - below.) - - -TIP: When you've created one build job, it is convenient to create further -build jobs by copying the first and, e.g., simply replacing all "osmo-nitb" -with "osmo-bts-trx". - ==== Add Run Job This is the jenkins job that runs the tests on the GSM hardware: @@ -258,6 +243,15 @@ * It sources the artifacts from jenkins' build jobs. * It runs on the osmo-gsm-tester main unit. +Sample script to run {app-name} as a jenkins job can be found in +'osmo-gsm-tester.git' file 'contrib/jenkins-run.sh'. + +Please note nowadays we set up all the osmocom jenkins jobs (including +{app-name} ones) using 'jenkins-job-builder'. You can find all the +configuration's in Osmocom's 'osmo-ci.git' files 'jobs/osmo-gsm-tester-*.yml. +Explanation below on how to set up jobs manually is left as a reference for +other projects. + Here is the configuration for the run job: * 'Project name': "osmo-gsm-tester_run" @@ -330,10 +324,47 @@ and 'trial-N-bin.tgz' archives are produced by the 'jenkins-run.sh' script, both for successful and failing runs. -=== Install osmo-gsm-tester on Main Unit +==== Install osmo-gsm-tester 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: + +---- +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 +pip3 install \ + "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" \ + pydbus \ + pyusb \ + pysispm +---- + +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 <>. + ==== User Permissions On the main unit, create a group for all users that should be allowed to use @@ -350,8 +381,6 @@ A user added to a group needs to re-login for the group permissions to take effect. -This group needs the following permissions: - ===== Paths Assuming that you are using the example config, prepare a system wide state @@ -384,7 +413,7 @@ to access the org.ofono DBus path: ---- -cat > /etc/dbus-1/system.d/osmo-gsm-tester.conf < /etc/dbus-1/system.d/osmo-gsm-tester.conf < @@ -402,6 +431,21 @@ (No restart of dbus nor ofono necessary.) +[[install_slave_unit]] +=== Slave Unit(s) + +The slave units are the hosts used by {app-name} to run proceses on. It may be +the <> itself and processes will be run locally, or +it may be a remote host were processes are run usually through SSH. + +This guide assumes slaves unit(s) use same configuration as the Main Unit, that +is, it runs under 'jenkins' user which is a member of the 'osmo-gsm-tester' user +group. In order to do so, follow the instruction under the +<> section above. Keep in mind the 'jenkins' user +on the Main Unit will need to be able to log in through SSH as the slave unit +'jenkins' user to run the processes. No direct access from Jenkins Master node +is required here. + [[install_capture_packets]] ===== Capture Packets @@ -464,6 +508,10 @@ sysctl -w kernel.core_pattern=core ---- +TIP: Files required to be installed under '/etc/security/limits.d/' can be found +under 'osmo-gsm-tester.git/utils/limits.d/', so one can simply cp them from +there. + ===== Allow Realtime Priority Certain binaries should be run with real-time priority, like 'osmo-bts-trx'. @@ -476,25 +524,20 @@ Re-login the user to make these changes take effect. -[[user_config_uhd]] -===== UHD +TIP: Files required to be installed under '/etc/security/limits.d/' can be found +under 'osmo-gsm-tester.git/utils/limits.d/', so one can simply cp them from +there. -Grant permission to use the UHD driver to run USRP devices for osmo-bts-trx, by -adding the jenkins user to the 'usrp' group: - ----- -gpasswd -a jenkins usrp ----- - -===== Allow CAP_NET_RAW capability +===== Allow capabilities: 'CAP_NET_RAW', 'CAP_NET_ADMIN', 'CAP_SYS_ADMIN' Certain binaries require 'CAP_NET_RAW' to be set, like 'osmo-bts-octphy' as it -uses a 'AF_PACKET' socket. +uses a 'AF_PACKET' socket. Similarly, others (like osmo-ggsn) require +'CAP_NET_ADMIN' to be able to create tun devices, and so on. To be able to set the following capability without being root, osmo-gsm-tester uses sudo to gain permissions to set the capability. -This is the script that osmo-gsm-tester expects on the main unit: +This is the script that osmo-gsm-tester expects on the host running the process: ---- echo /usr/local/bin/osmo-gsm-tester_setcap_net_raw.sh <>. - - -== Hardware Choice and Configuration - -=== SysmoBTS - -To use the SysmoBTS in the osmo-gsm-tester, the following systemd services must -be disabled: - ----- -systemctl mask osmo-nitb osmo-bts-sysmo osmo-pcu sysmobts-mgr ----- - -This stops the stock setup keeping the BTS in operation and hence allows the -osmo-gsm-tester to install and launch its own versions of the SysmoBTS -software. - -==== IP Address - -To ensure that the SysmoBTS is always reachable at a fixed known IP address, -configure the eth0 to use a static IP address: - -Adjust '/etc/network/interfaces' and replace the line - ----- -iface eth0 inet dhcp ----- - -with - ----- -iface eth0 inet static - address 10.42.42.114 - netmask 255.255.255.0 - gateway 10.42.42.1 ----- - -You may set the name server in '/etc/resolve.conf' (most likely to the IP of -the gateway), but this is not really needed by the osmo-gsm-tester. - -==== Allow Core Files - -In case a binary run for the test crashes, a core file of the crash should be -written. This requires a limits rule. Append a line to /etc/limits like: - ----- -ssh root at 10.42.42.114 -echo "* C16384" >> /etc/limits ----- - -==== Reboot - -Reboot the BTS and make sure that the IP address for eth0 is now indeed -10.42.42.114, and that no osmo* programs are running. - ----- -ip a -ps w | grep osmo ----- - -==== SSH Access - -Make sure that the jenkins user on the main unit is able to login on the -sysmoBTS, possibly erasing outdated host keys after a new rootfs was loaded: - -On the main unit, for example do: - ----- -su - jenkins -ssh root at 10.42.42.114 ----- - -Fix any problems until you get a login on the sysmoBTS. - - -[[hardware_modems]] -=== Modems - -TODO: describe modem choices and how to run ofono - -[[hardware_trx]] -=== osmo-bts-trx - -TODO: describe B200 family diff --git a/doc/manuals/chapters/install_device.adoc b/doc/manuals/chapters/install_device.adoc new file mode 100644 index 0000000..60c3936 --- /dev/null +++ b/doc/manuals/chapters/install_device.adoc @@ -0,0 +1,82 @@ +== Hardware Choice and Configuration + +=== SysmoBTS + +To use the SysmoBTS in the osmo-gsm-tester, the following systemd services must +be disabled: + +---- +systemctl mask osmo-nitb osmo-bts-sysmo osmo-pcu sysmobts-mgr +---- + +This stops the stock setup keeping the BTS in operation and hence allows the +osmo-gsm-tester to install and launch its own versions of the SysmoBTS +software. + +==== IP Address + +To ensure that the SysmoBTS is always reachable at a fixed known IP address, +configure the eth0 to use a static IP address: + +Adjust '/etc/network/interfaces' and replace the line + +---- +iface eth0 inet dhcp +---- + +with + +---- +iface eth0 inet static + address 10.42.42.114 + netmask 255.255.255.0 + gateway 10.42.42.1 +---- + +You may set the name server in '/etc/resolve.conf' (most likely to the IP of +the gateway), but this is not really needed by the osmo-gsm-tester. + +==== Allow Core Files + +In case a binary run for the test crashes, a core file of the crash should be +written. This requires a limits rule. Append a line to /etc/limits like: + +---- +ssh root at 10.42.42.114 +echo "* C16384" >> /etc/limits +---- + +==== Reboot + +Reboot the BTS and make sure that the IP address for eth0 is now indeed +10.42.42.114, and that no osmo* programs are running. + +---- +ip a +ps w | grep osmo +---- + +==== SSH Access + +Make sure that the jenkins user on the main unit is able to login on the +sysmoBTS, possibly erasing outdated host keys after a new rootfs was loaded: + +On the main unit, for example do: + +---- +su - jenkins +ssh root at 10.42.42.114 +---- + +Fix any problems until you get a login on the sysmoBTS. + + +[[hardware_modems]] +=== Modems + +TODO: describe modem choices and how to run ofono + +[[hardware_trx]] +=== osmo-bts-trx + +TODO: describe B200 family diff --git a/doc/manuals/chapters/intro.adoc b/doc/manuals/chapters/intro.adoc index 14daba4..9b7131d 100644 --- a/doc/manuals/chapters/intro.adoc +++ b/doc/manuals/chapters/intro.adoc @@ -1,31 +1,56 @@ -== Introduction with Examples +== Introduction -The osmo-gsm-tester is software to run automated tests of real GSM hardware, +{app-name} is a software to run automated tests on real GSM hardware, foremost to verify that ongoing Osmocom software development continues to work -with various BTS models, while being flexibly configurable and extendable. +with various BTS models, while being flexibly configurable and extendable to +work for other technologies, setups and projects. It can be used for instance to +test a 3G or 4G network. -A 'main unit' (general purpose computer) is connected via ethernet and/or USB to -any number of BTS models and to any number of GSM modems via USB. The modems -and BTS instances' RF transceivers are typically wired directly to each other -via RF distribution chambers to bypass the air medium and avoid disturbing real -production cellular networks. Furthermore, the setup may include adjustable RF -attenuators to model various distances between modems and base stations. +{app-name} (python3 process) runs on a host (general purpose computer) named +the 'main unit'. It may optionally be connected to any number of 'slave units', +which {app-name} may use to orchestrate processes remotely, usually through SSH. -The osmo-gsm-tester software runs on the main unit to orchestrate the various -GSM hardware and run predefined test scripts. It typically receives binary -packages from a jenkins build service. It then automatically configures and -launches an Osmocom core network on the main unit and sets up and runs BTS -models as well as modems to form a complete ad-hoc GSM network. On this setup, -predefined test suites, combined with various scenario definitions, are run to -verify stability of the system. +Hardware devices such as BTS, SDRs, modems, smart plugs, etc. are then connected +to either the main unit or slaves units via IP, raw ethernet, USB or any other +means? -The osmo-gsm-tester is implemented in Python (version 3). It uses the ofono -daemon to control the modems connected via USB. BTS software is either run -directly on the main unit (e.g. for osmo-bts-trx, osmo-bts-octphy), run via SSH -(e.g. for a sysmoBTS) or assumed to run on a connected BTS model (e.g. for -ip.access nanoBTS). +The modems and BTS instances' RF transceivers are typically wired directly to +each other via RF distribution chambers to bypass the air medium and avoid +disturbing real production cellular networks. Furthermore, the setup may include +adjustable RF attenuators to model various distances between modems and base +stations. -.Typical osmo-gsm-tester setup +Each of these devices, having each a different physical setup and configuration, +supported features, attributes, etc., is referred in {app-name} terminology as a +_resource_. Each _resource_ is an instance of _resource class_. A +_resource_class_ may be for instance a _modem_ or a _bts_. For instance, an +{app-name} setup may have 2 _modem_ instances and 1 _bts_ instances. Each of +these _resources_ are listed and described in configuration files passed to +{app-name}, which maintains a pool of _resources_ (available, in use, etc.). + +{app-name} typically receives from a jenkins build service the software or +firmware binary packages to be used and tested. {app-name} then launches a +specific set of testsuites which, in turn, contain each a set of python test +scripts. Each test uses the _testenv_ API provided by {app-name} to configure, +launch and manage the different nodes and processes from the provided binary +packages to form a complete ad-hoc GSM network. + +Testsuites themselves contain configuration files to list how many resources it +requires to run its tests. It also provides means to _filter_ which kind of +_resources_ will be needed based on their attributes. This allows, for instance, +asking {app-name} to provide a _modem_ supporting GPRS, or to provide a specific +model of _bts_ such as a nanoBTS. Testsuites also allow receiving _modifiers_, +which overwrite some of the default values that {app-name} itself or different +_resources_ use. + +Moreover, one may want to run the same testsuite several tiems, each with +different set of _resources_. For instance, one may want to run a testsuite with +a sysmoBTS and later with a nanoBTS. This is supported by leaving the testsuite +configuration generic enough and then passing _scenarios_ to it, which allow +applying extra _filters_ or _modifiers_. Scenarios can also be combined to +filter further or to apply further modifications. + +.Sample osmo-gsm-tester node 2G setup [graphviz] ---- digraph G { @@ -35,8 +60,8 @@ label = "GSM Hardware"; style=dotted - modem0 [shape=box label="Modems..."] - modem1 [shape=box label="Modems..."] + modem0 [shape=box label="Modem (Quectel EC20)"] + modem1 [shape=box label="Modems (SierraWireless MC7455)"] osmo_bts_sysmo [label="sysmocom sysmoBTS\nrunning osmo-bts-sysmo" shape=box] B200 [label="Ettus B200" shape=box] sysmoCell5K [label="sysmocom sysmoCell5000" shape=box] @@ -46,13 +71,16 @@ {modem0 modem1 osmo_bts_sysmo B200 octphy nanoBTS sysmoCell5K}->rf_distribution [dir=both arrowhead="curve" arrowtail="curve"] } + subgraph cluster_slave_unit { + label = "Slave Unit" + osmo_trx [label="osmo-trx"] + } subgraph cluster_main_unit { label = "Main Unit" osmo_gsm_tester [label="Osmo-GSM-Tester\ntest suites\n& scenarios"] subgraph { rank=same ofono [label="ofono daemon"] - osmo_trx [label="osmo-trx"] osmo_bts_trx [label="osmo-bts-trx"] osmo_bts_octphy [label="osmo-bts-octphy"] OsmoNITB [label="BSC + Core Network\n(Osmo{NITB,MSC,BSC,HLR,...})"] @@ -62,339 +90,15 @@ jenkins->osmo_gsm_tester [label="trial\n(binaries)"] osmo_gsm_tester->jenkins [label="results"] - ofono->{modem0 modem1} [label="USB"] + ofono->{modem0 modem1} [label="QMI/USB"] osmo_gsm_tester->{OsmoNITB osmo_bts_trx osmo_bts_octphy} - osmo_gsm_tester->osmo_bts_sysmo [taillabel="SSH"] + osmo_gsm_tester->{osmo_trx, osmo_bts_sysmo} [taillabel="SSH"] osmo_gsm_tester->ofono [taillabel="DBus"] - osmo_trx->B200 [label="USB"] - osmo_bts_trx->{osmo_trx sysmoCell5K} [dir=both label="UDP"] + osmo_trx->B200 [label="UHD/USB"] + osmo_bts_trx->{osmo_trx sysmoCell5K} [dir=both label="TRXC+TRXD/UDP"] osmo_bts_octphy->octphy [label="raw eth"] {osmo_bts_sysmo nanoBTS}->OsmoNITB [label="IP"] {B200 octphy}->OsmoNITB [label="eth" style=invis] {osmo_bts_trx osmo_bts_octphy}->OsmoNITB } ---- - -.Example of how to select resources and configurations: scenarios may pick specific resources (here BTS and ARFCN), remaining requirements are picked as available (here two modems and a NITB interface) -[graphviz] ----- -digraph G { - rankdir=TB; - - suite_scenarios [label="Suite+Scenarios selection\nsms:sysmo+band1800"] - - subgraph { - rank=same; - suite - scenarios - } - - subgraph cluster_scenarios { - label = "Scenarios"; - u_sysmoBTS [label="Scenario: sysmo\nbts: type: osmo-bts-sysmo"] - u_trx [label="Scenario: trx\nbts: type: osmo-bts-trx"] - u_arfcn [label="Scenario: band1800\narfcn: band: GSM-1800"] - } - - subgraph cluster_suite { - label = "Suite: sms"; - requires [label="Requirements (suite.conf):\nmodem: times: 2\nbts\nip_address\narfcn"] - subgraph cluster_tests { - label = "Test Scripts (py)"; - mo_mt_sms - etc - } - } - - subgraph cluster_resources { - label = "Resources"; - rankdir=TB; - nitb_addr1 [label="NITB interface addr\n10.42.42.1"] - nitb_addr2 [label="NITB interface addr\n10.42.42.2"] - Modem0 - Modem1 - Modem2 - sysmoBTS [label="osmo-bts-sysmo"] - osmo_bts_trx [label="osmo-bts-trx"] - arfcn1 [label="arfcn: 512\nband: GSM-1800"] - arfcn2 [label="arfcn: 540\nband: GSM-1900"] - - arfcn1->arfcn2 [style=invis] - nitb_addr1->nitb_addr2 [style=invis] - Modem0 -> Modem1 -> Modem2 [style=invis] - sysmoBTS -> osmo_bts_trx [style=invis] - } - - suite_scenarios -> {suite scenarios} - scenarios -> { u_arfcn u_sysmoBTS } - - suite -> requires - requires -> Modem0 - requires -> Modem1 - requires -> sysmoBTS - requires -> arfcn1 - requires -> nitb_addr1 - - { u_sysmoBTS u_arfcn } -> requires [label="influences\nresource\nselection"] -} ----- - -.Example of a "trial" containing binaries built by a jenkins -[graphviz] ----- -digraph G { - subgraph cluster_trial { - label = "Trial (binaries)" - sysmo [label="osmo-bts-sysmo.build-23.tgz\n(osmo-bts-sysmo\n+ deps\ncompiled for sysmoBTS)"] - trx [label="osmo-bts.build-5.tgz\n(osmo-bts-octphy + osmo-bts-trx\n+ deps\ncompiled for main unit)"] - nitb [label="osmo-nitb.build-42.tgz\n(osmo-nitb\n+ deps\ncompiled for main unit)"] - checksums [label="checksums.md5"] - - checksums -> {sysmo trx nitb} - } -} ----- - -=== Typical Test Script - -A typical single test script (part of a suite) may look like this: - ----- -#!/usr/bin/env python3 -from osmo_gsm_tester.testenv import * - -hlr = suite.hlr() -bts = suite.bts() -mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr()) -msc = suite.msc(hlr, mgcpgw) -bsc = suite.bsc(msc) -stp = suite.stp() -ms_mo = suite.modem() -ms_mt = suite.modem() - -hlr.start() -stp.start() -msc.start() -mgcpgw.start() - -bsc.bts_add(bts) -bsc.start() - -bts.start() - -hlr.subscriber_add(ms_mo) -hlr.subscriber_add(ms_mt) - -ms_mo.connect(msc.mcc_mnc()) -ms_mt.connect(msc.mcc_mnc()) - -ms_mo.log_info() -ms_mt.log_info() - -print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) -wait(msc.subscriber_attached, ms_mo, ms_mt) - -sms = ms_mo.sms_send(ms_mt) -wait(ms_mt.sms_was_received, sms) ----- - -=== Resource Resolution - -- A global configuration 'resources.conf' defines which hardware is connected to the - osmo-gsm-tester main unit. -- Each suite contains a number of test scripts. The amount of resources a test - may use is defined by the test suite's 'suite.conf'. -- Which specific modems, BTS models, NITB IP addresses etc. are made available - to a test run is typically determined by 'suite.conf' and a combination of scenario - configurations -- or picked automatically if not. - -[[resources_conf_example]] -=== Typical 'resources.conf' - -A global configuration of hardware may look like below; for details, see -<>. - ----- -ip_address: -- addr: 10.42.42.2 -- addr: 10.42.42.3 -- addr: 10.42.42.4 -- addr: 10.42.42.5 -- addr: 10.42.42.6 - -bts: -- label: sysmoBTS 1002 - type: osmo-bts-sysmo - ipa_unit_id: 1 - addr: 10.42.42.114 - band: GSM-1800 - ciphers: - - a5_0 - - a5_1 - - a5_3 - -- label: Ettus B200 - type: osmo-bts-trx - ipa_unit_id: 6 - addr: 10.42.42.50 - band: GSM-1800 - launch_trx: true - ciphers: - - a5_0 - - a5_1 - -- label: sysmoCell 5000 - type: osmo-bts-trx - ipa_unit_id: 7 - addr: 10.42.42.51 - band: GSM-1800 - trx_remote_ip: 10.42.42.112 - ciphers: - - a5_0 - - a5_1 - -- label: OCTBTS 3500 - type: osmo-bts-octphy - ipa_unit_id: 8 - addr: 10.42.42.52 - band: GSM-1800 - trx_list: - - hw_addr: 00:0c:90:2e:80:1e - net_device: eth1 - - hw_addr: 00:0c:90:2e:87:52 - net_device: eth1 - -arfcn: - - arfcn: 512 - band: GSM-1800 - - arfcn: 514 - band: GSM-1800 - - arfcn: 516 - band: GSM-1800 - - arfcn: 546 - band: GSM-1900 - - arfcn: 548 - band: GSM-1900 - -modem: -- label: sierra_1 - path: '/sierra_1' - imsi: '901700000009031' - ki: '80A37E6FDEA931EAC92FFA5F671EFEAD' - auth_algo: 'xor' - ciphers: - - a5_0 - - a5_1 - features: - - 'sms' - - 'voice' - -- label: gobi_0 - path: '/gobi_0' - imsi: '901700000009030' - ki: 'BB70807226393CDBAC8DD3439FF54252' - auth_algo: 'xor' - ciphers: - - a5_0 - - a5_1 - features: - - 'sms' ----- - -=== Typical 'suites/*/suite.conf' - -The configuration that reserves a number of resources for a test suite may look -like this: - ----- -resources: - ip_address: - - times: 1 - bts: - - times: 1 - modem: - - times: 2 - features: - - sms ----- - -It may also request e.g. specific BTS models, but this is typically left to -scenario configurations. - -=== Typical 'scenarios/*.conf' - -For a suite as above run as-is, any available resources are picked. This may be -combined with any number of scenario definitions to constrain which specific -resources should be used, e.g.: - ----- -resources: - bts: - - type: osmo-bts-sysmo ----- - -Which 'ip_address' or 'modem' is used in particular doesn't really matter, so -it can be left up to the osmo-gsm-tester to pick these automatically. - -Any number of such scenario configurations can be combined in the form -':++...', e.g. 'my_suite:sysmo+tch_f+amr'. - -=== Typical Invocations - -Each invocation of osmo-gsm-tester deploys a set of pre-compiled binaries for -the Osmocom core network as well as for the Osmocom based BTS models. To create -such a set of binaries, see <>. - -Examples for launching test trials: - -- Run the default suites (see <>) on a given set of binaries: - ----- -osmo-gsm-tester.py path/to/my-trial ----- - -- 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:scenario' 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 -l dbg -T -t mo_mt ----- - -A test script may also be run step-by-step in a python debugger, see -<>. - -=== Resource Reservation for Concurrent Trials - -While a test suite runs, the used resources are noted in a global state -directory in a reserved-resources file. This way, any number of trials may be -run consecutively without resource conflicts. Any test trial will only use -resources that are currently not reserved by any other test suite. The -reservation state is human readable. - -The global state directory is protected by a file lock to allow access by -separate processes. - -Also, the binaries from a trial are never installed system-wide, but are run -with a specific 'LD_LIBRARY_PATH' pointing at the trial's 'inst', so that -several trials can run consecutively without conflicting binary versions. For -some specific binaries which require extra permissions (such as osmo-bts-octphy -requiring 'CAP_NET_RAW'), 'patchelf' program is used to modify the binary -'RPATH' field instead because the OS dynamic linker skips 'LD_LIBRARY_PATH' for -binaries with special permissions. - -Once a test suite run is complete, all its reserved resources are torn down (if -the test scripts have not done so already), and the reservations are released -automatically. - -If required resources are unavailable, the test trial fails. For consecutive -test trials, a test run needs to either wait for resources to become available, -or test suites need to be scheduled to make sense. (*<- TODO*) diff --git a/doc/manuals/chapters/resource_pool.adoc b/doc/manuals/chapters/resource_pool.adoc new file mode 100644 index 0000000..4a56767 --- /dev/null +++ b/doc/manuals/chapters/resource_pool.adoc @@ -0,0 +1,107 @@ +== Resource Resolution + +- A global configuration <> defines which hardware is plugged to the + {app-name} setup, be it the main unit or any slave unit. This list becomes the + 'resource pool'. +- Each suite contains a number of test scripts. The amount of resources a test + may use is defined by the test suite's <>. +- Which specific modems, BTS models, NITB IP addresses etc. are made available + to a test run is typically determined by <> and a combination of <> -- or picked automatically if not. + +.Example of how to select resources and configurations: scenarios may pick specific resources (here BTS and ARFCN), remaining requirements are picked as available (here two modems and a NITB interface) +[graphviz] +---- +digraph G { + rankdir=TB; + + suite_scenarios [label="Suite+Scenarios selection\nsms:sysmo+band1800+mod-bts0-chanallocdescend"] + + subgraph { + rank=same; + suite + scenarios + defaults_conf [label="defaults.conf:\nbsc: net: encryption: a5_0"] + } + + subgraph cluster_scenarios { + label = "Scenarios"; + u_sysmoBTS [label="Scenario: sysmo\nresources: bts: type: osmo-bts-sysmo"] + u_trx [label="Scenario: trx\nresources: bts: type: osmo-bts-trx"] + u_arfcn [label="Scenario: band1800\nresources: arfcn: band: GSM-1800"] + u_chanallocdesc [label="Scenario: band1800\nmodifiers: bts: channel_allocator: descending"] + } + + subgraph cluster_suite { + label = "Suite: sms"; + requires [label="Requirements (suite.conf):\nmodem: times: 2\nbts\nip_address\narfcn"] + subgraph cluster_tests { + label = "Test mo_mt_sms.py"; + obj_nitb [label="object NITB\n(process using 10.42.42.2)"] + bts0 [label="object bts[0]"] + modem0 [label="object modem[0]"] + modem1 [label="object modem[1]"] + } + } + + subgraph cluster_resources { + label = "Available Resources (not already allocated by other Osmo-GSM-Tester instance)"; + rankdir=TB; + nitb_addrA [label="NITB interface addr\n10.42.42.1"] + nitb_addrA [label="NITB interface addr\n10.42.42.2"] + ModemA + ModemB + ModemC + sysmoBTS [label="osmo-bts-sysmo"] + osmo_bts_trx [label="osmo-bts-trx"] + arfcnA [label="arfcn: 512\nband: GSM-1800"] + arfcnB [label="arfcn: 540\nband: GSM-1900"] + + arfcnA->arfcnB [style=invis] + nitb_addrA->nitb_addrB [style=invis] + ModemA -> ModemB -> ModemC [style=invis] + sysmoBTS -> osmo_bts_trx [style=invis] + } + + suite_scenarios -> {suite scenarios} + scenarios -> { u_arfcn u_sysmoBTS u_chanallocdesc } + + suite -> requires + requires -> ModemA + requires -> ModemB + requires -> sysmoBTS + requires -> arfcnA + requires -> nitb_addrA + + { u_sysmoBTS u_arfcn } -> requires [label="influences\nresource\nselection"] + u_chanallocdesc -> bts0 [label="influences\nbts[0]\nbehavior"] + defaults_conf -> obj_nitb [label="provides default values"] +} +---- + +=== Resource Reservation for Concurrent Trials + +While a test suite runs, the used resources are noted in a global state +directory in a reserved-resources file. This way, any number of trials may be +run consecutively without resource conflicts. Any test trial will only use +resources that are currently not reserved by any other test suite. The +reservation state is human readable. + +The global state directory is protected by a file lock to allow access by +separate processes. + +Also, the binaries from a trial are never installed system-wide, but are run +with a specific 'LD_LIBRARY_PATH' pointing at the <>, so that +several trials can run consecutively without conflicting binary versions. For +some specific binaries which require extra permissions (such as osmo-bts-octphy +requiring 'CAP_NET_RAW'), 'patchelf' program is used to modify the binary +'RPATH' field instead because the OS dynamic linker skips 'LD_LIBRARY_PATH' for +binaries with special permissions. + +Once a test suite run is complete, all its reserved resources are torn down (if +the test scripts have not done so already), and the reservations are released +automatically. + +If required resources are unavailable, the test trial fails. For consecutive +test trials, a test run needs to either wait for resources to become available, +or test suites need to be scheduled to make sense. (*<- TODO*) diff --git a/doc/manuals/chapters/trial.adoc b/doc/manuals/chapters/trial.adoc index bc9fe05..4b52608 100644 --- a/doc/manuals/chapters/trial.adoc +++ b/doc/manuals/chapters/trial.adoc @@ -1,13 +1,29 @@ [[trials]] == Trial: Binaries to be Tested -A trial is a set of pre-built binaries to be tested. They are typically built +A trial is a set of pre-built sysroot archives to be tested. They are typically built by jenkins using the build scripts found in osmo-gsm-tester's source in the 'contrib/' dir, see <>. -A trial comes in the form of a directory containing a number of '*.tgz' tar -archives as well as a 'checksums.md5' file to verify the tar archives' -integrity. +A trial comes in the form of a directory containing a number of '.*tgz' tar +archives (containing different sysroots) as well as a 'checksums.md5' file to +verify the tar archives' integrity. + +.Example of a "trial" containing binaries built by a jenkins job +[graphviz] +---- +digraph G { + subgraph cluster_trial { + label = "Trial (binaries)" + sysmo [label="osmo-bts-sysmo.build-23.tgz\n(osmo-bts-sysmo\n+ deps\ncompiled for sysmoBTS)"] + trx [label="osmo-bts.build-5.tgz\n(osmo-bts-octphy + osmo-bts-trx\n+ deps\ncompiled for main unit)"] + nitb [label="osmo-nitb.build-42.tgz\n(osmo-nitb\n+ deps\ncompiled for main unit)"] + checksums [label="checksums.md5"] + + checksums -> {sysmo trx nitb} + } +} +---- When the osmo-gsm-tester is invoked to run on such a trial directory, it will create a sub directory named 'inst' and unpack the tar archives into it. @@ -28,4 +44,22 @@ * generating md5 sums for the various tar.gz containing software builds to be tested, * cleaning up after the build, * saving extra logs such as journalctl output from ofonod, -* generating a final .tar.gz file with all the logs and reports. +* generating a final .tar.gz file with all the logs and reports to store as jenkins archives. + +{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 +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. + +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 +identify the content, for instance having an incrementing version counter or a +commit hash. Hence, these example files are considered valid and will be +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. diff --git a/doc/manuals/chapters/troubleshooting.adoc b/doc/manuals/chapters/troubleshooting.adoc new file mode 100644 index 0000000..a3b5c8b --- /dev/null +++ b/doc/manuals/chapters/troubleshooting.adoc @@ -0,0 +1,15 @@ +== Troubleshooting + +=== Format: YAML, and its Drawbacks + +The general configuration format used is YAML. The stock python YAML parser +does have several drawbacks: too many complex possibilities and alternative +ways of formatting a configuration, but at the time of writing seems to be the +only widely used configuration format that offers a simple and human readable +formatting as well as nested structuring. It is recommended to use only the +exact YAML subset seen in this manual in case the osmo-gsm-tester should move +to a less bloated parser in the future. + +Careful: if a configuration item consists of digits and starts with a zero, you +need to quote it, or it may be interpreted as an octal notation integer! Please +avoid using the octal notation on purpose, it is not provided intentionally. diff --git a/doc/manuals/osmo-gsm-tester-manual-docinfo.xml b/doc/manuals/osmo-gsm-tester-manual-docinfo.xml index 923b8ad..d7b112f 100644 --- a/doc/manuals/osmo-gsm-tester-manual-docinfo.xml +++ b/doc/manuals/osmo-gsm-tester-manual-docinfo.xml @@ -21,10 +21,21 @@ Senior Developer + + Pau + Espin Pedrol + pespin at sysmocom.de + PE + + sysmocom + sysmocom - s.f.m.c. GmbH + Software Developer + + - 2017 + 2017-2020 sysmocom - s.f.m.c. GmbH diff --git a/doc/manuals/osmo-gsm-tester-manual.adoc b/doc/manuals/osmo-gsm-tester-manual.adoc index 6f0edf7..afee29b 100644 --- a/doc/manuals/osmo-gsm-tester-manual.adoc +++ b/doc/manuals/osmo-gsm-tester-manual.adoc @@ -1,20 +1,33 @@ -Osmo-GSM-Tester Manual -====================== -Neels Hofmeyr +:app-name: Osmo-GSM-Tester + +{app-name} Manual +================= +Neels Hofmeyr , Pau Espin Pedrol == WARNING: Work in Progress -*NOTE: The osmo-gsm-tester is still in pre-alpha stage: some parts are still -incomplete, and details will still change and move around.* +*NOTE: {app-name} is still under heavy development stage: some parts are still +incomplete, and details can still change and move around as new features are +added and improvements made.* include::{srcdir}/chapters/intro.adoc[] -include::{srcdir}/chapters/install.adoc[] +include::{srcdir}/chapters/trial.adoc[] include::{srcdir}/chapters/config.adoc[] -include::{srcdir}/chapters/trial.adoc[] +include::{srcdir}/chapters/resource_pool.adoc[] include::{srcdir}/chapters/test_api.adoc[] +include::{srcdir}/chapters/install.adoc[] + +include::{srcdir}/chapters/install_device.adoc[] + +include::{srcdir}/chapters/ansible.adoc[] + +include::{srcdir}/chapters/docker.adoc[] + include::{srcdir}/chapters/debugging.adoc[] + +include::{srcdir}/chapters/troubleshooting.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40 Gerrit-Change-Number: 17447 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 Mar 12 17:50:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:07 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write proper content for Docker Setup section In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17464 ) Change subject: doc/manuals: Write proper content for Docker Setup section ...................................................................... doc/manuals: Write proper content for Docker Setup section Change-Id: Ie883adbf03a3b5c9a852182c01d15a212749ce04 --- M doc/manuals/chapters/docker.adoc 1 file changed, 52 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/docker.adoc b/doc/manuals/chapters/docker.adoc index b7560e1..bc8ad00 100644 --- a/doc/manuals/chapters/docker.adoc +++ b/doc/manuals/chapters/docker.adoc @@ -1,6 +1,56 @@ [[docker]] == Docker Setup -Available in osmocom's docker-playground.git subdirectory 'osmo-gsm-tester/'. +A sample {app-name} setup based on docker containers and maintained by the +Osmocom community is available in Osmocom's git repository +link:https://git.osmocom.org/docker-playground/[docker-playground.git], under +'osmo-gsm-tester' subdirectory. In there, one can find: -//TODO: Explain more where to find, how to build, how to use. +- A 'Dockerfile' file can be found which builds a docker image which can +be used both to run as an osmo-gsm-tester <> or as +a <>. The main difference to use it as one or the +other is whether osmo-gsm-tester.py is run on it (Main Unit) or otherwise sshd +(Slave Unit). A convenience script is provided in the same directory to start +the processes just explained ('osmo-gsm-tester-{master,slave}.sh'). + +- A 'jenkins.sh' file is provided which handles all the +magic to start a Main Unit and a Slave Unit on the same docker private network +so they can interact. It also takes care on running the docker containers with +all the required permissions, mount all virtual filesystem bindings, etc. + +- A sample <> file is provided which +provides some virtual resources configured to be run on the Slave Unit. + +The 'jenkins.sh' script expects the <> to be in +'/tmp/trial', and will bind that directory to the docker Main Unit instance so +osmo-gsm-tester uses it. Hence, one must place a the trial to be run in there +before running the setup. There is yet no specific docker container available to +build trials, but one can re-use an Osmocom jenkins slave container available to +in 'docker-playground.git' in order to build them using the scripts in +'osmo-gsm-tester.git/contrib/jenkins-build-*.sh'. Alternatively, the quick way +is to get them from any of the Osmocom's {app-name} +link:https://jenkins.osmocom.org/jenkins/view/osmo-gsm-tester/[jenkins jobs], +which store them as artifacts. + +When running the whole setup through the 'jenkins.sh' script, standard out +('stdout') and standard error ('stderr') outputs for each docker container are +made available to the host running the script, under '/tmp/logs' directory. +Results generated by {app-name}'s last run can be found as usual under the trial +directory ('/tmp/trial/last_run'). + +The {app-name} git revision being checked out to build and run inside the +docker containers can be selected by setting the 'OSMO_GSM_TESTER_BRANCH' +environment variable. For instance, to install and run branch 'mybranch' in +'osmo-gsm-tester.git', one can use: +---- +export OSMO_GSM_TESTER_BRANCH=mybranch +./jenkins.sh +---- + +Specific command line parameters to be passed to {app-name} process inside the +Main Unit docker container instance can be set with the 'OSMO_GSM_TESTER_OPTS' +environment variable. For instance, to run suite '4g' with debug logging level: +---- +export OSMO_GSM_TESTER_OPTS="-s 4g -l dbg" +./jenkins.sh +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie883adbf03a3b5c9a852182c01d15a212749ce04 Gerrit-Change-Number: 17464 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 Mar 12 17:50:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:07 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write proper content for Ansible Setup section In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17465 ) Change subject: doc/manuals: Write proper content for Ansible Setup section ...................................................................... doc/manuals: Write proper content for Ansible Setup section Change-Id: Iffd3beefa50dd5f18908b4c3f7e4deb169feca62 --- M doc/manuals/chapters/ansible.adoc 1 file changed, 52 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/ansible.adoc b/doc/manuals/chapters/ansible.adoc index b672528..4c80723 100644 --- a/doc/manuals/chapters/ansible.adoc +++ b/doc/manuals/chapters/ansible.adoc @@ -1,6 +1,56 @@ [[ansible]] == Ansible Setup -Available in osmocom's osmo-ci.git subdirectory 'ansible/', see there 'gsm-tester/README.md'. +Since the set of steps to set up a full {app-name} environment can be quite long +and tedious, nowadays the Osmocom RnD and Production {app-name} setups are +installed and maintained using Ansible scripts. The set of ansible scripts is +available in Osmocom's git repository +link:https://git.osmocom.org/osmo-ci/[osmo-ci.git] under 'ansible' subdirectory, +with the rest of ansible scripts to set jenkins slaves, etc. -//TODO: Explain more where to find, how to build, how to use. +Since these set of scripts is mainly aimed at Osmocom's own setup, and debian is +used there, so far only debian hosts are supported officially, though patches to +support other distributions are welcome. + +In there, the 'setup-gsm-tester.yml' file is responsible of doing all required +steps to set up a host to become either a <> or a a +<>. The ansible file can be run as follows: +---- +$ ansible-playbook -i hosts setup-gsm-tester.yml +---- + +You will need root-alike access in the remote host in order to let ansible +install everything {app-name}, however, no root-specific user is required as +long as your remote user has sudo access on that host. If that's your case, add +the following parameters to 'ansible-playbook': +---- +$ ansible-playbook -i hosts -b -K -u your_remote_user setup-gsm-tester.yml +---- + +The 'setup-gsm-tester.yml' file is mostly an aggregator of tasks. Most +{app-name} related tasks can be found under subdirectory 'roles/gsm-tester-*'. + +Since different (for instance Production vs RnD) can have different +characteristics, some per-host variables can be found under directory +host_vars/, specifying for instance the number of expected modems attached to +the Main Unit, the DHCP server static leasing for devices, etc. + +The different tasks usually have tags to differentiate which kind of {app-name} +host they are required by. They are also set to differentiate sets of tasks +required if a specific feature is being used in the host (for instance, willing +to manage modems with ofono). This allows playing with the '-t' and +'--skip-tags' when running 'ansible-playbooks' in order to run specific set of +tasks on each host. + +For instance, to run tasks required to set up a Slave Unit, one can run: +---- +$ ansible-playbook -i hosts setup-gsm-tester.yml -t osmo-gsm-tester-proc +---- + +To run all modem-related tasks: +---- +$ ansible-playbook -i hosts setup-gsm-tester.yml -t modem +---- + +Don't forget to read all README.md files available in different subdirectories +to find out more detailed information on how to run the scripts. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iffd3beefa50dd5f18908b4c3f7e4deb169feca62 Gerrit-Change-Number: 17465 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 Mar 12 17:50:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 17:50:07 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Write section explaining parametrized scenarios In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466 ) Change subject: doc/manuals: Write section explaining parametrized scenarios ...................................................................... doc/manuals: Write section explaining parametrized scenarios Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c --- M doc/manuals/chapters/config.adoc 1 file changed, 43 insertions(+), 0 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 bb0cec2..a8bb958 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -387,6 +387,49 @@ my_suite:sysmo+tch_f+amr ---- +*_Parametrized scenario conf files_*: + +Furthermore, scenario '.conf' files can be parametrized. The concept is similar to that +of systemd's Template Unit Files. That is, an scenario file can be written so +that some values inside it can be passed at the time of referencing the +scenario name. The idea behind its existence is to re-use the same +scenario file for a set of attributes which are changed and that can have a lot +of different values. For instance, if a scenario is aimed at setting or +filtering some specific attribute holding an integer value, without parametrized +scenarios then a separate file would be needed for each value the user wanted to use. + +A parametrized scenario file, similar to systemd Template Unit Files, +contain the character '@' in their file name, ie follow the syntax below: +---- +scenario-name at param1,param2,param3,[...],paramN.conf +---- + +Then, its content can be written this way: +---- +$ cat $scenario_dir/my-parametrized-scenario at .conf +resources: + enb: + - type: srsenb + rf_dev_type: ${param1} +modifiers: + enb: + - num_prb: ${param2} +---- + +Finally, it can be referenced during {app-name} execution this wya, for instance when running a suite named '4g': +---- +- 4g:my-parametrized-scenario at UHD,6 +---- +This way {app-name} when parsing the scenarios and combining them with the suite will:: +. Find out it is parametrized (name contains '@'). +. Split the name + ('my-parametrized-scenario') from the parameter list (param1='UHD', param2='6') +. Attempt to match a '.conf' file fully matching name and parameters (hence + specific content can be set for specific values while still using parameters + for general values), and otherwise match only by name. +. Generate the final + scenario content from the template available in the matched '.conf' file. + [[resources_conf]] ==== 'resources.conf' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c Gerrit-Change-Number: 17466 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 Mar 12 18:10:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 18:10:31 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17475 ) Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... radioDevice: Drop unused RSSI param from readSamples API The out "RSSI" parameter is only filled by USRPDevice, and not used at all by any user of the API (radioInterface*.cpp). RSSI seems to be computed nowadays in the common path in Transceiver::pullRadioVector(). Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 --- 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 7 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/75/17475/1 diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index 26903e8..7ca3f00 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -81,8 +81,7 @@ @return The number of samples actually read */ virtual int readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp = 0xffffffff, bool *underrun = 0, - unsigned *RSSI = 0) = 0; + TIMESTAMP timestamp = 0xffffffff, bool *underrun = 0) = 0; /** Write samples to the radio. @param buf Contains the data to be written. diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 884cc28..0cd8002 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -739,7 +739,7 @@ // NOTE: Assumes sequential reads int LMSDevice::readSamples(std::vector < short *>&bufs, int len, bool * overrun, - TIMESTAMP timestamp, bool * underrun, unsigned *RSSI) + TIMESTAMP timestamp, bool * underrun) { int rc, num_smpls, expect_smpls; ssize_t avail_smpls; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 755f6c4..60b88fa 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -111,7 +111,7 @@ */ int readSamples(std::vector < short *>&buf, int len, bool * overrun, TIMESTAMP timestamp = 0xffffffff, bool * underrun = - NULL, unsigned *RSSI = NULL); + NULL); /** Write samples to the LMS. @param buf Contains the data to be written. diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 5d267c8..ddb6631 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -721,7 +721,7 @@ } int uhd_device::readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) + TIMESTAMP timestamp, bool *underrun) { ssize_t rc; uhd::time_spec_t ts; diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index d485a8e..4809b25 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -74,7 +74,7 @@ enum TxWindowType getWindowType() { return tx_window; } int readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp, bool *underrun, unsigned *RSSI); + TIMESTAMP timestamp, bool *underrun); int writeSamples(std::vector &bufs, int len, bool *underrun, TIMESTAMP timestamp, bool isControl); diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 766a228..5eaca07 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -365,7 +365,7 @@ // NOTE: Assumes sequential reads int USRPDevice::readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) + TIMESTAMP timestamp, bool *underrun) { #ifndef SWLOOPBACK if (!m_uRx) @@ -433,8 +433,10 @@ *underrun = true; LOGC(DDEV, DEBUG) << "UNDERRUN in TRX->USRP interface"; } - if (RSSI) *RSSI = (word0 >> 21) & 0x3f; - +#if 0 + /* FIXME: Do something with this ? */ + unsigned RSSI = (word0 >> 21) & 0x3f; +#endif if (!isAligned) continue; unsigned cursorStart = pktTimestamp - timeStart + dataStart; diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 47f2a43..35dcd55 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -121,8 +121,7 @@ @return The number of samples actually read */ int readSamples(std::vector &buf, int len, bool *overrun, - TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL, - unsigned *RSSI = NULL); + TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL); /** Write samples to the USRP. @param buf Contains the data to be written. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 Gerrit-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 Mar 12 18:37:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 18:37:04 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 to look at the new patch set (#2). Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... radioDevice: Drop unused RSSI param from readSamples API The out "RSSI" parameter is only filled by USRPDevice, and not used at all by any user of the API (radioInterface*.cpp). RSSI seems to be computed nowadays in the common path in Transceiver::pullRadioVector(). Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 --- 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 7 files changed, 11 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/75/17475/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 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 Mar 12 18:37:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Mar 2020 18:37:05 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused isControl param from WriteSamples API References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17476 ) Change subject: radioDevice: Drop unused isControl param from WriteSamples API ...................................................................... radioDevice: Drop unused isControl param from WriteSamples API The out "isControl" parameter is only used by internal callers of USRPDevice, and not used at all by any user of the generic API (radioInterface*.cpp). Hence, we can get rid of it and keep it as a flag for an internal API of USRPDevice. Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 --- 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 7 files changed, 18 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/76/17476/1 diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index c504b3a..0dc38d5 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -87,11 +87,10 @@ @param len number of samples to write. @param underrun Set if radio does not have data to transmit, e.g. data not being sent fast enough @param timestamp The timestamp of the first sample of the data buffer. - @param isControl Set if data is a control packet, e.g. a ping command @return The number of samples actually written */ virtual int writeSamples(std::vector &bufs, int len, bool *underrun, - TIMESTAMP timestamp, bool isControl = false) = 0; + TIMESTAMP timestamp) = 0; /** Update the alignment between the read and write timestamps */ virtual bool updateAlignment(TIMESTAMP timestamp)=0; diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 0cd8002..932817d 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -858,8 +858,7 @@ } int LMSDevice::writeSamples(std::vector < short *>&bufs, int len, - bool * underrun, unsigned long long timestamp, - bool isControl) + bool * underrun, unsigned long long timestamp) { int rc = 0; unsigned int i; @@ -868,11 +867,6 @@ tx_metadata.waitForTimestamp = true; tx_metadata.timestamp = timestamp - ts_offset; /* Shift Tx time by offset */ - if (isControl) { - LOGC(DDEV, ERROR) << "Control packets not supported"; - return 0; - } - if (bufs.size() != chans) { LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); return -1; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index c2fd2f6..5b6330a 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -117,12 +117,10 @@ @param len number of samples to write. @param underrun Set if LMS does not have data to transmit, e.g. data not being sent fast enough @param timestamp The timestamp of the first sample of the data buffer. - @param isControl Set if data is a control packet, e.g. a ping command @return The number of samples actually written */ int writeSamples(std::vector < short *>&bufs, int len, bool * underrun, - TIMESTAMP timestamp = 0xffffffff, bool isControl = - false); + TIMESTAMP timestamp = 0xffffffff); /** Update the alignment between the read and write timestamps */ bool updateAlignment(TIMESTAMP timestamp); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index ddb6631..ad56250 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -804,7 +804,7 @@ } int uhd_device::writeSamples(std::vector &bufs, int len, bool *underrun, - unsigned long long timestamp,bool isControl) + unsigned long long timestamp) { uhd::tx_metadata_t metadata; metadata.has_time_spec = true; @@ -814,12 +814,6 @@ *underrun = false; - // No control packets - if (isControl) { - LOGC(DDEV, ERROR) << "Control packets not supported"; - return 0; - } - if (bufs.size() != chans) { LOGC(DDEV, ALERT) << "Invalid channel combination " << bufs.size(); return -1; diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 4809b25..1e66246 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -77,7 +77,7 @@ TIMESTAMP timestamp, bool *underrun); int writeSamples(std::vector &bufs, int len, bool *underrun, - TIMESTAMP timestamp, bool isControl); + TIMESTAMP timestamp); bool updateAlignment(TIMESTAMP timestamp); diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 5eaca07..1a9a7e1 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -515,9 +515,8 @@ #endif } -int USRPDevice::writeSamples(std::vector &bufs, int len, - bool *underrun, unsigned long long timestamp, - bool isControl) +int USRPDevice::writeSamplesControl(std::vector &bufs, int len, + bool *underrun, unsigned long long timestamp, bool isControl) { writeLock.lock(); @@ -571,6 +570,12 @@ #endif } +int USRPDevice::writeSamples(std::vector &bufs, int len, + bool *underrun, unsigned long long timestamp) +{ + return writeSamplesControl(bufs, len, underrun, timestamp, false); +} + bool USRPDevice::updateAlignment(TIMESTAMP timestamp) { #ifndef SWLOOPBACK @@ -580,7 +585,7 @@ bool tmpUnderrun; std::vector buf(1, data); - if (writeSamples(buf, 1, &tmpUnderrun, timestamp & 0x0ffffffffll, true)) { + if (writeSamplesControl(buf, 1, &tmpUnderrun, timestamp & 0x0ffffffffll, true)) { pingTimestamp = timestamp; return true; } diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 0cf5ec3..a4a0886 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -82,6 +82,9 @@ double rxGain; double txGain; + int writeSamplesControl(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff, bool isControl = false); + #ifdef SWLOOPBACK short loopbackBuffer[1000000]; int loopbackBufferSize; @@ -127,11 +130,10 @@ @param len number of samples to write. @param underrun Set if USRP does not have data to transmit, e.g. data not being sent fast enough @param timestamp The timestamp of the first sample of the data buffer. - @param isControl Set if data is a control packet, e.g. a ping command @return The number of samples actually written */ int writeSamples(std::vector &bufs, int len, bool *underrun, - TIMESTAMP timestamp = 0xffffffff, bool isControl = false); + TIMESTAMP timestamp = 0xffffffff); /** Update the alignment between the read and write timestamps */ bool updateAlignment(TIMESTAMP timestamp); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 Gerrit-Change-Number: 17476 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 13 01:37:26 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Mar 2020 01:37:26 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5e6ae3e06a9de_54ea2abe082dc5f81859aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/xUbuntu_18.04/i586 Package network:osmocom:nightly/libgtpnl failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: [ 171s] update-alternatives: using /usr/bin/info to provide /usr/bin/infobrowser (infobrowser) in auto mode [ 171s] Processing triggers for mime-support (3.60ubuntu1) ... [ 171s] [159/207] installing grep-3.1-2 [ 171s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 171s] [160/207] installing libheimntlm0-heimdal-7.5.0+dfsg-1 [ 171s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 171s] [161/207] installing g++-7-7.3.0-16ubuntu3 [ 175s] [162/207] installing gettext-0.19.8.1-6 [ 176s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 176s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 176s] [163/207] installing tzdata-2018d-1 [ 177s] Current default time zone: 'Etc/UTC' [ 177s] Local time is now: Fri Mar 13 01:37:08 UTC 2020. [ 177s] Universal Time is now: Fri Mar 13 01:37:08 UTC 2020. [ 177s] Run 'dpkg-reconfigure tzdata' if you wish to change it. [ 178s] [164/207] installing libssl1.1-1.1.0g-2ubuntu4 [ 178s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 178s] [165/207] installing locales-2.27-3ubuntu1 [ 182s] Generating locales (this might take a while)... [ 182s] Generation complete. [ 182s] /.build/build-pkg-deb: line 31: 4217 Segmentation fault (core dumped) DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot $* [ 182s] exit ... [ 182s] ### VM INTERACTION START ### [ 185s] [ 128.060211] sysrq: SysRq : Power Off [ 185s] [ 128.087005] reboot: Power down [ 185s] ### VM INTERACTION END ### [ 185s] [ 185s] lamb04 failed "build libgtpnl_1.2.1.dsc" at Fri Mar 13 01:37:17 UTC 2020. [ 185s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Mar 13 07:37:12 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 13 Mar 2020 07:37:12 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Patch Set 11: > Patch Set 11: > > > Creating a class for Service Table sounds good. Do you think having Service Table object as member variable for each card type is a good idea? > > I'm not 100% sure. After all, the Service Table is an attribute of the *instance* of a given card class. Its contents can differer from one card to another of that product/class. I'm not an expert on pySim code. In theory, one would probably have something that separates the card specific code (and constant data related to a given card model) from the dynamic data that we are just reading from the filesystem of one specific card? > > > And BTW, in pySim-read.py any reason why cla byte and sel_ctrl are not set based on card type (its done properly in pySim-prog.py)? > > I don't think so. In general, I would assume lots of things are just for historical reasons and the lack of any real architecture. Any clean-up/refactoring is welcome. With the tester in place we should be able to ensure we don't break functionality for one card type or the other. I will try to re-factor the code for only pySim-read.py and address the detecting of applications on SIM card and based on that parse the service table. I may need some of your advice in terms of architecture since i have less experience in that aspect :). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 11 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 13 Mar 2020 07:37: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 Fri Mar 13 07:44:45 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 13 Mar 2020 07:44:45 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID1 from SIM In-Reply-To: References: Message-ID: herlesupreeth has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17384 ) Change subject: pySim-read.py: support for reading GID1 from SIM ...................................................................... pySim-read.py: support for reading GID1 from SIM Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim-read.py b/pySim-read.py index 8c137e7..44e7dae 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -108,6 +108,16 @@ else: print("IMSI: Can't read, response code = %s" % (sw,)) + # EF.GID1 + try: + (res, sw) = scc.read_binary(EF['GID1']) + if sw == '9000': + print("GID1: %s" % (res,)) + else: + print("GID1: Can't read, response code = %s" % (sw,)) + except Exception as e: + print("GID1: Can't read file -- %s" % (str(e),)) + # EF.SMSP (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) if sw == '9000': diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index cd6e33b..39ac64c 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 8988219000000117833 IMSI: 001010000000111 +GID1: ffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: Fairwaves Display HPLMN: False diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 30aeed8..7f8cfcd 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 89445310150011013678 IMSI: 001010000000102 +GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile Display HPLMN: False diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 8d4583d..3f48739 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 1122334455667788990 IMSI: 001010000000102 +GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index bfef882..5ae98c0 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 8988211900000000004 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 290c470..113ed14 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 1122334455667788990 IMSI: 001010000000102 +GID1: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index f7df5cf..9893b06 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -2,6 +2,7 @@ Reading ... ICCID: 1122334455667788990 IMSI: 001010000000102 +GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I15d061daed20f770b9041977a0b1fc4fe44a8f95 Gerrit-Change-Number: 17384 Gerrit-PatchSet: 7 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 Fri Mar 13 07:44:47 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 13 Mar 2020 07:44:47 +0000 Subject: Change in pysim[master]: pySim-read.py: support for reading GID2 from SIM In-Reply-To: References: Message-ID: herlesupreeth has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17385 ) Change subject: pySim-read.py: support for reading GID2 from SIM ...................................................................... pySim-read.py: support for reading GID2 from SIM Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 --- M pySim-read.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 7 files changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim-read.py b/pySim-read.py index 44e7dae..55b43d7 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -118,6 +118,16 @@ except Exception as e: print("GID1: Can't read file -- %s" % (str(e),)) + # EF.GID2 + try: + (res, sw) = scc.read_binary(EF['GID2']) + if sw == '9000': + print("GID2: %s" % (res,)) + else: + print("GID2: Can't read, response code = %s" % (sw,)) + except Exception as e: + print("GID2: Can't read file -- %s" % (str(e),)) + # EF.SMSP (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) if sw == '9000': diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 39ac64c..dfcf05d 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -3,6 +3,7 @@ ICCID: 8988219000000117833 IMSI: 001010000000111 GID1: ffffffffffffffff +GID2: ffffffffffffffff SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: Fairwaves Display HPLMN: False diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 7f8cfcd..8447023 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -3,6 +3,7 @@ ICCID: 89445310150011013678 IMSI: 001010000000102 GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. +GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile Display HPLMN: False diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 3f48739..816b3dc 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -3,6 +3,7 @@ ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. +GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 5ae98c0..ce4ce7c 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -3,6 +3,7 @@ ICCID: 8988211900000000004 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 113ed14..83a8e9e 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -3,6 +3,7 @@ ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: ffffffffffffffffffff +GID2: ffffffffffffffffffff SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Magic Display HPLMN: True diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 9893b06..50f949d 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -3,6 +3,7 @@ ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. +GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. SMSP: ffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 SPN: Not available Display HPLMN: False -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e893c3929aa1be6b55af296484811a7b94db560 Gerrit-Change-Number: 17385 Gerrit-PatchSet: 4 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 Fri Mar 13 08:46:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 13 Mar 2020 08:46:50 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17475 ) Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17475/2/Transceiver52M/device/usrp1/USRPDevice.cpp File Transceiver52M/device/usrp1/USRPDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17475/2/Transceiver52M/device/usrp1/USRPDevice.cpp at 438 PS2, Line 438: unsigned Rather comment it out as is, so one would still be able to use git blame. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 13 Mar 2020 08:46: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 Fri Mar 13 08:50:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 13 Mar 2020 08:50:00 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused isControl param from WriteSamples API In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17476 ) Change subject: radioDevice: Drop unused isControl param from WriteSamples API ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17476/1/Transceiver52M/device/usrp1/USRPDevice.cpp File Transceiver52M/device/usrp1/USRPDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17476/1/Transceiver52M/device/usrp1/USRPDevice.cpp at 519 PS1, Line 519: bool isControl Is this argument really needed here? The function name explicitly states 'Control'. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 Gerrit-Change-Number: 17476 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 13 Mar 2020 08:50: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 Fri Mar 13 09:53:07 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Mar 2020 09:53:07 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: Hello jfdionne, Jean-Francois Dionne, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17470 to look at the new patch set (#2). Change subject: gsm690: Fix amr speech bit length table ...................................................................... gsm690: Fix amr speech bit length table The table amr_len_by_ft represents the length of the raw AMR speech bits in bytes. The table is based on the Table found in RFC 4867 ?3.6, Table 1, Column "Total speech bits". The number of bits is divided by 8 and then rounded up to get the number of consumed octets. An AMR SID frame (including STI and MI) takes up 39 bits, this will result in 5 octets, not in 7. Lets correct this. Related: OS#2978 Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 --- M src/codec/gsm690.c M tests/codec/codec_test.ok 2 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/70/17470/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 13 10:07:55 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Mar 2020 10:07:55 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 2: Hello Jean-Francois, thanks for confirming my assumption. best regards. Philipp -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-Comment-Date: Fri, 13 Mar 2020 10:07: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 Mar 13 10:15:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 13 Mar 2020 10:15:04 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-Comment-Date: Fri, 13 Mar 2020 10:15: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 Mar 13 11:57:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 11:57:47 +0000 Subject: Change in simtrace2[master]: USBD.c: Don't reset EP0 on SetConfiguration(0) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17477 ) Change subject: USBD.c: Don't reset EP0 on SetConfiguration(0) ...................................................................... USBD.c: Don't reset EP0 on SetConfiguration(0) If we do this, the resulting USB code will fail on any of the USB-IF Chapter 9 tests. EP0 should not be reset. Change-Id: I070faf4cb7029d3ccfa6c63f8f04aa0f02657536 --- M firmware/atmel_softpack_libraries/usb/device/core/USBD.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/77/17477/1 diff --git a/firmware/atmel_softpack_libraries/usb/device/core/USBD.c b/firmware/atmel_softpack_libraries/usb/device/core/USBD.c index bd39a53..747bdd0 100644 --- a/firmware/atmel_softpack_libraries/usb/device/core/USBD.c +++ b/firmware/atmel_softpack_libraries/usb/device/core/USBD.c @@ -300,7 +300,7 @@ else { deviceState = USBD_STATE_ADDRESS; /* Reset all endpoints */ - USBD_HAL_ResetEPs(0xFFFFFFFF, USBD_STATUS_RESET, 0); + USBD_HAL_ResetEPs(0xFFFFFFFE, USBD_STATUS_RESET, 0); } } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I070faf4cb7029d3ccfa6c63f8f04aa0f02657536 Gerrit-Change-Number: 17477 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 Mar 13 13:08:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 13:08:41 +0000 Subject: Change in simtrace2[master]: USBD.c: Don't reset EP0 on SetConfiguration(0) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17477 ) Change subject: USBD.c: Don't reset EP0 on SetConfiguration(0) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I070faf4cb7029d3ccfa6c63f8f04aa0f02657536 Gerrit-Change-Number: 17477 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Mar 2020 13:08:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 13 13:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 13:08:52 +0000 Subject: Change in simtrace2[master]: USBD.c: Don't reset EP0 on SetConfiguration(0) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17477 ) Change subject: USBD.c: Don't reset EP0 on SetConfiguration(0) ...................................................................... USBD.c: Don't reset EP0 on SetConfiguration(0) If we do this, the resulting USB code will fail on any of the USB-IF Chapter 9 tests. EP0 should not be reset. Change-Id: I070faf4cb7029d3ccfa6c63f8f04aa0f02657536 --- M firmware/atmel_softpack_libraries/usb/device/core/USBD.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/atmel_softpack_libraries/usb/device/core/USBD.c b/firmware/atmel_softpack_libraries/usb/device/core/USBD.c index bd39a53..747bdd0 100644 --- a/firmware/atmel_softpack_libraries/usb/device/core/USBD.c +++ b/firmware/atmel_softpack_libraries/usb/device/core/USBD.c @@ -300,7 +300,7 @@ else { deviceState = USBD_STATE_ADDRESS; /* Reset all endpoints */ - USBD_HAL_ResetEPs(0xFFFFFFFF, USBD_STATUS_RESET, 0); + USBD_HAL_ResetEPs(0xFFFFFFFE, USBD_STATUS_RESET, 0); } } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I070faf4cb7029d3ccfa6c63f8f04aa0f02657536 Gerrit-Change-Number: 17477 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 13 13:21:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 13:21:50 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Mar 2020 13:21: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 Mar 13 14:54:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 14:54:36 +0000 Subject: Change in simtrace2[master]: pio_it.c: Permit repeated calls to PIO_ConfigureIt() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17478 ) Change subject: pio_it.c: Permit repeated calls to PIO_ConfigureIt() ...................................................................... pio_it.c: Permit repeated calls to PIO_ConfigureIt() The original code assumes that calls to PIO_ConfigureIt() are only made once e.g. during board start-up. Hoewever, we call those at USB SetConfiguration time, when we know which particular hardware function we are supposed to perform. This means that after the host has issued SetConfiguration more than a given number of times, the code will assert() due to overflow of the static array. Let's check if we already have allocated an array slot for a given pin and reuse that allocated array bucket rather than allocating new ones for the same pin. Change-Id: I0c46d4b51eeebd58a8786d65e31e7a84e65b6a8e Related: OS#4454 --- M firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c M hardware/board_gpio.gnumeric 2 files changed, 19 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/78/17478/1 diff --git a/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c b/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c index 7feccd1..781b914 100644 --- a/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c +++ b/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c @@ -211,6 +211,16 @@ NVIC_EnableIRQ( PIOC_IRQn ) ; } +static InterruptSource *find_intsource4pin(const Pin *pPin) +{ + unsigned int i ; + for (i = 0; i < _dwNumSources; i++) { + if (_aIntSources[i].pPin == pPin) + return &_aIntSources[i]; + } + return NULL; +} + /** * Configures a PIO or a group of PIO to generate an interrupt on status * change. The provided interrupt handler will be called with the triggering @@ -228,15 +238,17 @@ assert( pPin ) ; pio = pPin->pio ; - assert( _dwNumSources < MAX_INTERRUPT_SOURCES ) ; - /* Define new source */ - TRACE_DEBUG( "PIO_ConfigureIt: Defining new source #%" PRIu32 ".\n\r", _dwNumSources ) ; - - pSource = &(_aIntSources[_dwNumSources]) ; - pSource->pPin = pPin ; + pSource = find_intsource4pin(pPin); + if (!pSource) { + /* Define new source */ + TRACE_DEBUG( "PIO_ConfigureIt: Defining new source #%" PRIu32 ".\n\r", _dwNumSources ) ; + assert( _dwNumSources < MAX_INTERRUPT_SOURCES ) ; + pSource = &(_aIntSources[_dwNumSources]) ; + pSource->pPin = pPin ; + _dwNumSources++ ; + } pSource->handler = handler ; - _dwNumSources++ ; /* PIO3 with additional interrupt support * Configure additional interrupt mode registers */ diff --git a/hardware/board_gpio.gnumeric b/hardware/board_gpio.gnumeric index 1ec9ff6..0e4893d 100644 --- a/hardware/board_gpio.gnumeric +++ b/hardware/board_gpio.gnumeric Binary files differ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0c46d4b51eeebd58a8786d65e31e7a84e65b6a8e Gerrit-Change-Number: 17478 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 Mar 13 14:56:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Mar 2020 14:56:58 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17475 ) Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17475/2/Transceiver52M/device/usrp1/USRPDevice.cpp File Transceiver52M/device/usrp1/USRPDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17475/2/Transceiver52M/device/usrp1/USRPDevice.cpp at 438 PS2, Line 438: unsigned > Rather comment it out as is, so one would still be able to use git blame. One can still find everything in history by using git log, I prefer keeping this way, since anyway prior state didn't make any sense. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 13 Mar 2020 14:56:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 13 14:58:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Mar 2020 14:58:20 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused isControl param from WriteSamples API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17476 ) Change subject: radioDevice: Drop unused isControl param from WriteSamples API ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/17476/1/Transceiver52M/device/usrp1/USRPDevice.cpp File Transceiver52M/device/usrp1/USRPDevice.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/17476/1/Transceiver52M/device/usrp1/USRPDevice.cpp at 519 PS1, Line 519: bool isControl > Is this argument really needed here? The function name explicitly states 'Control'. Well Precisely this function is the generic one being able to pass the extra isControl param, that's why I named it with Control at the end. if you feel better having another name for the function then provide one, but tbh being an internal private function I wouldn't care that much. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 Gerrit-Change-Number: 17476 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 13 Mar 2020 14:58:20 +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 Mar 13 15:06:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 15:06:17 +0000 Subject: Change in simtrace2[master]: pio_it.c: Permit repeated calls to PIO_ConfigureIt() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17478 ) Change subject: pio_it.c: Permit repeated calls to PIO_ConfigureIt() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0c46d4b51eeebd58a8786d65e31e7a84e65b6a8e Gerrit-Change-Number: 17478 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Mar 2020 15:06: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 Mar 13 15:06:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 15:06:19 +0000 Subject: Change in simtrace2[master]: pio_it.c: Permit repeated calls to PIO_ConfigureIt() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17478 ) Change subject: pio_it.c: Permit repeated calls to PIO_ConfigureIt() ...................................................................... pio_it.c: Permit repeated calls to PIO_ConfigureIt() The original code assumes that calls to PIO_ConfigureIt() are only made once e.g. during board start-up. Hoewever, we call those at USB SetConfiguration time, when we know which particular hardware function we are supposed to perform. This means that after the host has issued SetConfiguration more than a given number of times, the code will assert() due to overflow of the static array. Let's check if we already have allocated an array slot for a given pin and reuse that allocated array bucket rather than allocating new ones for the same pin. Change-Id: I0c46d4b51eeebd58a8786d65e31e7a84e65b6a8e Related: OS#4454 --- M firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c M hardware/board_gpio.gnumeric 2 files changed, 19 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c b/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c index 7feccd1..781b914 100644 --- a/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c +++ b/firmware/atmel_softpack_libraries/libchip_sam3s/source/pio_it.c @@ -211,6 +211,16 @@ NVIC_EnableIRQ( PIOC_IRQn ) ; } +static InterruptSource *find_intsource4pin(const Pin *pPin) +{ + unsigned int i ; + for (i = 0; i < _dwNumSources; i++) { + if (_aIntSources[i].pPin == pPin) + return &_aIntSources[i]; + } + return NULL; +} + /** * Configures a PIO or a group of PIO to generate an interrupt on status * change. The provided interrupt handler will be called with the triggering @@ -228,15 +238,17 @@ assert( pPin ) ; pio = pPin->pio ; - assert( _dwNumSources < MAX_INTERRUPT_SOURCES ) ; - /* Define new source */ - TRACE_DEBUG( "PIO_ConfigureIt: Defining new source #%" PRIu32 ".\n\r", _dwNumSources ) ; - - pSource = &(_aIntSources[_dwNumSources]) ; - pSource->pPin = pPin ; + pSource = find_intsource4pin(pPin); + if (!pSource) { + /* Define new source */ + TRACE_DEBUG( "PIO_ConfigureIt: Defining new source #%" PRIu32 ".\n\r", _dwNumSources ) ; + assert( _dwNumSources < MAX_INTERRUPT_SOURCES ) ; + pSource = &(_aIntSources[_dwNumSources]) ; + pSource->pPin = pPin ; + _dwNumSources++ ; + } pSource->handler = handler ; - _dwNumSources++ ; /* PIO3 with additional interrupt support * Configure additional interrupt mode registers */ diff --git a/hardware/board_gpio.gnumeric b/hardware/board_gpio.gnumeric index 1ec9ff6..0e4893d 100644 --- a/hardware/board_gpio.gnumeric +++ b/hardware/board_gpio.gnumeric Binary files differ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0c46d4b51eeebd58a8786d65e31e7a84e65b6a8e Gerrit-Change-Number: 17478 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 13 15:06:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 15:06:56 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17475 ) Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 13 Mar 2020 15:06:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 13 15:07:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 15:07:55 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused isControl param from WriteSamples API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17476 ) Change subject: radioDevice: Drop unused isControl param from WriteSamples API ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 Gerrit-Change-Number: 17476 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 13 Mar 2020 15:07: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 Mar 13 15:08:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 15:08:36 +0000 Subject: Change in osmo-ci[master]: job: Update master and gerrit osmo-pcu jobs to also build on ARM plat... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17284 ) Change subject: job: Update master and gerrit osmo-pcu jobs to also build on ARM platform ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a Gerrit-Change-Number: 17284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Mar 2020 15:08: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 Mar 13 15:09:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Mar 2020 15:09:17 +0000 Subject: Change in osmo-ci[master]: job: Update master and gerrit osmo-pcu jobs to also build on ARM plat... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17284 ) Change subject: job: Update master and gerrit osmo-pcu jobs to also build on ARM platform ...................................................................... Patch Set 2: Code-Review+1 the only question is whether we can afford to do this for every patch in gerrit. For master, I think we're good. But for gerrit? We can try and disable as needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a Gerrit-Change-Number: 17284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Mar 2020 15: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 Fri Mar 13 15:26:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Mar 2020 15:26:05 +0000 Subject: Change in osmo-ci[master]: job: Update master and gerrit osmo-pcu jobs to also build on ARM plat... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17284 ) Change subject: job: Update master and gerrit osmo-pcu jobs to also build on ARM platform ...................................................................... Patch Set 2: Let's enable it for now and see if it becomes too restrictive. Otherwise we can always add new rpi4 to the set :P -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a Gerrit-Change-Number: 17284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Mar 2020 15:26: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 Mar 14 17:27:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:27:14 +0000 Subject: Change in osmo-remsim[master]: introduce --disable-remsim-client-{st2, ifdhanndler} References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17480 ) Change subject: introduce --disable-remsim-client-{st2,ifdhanndler} ...................................................................... introduce --disable-remsim-client-{st2,ifdhanndler} Change-Id: I4aaeeedc9df873f2e7edfbfab587fec2dfad85c4 --- M configure.ac M src/Makefile.am M src/client/Makefile.am 3 files changed, 22 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/80/17480/1 diff --git a/configure.ac b/configure.ac index 586d7ef..7af6801 100644 --- a/configure.ac +++ b/configure.ac @@ -55,20 +55,28 @@ [osmo_ac_build_bankd="$enableval"],[osmo_ac_build_bankd="yes"]) 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(OSMOSIM, libosmosim) PKG_CHECK_MODULES(PCSC, libpcsclite) fi AM_CONDITIONAL(BUILD_BANKD, test "x$osmo_ac_build_bankd" = "xyes") AC_SUBST(BUILD_BANKD) -AC_ARG_ENABLE([remsim-client],[AS_HELP_STRING([--disable-remsim-client], [Build osmo-remsim-client])], - [osmo_ac_build_client="$enableval"],[osmo_ac_build_client="yes"]) -if test "$osmo_ac_build_client" = "yes"; then - AC_DEFINE(BUILD_CLIENT, 1, [Define if we want to build osmo-remsim-client]) - PKG_CHECK_MODULES(OSMOSIM, libosmosim) +AC_ARG_ENABLE([remsim-client-st2],[AS_HELP_STRING([--disable-remsim-client-st2], [Build osmo-remsim-client-st2])], + [osmo_ac_build_client_st2="$enableval"],[osmo_ac_build_client_st2="yes"]) +if test "$osmo_ac_build_client_st2" = "yes"; then + AC_DEFINE(BUILD_CLIENT_ST2, 1, [Define if we want to build osmo-remsim-client-st2]) PKG_CHECK_MODULES(OSMOUSB, libosmousb) PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) +fi +AM_CONDITIONAL(BUILD_CLIENT_ST2, test "x$osmo_ac_build_client_st2" = "xyes") +AC_SUBST(BUILD_CLIENT_ST2) + +AC_ARG_ENABLE([remsim-client-ifdhandler],[AS_HELP_STRING([--disable-remsim-client-ifdhandler], + [Build osmo-remsim-client-ifdhandler])], + [osmo_ac_build_client_ifdhandler="$enableval"],[osmo_ac_build_client_ifdhandler="yes"]) +if test "$osmo_ac_build_client_ifdhandler" = "yes"; then + AC_DEFINE(BUILD_CLIENT_IFDHANDLER, 1, [Define if we want to build osmo-remsim-client-ifdhandler]) + PKG_CHECK_MODULES(PCSC, libpcsclite) ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` # allow user to override the dropdir for the PCSC driver bundle @@ -80,8 +88,8 @@ [serialconfdir="${withval}"], [serialconfdir="${_serialconfdir}"]) AC_SUBST(serialconfdir) fi -AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") -AC_SUBST(BUILD_CLIENT) +AM_CONDITIONAL(BUILD_CLIENT_IFDHANDLER, test "x$osmo_ac_build_client_ifdhandler" = "xyes") +AC_SUBST(BUILD_CLIENT_IFDHANDLER) AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/Makefile.am b/src/Makefile.am index 5f71df5..9059324 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,9 +5,7 @@ if BUILD_SERVER SUBDIRS += server endif -if BUILD_CLIENT SUBDIRS += client -endif AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include \ $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) \ diff --git a/src/client/Makefile.am b/src/client/Makefile.am index 871221a..b4d5bd5 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -4,7 +4,7 @@ $(OSMOSIMTRACE2_CFLAGS) \ -I$(top_srcdir)/include/osmocom/rspro -bin_PROGRAMS = osmo-remsim-client-st2 osmo-remsim-client-shell +bin_PROGRAMS = osmo-remsim-client-shell osmo_remsim_client_shell_SOURCES = user_shell.c remsim_client_main.c \ remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c @@ -12,6 +12,7 @@ osmo_remsim_client_shell_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +if BUILD_CLIENT_IFDHANDLER EXTRA_DIST=PkgInfo osmo-remsim-client-reader_conf.in serialconf_DATA=osmo-remsim-client-reader_conf bundledir=$(usbdropdir)/libifd-osmo-remsim-client.bundle/Contents @@ -25,7 +26,10 @@ libifd_remsim_client_la_LDFLAGS = -no-undefined libifd_remsim_client_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +endif +if BUILD_CLIENT_ST2 +bin_PROGRAMS += osmo-remsim-client-st2 osmo_remsim_client_st2_SOURCES = user_simtrace2.c remsim_client_main.c \ remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c osmo_remsim_client_st2_CPPFLAGS = -DUSB_SUPPORT @@ -34,5 +38,6 @@ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ $(USB_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +endif noinst_HEADERS = client.h -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4aaeeedc9df873f2e7edfbfab587fec2dfad85c4 Gerrit-Change-Number: 17480 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 Mar 14 17:27:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:27:16 +0000 Subject: Change in osmo-remsim[master]: doc: Record update to 0.3. in changelog References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17481 ) Change subject: doc: Record update to 0.3. in changelog ...................................................................... doc: Record update to 0.3. in changelog Change-Id: Iae6a0afa29bf1c747b4713dec70c2e2e54d1d114 --- M doc/manuals/osmo-remsim-usermanual-docinfo.xml 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/81/17481/1 diff --git a/doc/manuals/osmo-remsim-usermanual-docinfo.xml b/doc/manuals/osmo-remsim-usermanual-docinfo.xml index a1ceb6d..741085c 100644 --- a/doc/manuals/osmo-remsim-usermanual-docinfo.xml +++ b/doc/manuals/osmo-remsim-usermanual-docinfo.xml @@ -1,5 +1,13 @@ + 2020-03 + March 2020 + HW + + Update to catch up with version 0.3 changes. + + + 1 March 2019 HW @@ -24,7 +32,7 @@ - 2019 + 2019-2020 sysmocom - s.f.m.c. GmbH -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Iae6a0afa29bf1c747b4713dec70c2e2e54d1d114 Gerrit-Change-Number: 17481 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 Mar 14 17:27:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:27:13 +0000 Subject: Change in osmo-remsim[master]: rspro_util.c: Use %zu for size_t References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17479 ) Change subject: rspro_util.c: Use %zu for size_t ...................................................................... rspro_util.c: Use %zu for size_t Fix the following warning in 32bit builds on ARM: rspro_util.c:92:53: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t {aka unsigned int}' [-Wformat=] Change-Id: I7ea17f8b9fdd68cdac442bf4d4e518f92292f6fc --- M src/rspro_util.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/79/17479/1 diff --git a/src/rspro_util.c b/src/rspro_util.c index 1d95aee..ab748f6 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -89,7 +89,7 @@ //printf("decoding %s\n", msgb_hexdump(msg)); rval = ber_decode(NULL, &asn_DEF_RsproPDU, (void **) &pdu, msgb_l2(msg), msgb_l2len(msg)); if (rval.code != RC_OK) { - fprintf(stderr, "Failed to decode: %d. Consumed %lu of %u bytes\n", + fprintf(stderr, "Failed to decode: %d. Consumed %zu of %u bytes\n", rval.code, rval.consumed, msgb_length(msg)); return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7ea17f8b9fdd68cdac442bf4d4e518f92292f6fc Gerrit-Change-Number: 17479 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 Mar 14 17:35:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:35:24 +0000 Subject: Change in osmo-remsim[master]: rspro_util.c: Use %zu for size_t In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17479 ) Change subject: rspro_util.c: Use %zu for size_t ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7ea17f8b9fdd68cdac442bf4d4e518f92292f6fc Gerrit-Change-Number: 17479 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Mar 2020 17: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 Sat Mar 14 17:35:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:35:41 +0000 Subject: Change in osmo-remsim[master]: introduce --disable-remsim-client-{st2, ifdhanndler} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17480 ) Change subject: introduce --disable-remsim-client-{st2,ifdhanndler} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4aaeeedc9df873f2e7edfbfab587fec2dfad85c4 Gerrit-Change-Number: 17480 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Mar 2020 17:35: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 Mar 14 17:35:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:35:50 +0000 Subject: Change in osmo-remsim[master]: rspro_util.c: Use %zu for size_t In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17479 ) Change subject: rspro_util.c: Use %zu for size_t ...................................................................... rspro_util.c: Use %zu for size_t Fix the following warning in 32bit builds on ARM: rspro_util.c:92:53: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t {aka unsigned int}' [-Wformat=] Change-Id: I7ea17f8b9fdd68cdac442bf4d4e518f92292f6fc --- M src/rspro_util.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/rspro_util.c b/src/rspro_util.c index 1d95aee..ab748f6 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -89,7 +89,7 @@ //printf("decoding %s\n", msgb_hexdump(msg)); rval = ber_decode(NULL, &asn_DEF_RsproPDU, (void **) &pdu, msgb_l2(msg), msgb_l2len(msg)); if (rval.code != RC_OK) { - fprintf(stderr, "Failed to decode: %d. Consumed %lu of %u bytes\n", + fprintf(stderr, "Failed to decode: %d. Consumed %zu of %u bytes\n", rval.code, rval.consumed, msgb_length(msg)); return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7ea17f8b9fdd68cdac442bf4d4e518f92292f6fc Gerrit-Change-Number: 17479 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 14 17:35:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:35:50 +0000 Subject: Change in osmo-remsim[master]: introduce --disable-remsim-client-{st2, ifdhanndler} In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17480 ) Change subject: introduce --disable-remsim-client-{st2,ifdhanndler} ...................................................................... introduce --disable-remsim-client-{st2,ifdhanndler} Change-Id: I4aaeeedc9df873f2e7edfbfab587fec2dfad85c4 --- M configure.ac M src/Makefile.am M src/client/Makefile.am 3 files changed, 22 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 586d7ef..7af6801 100644 --- a/configure.ac +++ b/configure.ac @@ -55,20 +55,28 @@ [osmo_ac_build_bankd="$enableval"],[osmo_ac_build_bankd="yes"]) 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(OSMOSIM, libosmosim) PKG_CHECK_MODULES(PCSC, libpcsclite) fi AM_CONDITIONAL(BUILD_BANKD, test "x$osmo_ac_build_bankd" = "xyes") AC_SUBST(BUILD_BANKD) -AC_ARG_ENABLE([remsim-client],[AS_HELP_STRING([--disable-remsim-client], [Build osmo-remsim-client])], - [osmo_ac_build_client="$enableval"],[osmo_ac_build_client="yes"]) -if test "$osmo_ac_build_client" = "yes"; then - AC_DEFINE(BUILD_CLIENT, 1, [Define if we want to build osmo-remsim-client]) - PKG_CHECK_MODULES(OSMOSIM, libosmosim) +AC_ARG_ENABLE([remsim-client-st2],[AS_HELP_STRING([--disable-remsim-client-st2], [Build osmo-remsim-client-st2])], + [osmo_ac_build_client_st2="$enableval"],[osmo_ac_build_client_st2="yes"]) +if test "$osmo_ac_build_client_st2" = "yes"; then + AC_DEFINE(BUILD_CLIENT_ST2, 1, [Define if we want to build osmo-remsim-client-st2]) PKG_CHECK_MODULES(OSMOUSB, libosmousb) PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2) PKG_CHECK_MODULES(USB, libusb-1.0) +fi +AM_CONDITIONAL(BUILD_CLIENT_ST2, test "x$osmo_ac_build_client_st2" = "xyes") +AC_SUBST(BUILD_CLIENT_ST2) + +AC_ARG_ENABLE([remsim-client-ifdhandler],[AS_HELP_STRING([--disable-remsim-client-ifdhandler], + [Build osmo-remsim-client-ifdhandler])], + [osmo_ac_build_client_ifdhandler="$enableval"],[osmo_ac_build_client_ifdhandler="yes"]) +if test "$osmo_ac_build_client_ifdhandler" = "yes"; then + AC_DEFINE(BUILD_CLIENT_IFDHANDLER, 1, [Define if we want to build osmo-remsim-client-ifdhandler]) + PKG_CHECK_MODULES(PCSC, libpcsclite) ifd_dropdir=`pkg-config --variable=usbdropdir libpcsclite` # allow user to override the dropdir for the PCSC driver bundle @@ -80,8 +88,8 @@ [serialconfdir="${withval}"], [serialconfdir="${_serialconfdir}"]) AC_SUBST(serialconfdir) fi -AM_CONDITIONAL(BUILD_CLIENT, test "x$osmo_ac_build_client" = "xyes") -AC_SUBST(BUILD_CLIENT) +AM_CONDITIONAL(BUILD_CLIENT_IFDHANDLER, test "x$osmo_ac_build_client_ifdhandler" = "xyes") +AC_SUBST(BUILD_CLIENT_IFDHANDLER) AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/Makefile.am b/src/Makefile.am index 5f71df5..9059324 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,9 +5,7 @@ if BUILD_SERVER SUBDIRS += server endif -if BUILD_CLIENT SUBDIRS += client -endif AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include \ $(OSMOCORE_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMOABIS_CFLAGS) \ diff --git a/src/client/Makefile.am b/src/client/Makefile.am index 871221a..b4d5bd5 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -4,7 +4,7 @@ $(OSMOSIMTRACE2_CFLAGS) \ -I$(top_srcdir)/include/osmocom/rspro -bin_PROGRAMS = osmo-remsim-client-st2 osmo-remsim-client-shell +bin_PROGRAMS = osmo-remsim-client-shell osmo_remsim_client_shell_SOURCES = user_shell.c remsim_client_main.c \ remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c @@ -12,6 +12,7 @@ osmo_remsim_client_shell_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +if BUILD_CLIENT_IFDHANDLER EXTRA_DIST=PkgInfo osmo-remsim-client-reader_conf.in serialconf_DATA=osmo-remsim-client-reader_conf bundledir=$(usbdropdir)/libifd-osmo-remsim-client.bundle/Contents @@ -25,7 +26,10 @@ libifd_remsim_client_la_LDFLAGS = -no-undefined libifd_remsim_client_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +endif +if BUILD_CLIENT_ST2 +bin_PROGRAMS += osmo-remsim-client-st2 osmo_remsim_client_st2_SOURCES = user_simtrace2.c remsim_client_main.c \ remsim_client.c main_fsm.c ../rspro_client_fsm.c ../debug.c osmo_remsim_client_st2_CPPFLAGS = -DUSB_SUPPORT @@ -34,5 +38,6 @@ $(OSMOUSB_LIBS) $(OSMOSIMTRACE2_LIBS) \ $(USB_LIBS) \ $(top_builddir)/src/libosmo-rspro.la +endif noinst_HEADERS = client.h -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I4aaeeedc9df873f2e7edfbfab587fec2dfad85c4 Gerrit-Change-Number: 17480 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 14 17:36:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:36:21 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Mar 2020 17: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 Sat Mar 14 17:36:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:36:23 +0000 Subject: Change in libosmocore[master]: gsm690: Fix amr speech bit length table In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17470 ) Change subject: gsm690: Fix amr speech bit length table ...................................................................... gsm690: Fix amr speech bit length table The table amr_len_by_ft represents the length of the raw AMR speech bits in bytes. The table is based on the Table found in RFC 4867 ?3.6, Table 1, Column "Total speech bits". The number of bits is divided by 8 and then rounded up to get the number of consumed octets. An AMR SID frame (including STI and MI) takes up 39 bits, this will result in 5 octets, not in 7. Lets correct this. Related: OS#2978 Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 --- M src/codec/gsm690.c M tests/codec/codec_test.ok 2 files changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/codec/gsm690.c b/src/codec/gsm690.c index 1955716..8ab1df1 100644 --- a/src/codec/gsm690.c +++ b/src/codec/gsm690.c @@ -216,8 +216,9 @@ 92, 31, 52, 65, 86, }; +/* 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, 7, 0, 0, 0, 0, 0, 0, 0 + 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 }; const struct value_string osmo_amr_type_names[] = { diff --git a/tests/codec/codec_test.ok b/tests/codec/codec_test.ok index 5307023..b8cba19 100644 --- a/tests/codec/codec_test.ok +++ b/tests/codec/codec_test.ok @@ -1,6 +1,6 @@ AMR RTP payload decoder test: -[9] decode RTP 20 44 00 00 00 00 04 OK: FT AMR SID, CMR AMR 5,90 kbit/s, CMI is 2, SID type FIRST [9] encode [0] -[9] decode RTP 20 44 29 c2 92 91 f4 OK: FT AMR SID, CMR AMR 5,90 kbit/s, CMI is 2, SID type UPDATE [9] encode [0] +[7] decode RTP 20 44 00 00 00 00 04 OK: FT AMR SID, CMR AMR 5,90 kbit/s, CMI is 2, SID type FIRST [7] encode [0] +[7] decode RTP 20 44 29 c2 92 91 f4 OK: FT AMR SID, CMR AMR 5,90 kbit/s, CMI is 2, SID type UPDATE [7] encode [0] [2/2] No Data/NA, CMR: OK, FT: OK, BFI: OK, CMI: -1, STI: -1 [2/2] No Data/NA, CMR: OK, FT: OK, BFI: OK, CMI: -1, STI: -1 [33/33] AMR 12,2 kbit/s (GSM-EFR), CMR: OK, FT: OK, BFI: OK, CMI: -1, STI: -1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf330450981b32be5d1cee5b10aa92bac4cb72f5 Gerrit-Change-Number: 17470 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jean-Francois Dionne Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: jfdionne Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 14 17:36:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Mar 2020 17:36:59 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: fail on get_amr_from_arg error In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17461 ) Change subject: osmo-bsc/bsc_vty: fail on get_amr_from_arg error ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 Gerrit-Change-Number: 17461 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 14 Mar 2020 17:36: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 Mar 14 18:26:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 14 Mar 2020 18:26:44 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Fix title out of sequence References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17482 ) Change subject: doc/manuals: Fix title out of sequence ...................................................................... doc/manuals: Fix title out of sequence asciidoc: WARNING: install.adoc: line 450: section title out of sequence: expected level 3, got level 4 Change-Id: I0c881405e66cc6815533bb884016db20cfdff3dc --- M doc/manuals/chapters/install.adoc 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/17482/1 diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index e062b8d..30db8be 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -447,7 +447,7 @@ is required here. [[install_capture_packets]] -===== Capture Packets +==== Capture Packets In order to allow collecting pcap traces of the network communication for later reference, allow the osmo-gsm-tester group to capture packets using the 'tcpdump' @@ -488,7 +488,7 @@ your terminal is in turn is picked up in the tcpdump trace, and so forth. When testing 'tcpdump' access, make sure to have proper filter expressions in place. -===== Allow Core Files +==== Allow Core Files In case a binary run for the test crashes, a core file of the crash should be written. This requires a limit rule. Create a file with the required rule: @@ -512,7 +512,7 @@ under 'osmo-gsm-tester.git/utils/limits.d/', so one can simply cp them from there. -===== Allow Realtime Priority +==== Allow Realtime Priority Certain binaries should be run with real-time priority, like 'osmo-bts-trx'. Add this permission on the main unit: @@ -567,7 +567,7 @@ there. [[user_config_uhd]] -===== UHD +==== UHD Grant permission to use the UHD driver to run USRP devices for osmo-bts-trx, by adding the jenkins user to the 'usrp' group: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0c881405e66cc6815533bb884016db20cfdff3dc Gerrit-Change-Number: 17482 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 15 15:27:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 15 Mar 2020 15:27:56 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Fix title out of sequence In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17482 ) Change subject: doc/manuals: Fix title out of sequence ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0c881405e66cc6815533bb884016db20cfdff3dc Gerrit-Change-Number: 17482 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 15 Mar 2020 15:27: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 Mar 15 15:28:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 15 Mar 2020 15:28:00 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Fix title out of sequence In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17482 ) Change subject: doc/manuals: Fix title out of sequence ...................................................................... doc/manuals: Fix title out of sequence asciidoc: WARNING: install.adoc: line 450: section title out of sequence: expected level 3, got level 4 Change-Id: I0c881405e66cc6815533bb884016db20cfdff3dc --- M doc/manuals/chapters/install.adoc 1 file changed, 4 insertions(+), 4 deletions(-) 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 e062b8d..30db8be 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -447,7 +447,7 @@ is required here. [[install_capture_packets]] -===== Capture Packets +==== Capture Packets In order to allow collecting pcap traces of the network communication for later reference, allow the osmo-gsm-tester group to capture packets using the 'tcpdump' @@ -488,7 +488,7 @@ your terminal is in turn is picked up in the tcpdump trace, and so forth. When testing 'tcpdump' access, make sure to have proper filter expressions in place. -===== Allow Core Files +==== Allow Core Files In case a binary run for the test crashes, a core file of the crash should be written. This requires a limit rule. Create a file with the required rule: @@ -512,7 +512,7 @@ under 'osmo-gsm-tester.git/utils/limits.d/', so one can simply cp them from there. -===== Allow Realtime Priority +==== Allow Realtime Priority Certain binaries should be run with real-time priority, like 'osmo-bts-trx'. Add this permission on the main unit: @@ -567,7 +567,7 @@ there. [[user_config_uhd]] -===== UHD +==== UHD Grant permission to use the UHD driver to run USRP devices for osmo-bts-trx, by adding the jenkins user to the 'usrp' group: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0c881405e66cc6815533bb884016db20cfdff3dc Gerrit-Change-Number: 17482 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 Sun Mar 15 21:52:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Mar 2020 21:52:13 +0000 Subject: Change in libosmocore[master]: libosmosim: Build irrespective of PC/SC support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17483 ) Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... libosmosim: Build irrespective of PC/SC support libosmosim contains a variety of definitions and utility fuinctions useful when working with SIM card [protocol]. They can not only be used with PC/SC readers but also in other contexts. Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 --- M configure.ac M src/sim/Makefile.am M src/sim/reader.c 3 files changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/17483/1 diff --git a/configure.ac b/configure.ac index 1056a0a..3b4ad40 100644 --- a/configure.ac +++ b/configure.ac @@ -142,6 +142,7 @@ ]) AS_IF([test "x$ENABLE_PCSC" = "xyes"], [ PKG_CHECK_MODULES(PCSC, libpcsclite) + AC_DEFINE([HAVE_PCSC],[1],[Build with PC/SC support]) ]) AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes") AC_SUBST(ENABLE_PCSC) diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index c608757..0667359 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -4,24 +4,23 @@ LIBVERSION=1:2:1 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -fPIC -Wall $(PCSC_CFLAGS) $(TALLOC_CFLAGS) +AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) -if ENABLE_PCSC -# FIXME: only build the PC/SC dependent part conditional, but always build other parts - noinst_HEADERS = sim_int.h gsm_int.h lib_LTLIBRARIES = libosmosim.la -libosmosim_la_SOURCES = core.c reader.c reader_pcsc.c class_tables.c \ +libosmosim_la_SOURCES = core.c reader.c class_tables.c \ card_fs_sim.c card_fs_usim.c card_fs_uicc.c \ card_fs_isim.c card_fs_tetra.c libosmosim_la_LDFLAGS = -version-info $(LIBVERSION) libosmosim_la_LIBADD = \ $(top_builddir)/src/libosmocore.la \ $(top_builddir)/src/gsm/libosmogsm.la \ - $(TALLOC_LIBS) \ - $(PCSC_LIBS) - + $(TALLOC_LIBS) +if ENABLE_PCSC +AM_CFLAGS += $(PCSC_CFLAGS) +libosmosim_la_SOURCES += reader_pcsc.c +libosmosim_la_LIBADD += $(PCSC_LIBS) endif diff --git a/src/sim/reader.c b/src/sim/reader.c index d1a9ae6..d5292ba 100644 --- a/src/sim/reader.c +++ b/src/sim/reader.c @@ -35,6 +35,7 @@ #include #include +#include "config.h" #include "sim_int.h" @@ -242,9 +243,11 @@ struct osim_reader_hdl *rh; switch (driver) { +#ifdef HAVE_PCSC case OSIM_READER_DRV_PCSC: ops = &pcsc_reader_ops; break; +#endif default: return NULL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17483 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 Mar 16 09:28:14 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Mar 2020 09:28:14 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: fail on get_amr_from_arg error In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17461 ) Change subject: osmo-bsc/bsc_vty: fail on get_amr_from_arg error ...................................................................... Patch Set 1: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 Gerrit-Change-Number: 17461 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 09:28: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 Mar 16 09:28:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Mar 2020 09:28:17 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc/bsc_vty: fail on get_amr_from_arg error In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17461 ) Change subject: osmo-bsc/bsc_vty: fail on get_amr_from_arg error ...................................................................... osmo-bsc/bsc_vty: fail on get_amr_from_arg error Fail parsing osmo-bsc.cfg if the AMR modes are not in order or not unique. Related: OS#4199 Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 20 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d1a268d..dd157c0 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -3717,7 +3717,7 @@ #define AMR_TH_TEXT "AMR threshold between codecs\nMS side\nBTS side\n" #define AMR_HY_TEXT "AMR hysteresis between codecs\nMS side\nBTS side\n" -static void get_amr_from_arg(struct vty *vty, int argc, const char *argv[], int full) +static int get_amr_from_arg(struct vty *vty, int argc, const char *argv[], int full) { struct gsm_bts *bts = vty->index; struct amr_multirate_conf *mr = (full) ? &bts->mr_full: &bts->mr_half; @@ -3733,12 +3733,12 @@ if (mode_prev > mode) { vty_out(vty, "Modes must be listed in order%s", VTY_NEWLINE); - return; + return -1; } if (mode_prev == mode) { vty_out(vty, "Modes must be unique %s", VTY_NEWLINE); - return; + return -2; } mode_prev = mode; } @@ -3763,6 +3763,7 @@ mr->ms_mode[i].hysteresis = 0; mr->bts_mode[i].hysteresis = 0; } + return 0; } static void get_amr_th_from_arg(struct vty *vty, int argc, const char *argv[], int full) @@ -3878,7 +3879,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 1, argv, 1); + if (get_amr_from_arg(vty, 1, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3887,7 +3889,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 2, argv, 1); + if (get_amr_from_arg(vty, 2, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3896,7 +3899,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 3, argv, 1); + if (get_amr_from_arg(vty, 3, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3905,7 +3909,8 @@ AMR_TEXT "Full Rate\n" AMR_MODE_TEXT AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR AMR_TCHF_HELP_STR) { - get_amr_from_arg(vty, 4, argv, 1); + if (get_amr_from_arg(vty, 4, argv, 1)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3976,7 +3981,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 1, argv, 0); + if (get_amr_from_arg(vty, 1, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3985,7 +3991,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 2, argv, 0); + if (get_amr_from_arg(vty, 2, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } @@ -3994,7 +4001,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 3, argv, 0); + if (get_amr_from_arg(vty, 3, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } @@ -4003,7 +4011,8 @@ AMR_TEXT "Half Rate\n" AMR_MODE_TEXT AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR AMR_TCHH_HELP_STR) { - get_amr_from_arg(vty, 4, argv, 0); + if (get_amr_from_arg(vty, 4, argv, 0)) + return CMD_WARNING; return check_amr_config(vty); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2f3690396fb0425f6b358e1e21a8b8b56eb3ae0 Gerrit-Change-Number: 17461 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:28:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:28:27 +0000 Subject: Change in libosmocore[master]: libosmosim: Build irrespective of PC/SC support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17483 to look at the new patch set (#2). Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... libosmosim: Build irrespective of PC/SC support libosmosim contains a variety of definitions and utility fuinctions useful when working with SIM card [protocol]. They can not only be used with PC/SC readers but also in other contexts. Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 --- M configure.ac M src/sim/Makefile.am M src/sim/reader.c 3 files changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/17483/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17483 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:30:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:30:24 +0000 Subject: Change in osmo-ci[master]: job: Update master and gerrit osmo-pcu jobs to also build on ARM plat... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17284 ) Change subject: job: Update master and gerrit osmo-pcu jobs to also build on ARM platform ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a Gerrit-Change-Number: 17284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 10: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 Mon Mar 16 10:30:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:30:27 +0000 Subject: Change in osmo-ci[master]: job: Update master and gerrit osmo-pcu jobs to also build on ARM plat... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17284 ) Change subject: job: Update master and gerrit osmo-pcu jobs to also build on ARM platform ...................................................................... job: Update master and gerrit osmo-pcu jobs to also build on ARM platform Related: OS#4301 Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 15 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 15f8b5a..18df857 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -159,6 +159,7 @@ - osmo-pcap - osmo-pcu: + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, litecell15, oc2g] a2_name: with_vty @@ -168,12 +169,13 @@ a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] combination_filter: > - (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") + (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") cmd: | {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index d10ee18..c4226ac 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -253,6 +253,7 @@ - osmo-pcap - osmo-pcu: + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] a2_name: with_vty @@ -262,11 +263,12 @@ a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] combination_filter: > - (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || - (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") + (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") cmd: | {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a Gerrit-Change-Number: 17284 Gerrit-PatchSet: 3 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 Mon Mar 16 10:31:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:31:42 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17475 ) Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 16 Mar 2020 10:31: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 Mar 16 10:31:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:31:44 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused isControl param from WriteSamples API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17476 ) Change subject: radioDevice: Drop unused isControl param from WriteSamples API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 Gerrit-Change-Number: 17476 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 16 Mar 2020 10:31: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 Mar 16 10:31:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:31:47 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused RSSI param from readSamples API In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17475 ) Change subject: radioDevice: Drop unused RSSI param from readSamples API ...................................................................... radioDevice: Drop unused RSSI param from readSamples API The out "RSSI" parameter is only filled by USRPDevice, and not used at all by any user of the API (radioInterface*.cpp). RSSI seems to be computed nowadays in the common path in Transceiver::pullRadioVector(). Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 --- 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 7 files changed, 11 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index 26903e8..c504b3a 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -77,12 +77,10 @@ @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough @param timestamp The timestamp of the first samples to be read @param underrun Set if radio does not have data to transmit, e.g. data not being sent fast enough - @param RSSI The received signal strength of the read result @return The number of samples actually read */ virtual int readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp = 0xffffffff, bool *underrun = 0, - unsigned *RSSI = 0) = 0; + TIMESTAMP timestamp = 0xffffffff, bool *underrun = 0) = 0; /** Write samples to the radio. @param buf Contains the data to be written. diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 884cc28..0cd8002 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -739,7 +739,7 @@ // NOTE: Assumes sequential reads int LMSDevice::readSamples(std::vector < short *>&bufs, int len, bool * overrun, - TIMESTAMP timestamp, bool * underrun, unsigned *RSSI) + TIMESTAMP timestamp, bool * underrun) { int rc, num_smpls, expect_smpls; ssize_t avail_smpls; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 755f6c4..c2fd2f6 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -106,12 +106,11 @@ @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough @param timestamp The timestamp of the first samples to be read @param underrun Set if LMS does not have data to transmit, e.g. data not being sent fast enough - @param RSSI The received signal strength of the read result @return The number of samples actually read */ int readSamples(std::vector < short *>&buf, int len, bool * overrun, TIMESTAMP timestamp = 0xffffffff, bool * underrun = - NULL, unsigned *RSSI = NULL); + NULL); /** Write samples to the LMS. @param buf Contains the data to be written. diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 5d267c8..ddb6631 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -721,7 +721,7 @@ } int uhd_device::readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) + TIMESTAMP timestamp, bool *underrun) { ssize_t rc; uhd::time_spec_t ts; diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index d485a8e..4809b25 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -74,7 +74,7 @@ enum TxWindowType getWindowType() { return tx_window; } int readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp, bool *underrun, unsigned *RSSI); + TIMESTAMP timestamp, bool *underrun); int writeSamples(std::vector &bufs, int len, bool *underrun, TIMESTAMP timestamp, bool isControl); diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 766a228..5eaca07 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -365,7 +365,7 @@ // NOTE: Assumes sequential reads int USRPDevice::readSamples(std::vector &bufs, int len, bool *overrun, - TIMESTAMP timestamp, bool *underrun, unsigned *RSSI) + TIMESTAMP timestamp, bool *underrun) { #ifndef SWLOOPBACK if (!m_uRx) @@ -433,8 +433,10 @@ *underrun = true; LOGC(DDEV, DEBUG) << "UNDERRUN in TRX->USRP interface"; } - if (RSSI) *RSSI = (word0 >> 21) & 0x3f; - +#if 0 + /* FIXME: Do something with this ? */ + unsigned RSSI = (word0 >> 21) & 0x3f; +#endif if (!isAligned) continue; unsigned cursorStart = pktTimestamp - timeStart + dataStart; diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 47f2a43..0cf5ec3 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -117,12 +117,10 @@ @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough @param timestamp The timestamp of the first samples to be read @param underrun Set if USRP does not have data to transmit, e.g. data not being sent fast enough - @param RSSI The received signal strength of the read result @return The number of samples actually read */ int readSamples(std::vector &buf, int len, bool *overrun, - TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL, - unsigned *RSSI = NULL); + TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL); /** Write samples to the USRP. @param buf Contains the data to be written. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I06c2ea5a9891d170bc468f952bbf2a7e64d95784 Gerrit-Change-Number: 17475 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:31:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:31:47 +0000 Subject: Change in osmo-trx[master]: radioDevice: Drop unused isControl param from WriteSamples API In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17476 ) Change subject: radioDevice: Drop unused isControl param from WriteSamples API ...................................................................... radioDevice: Drop unused isControl param from WriteSamples API The out "isControl" parameter is only used by internal callers of USRPDevice, and not used at all by any user of the generic API (radioInterface*.cpp). Hence, we can get rid of it and keep it as a flag for an internal API of USRPDevice. Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 --- 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 7 files changed, 18 insertions(+), 26 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index c504b3a..0dc38d5 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -87,11 +87,10 @@ @param len number of samples to write. @param underrun Set if radio does not have data to transmit, e.g. data not being sent fast enough @param timestamp The timestamp of the first sample of the data buffer. - @param isControl Set if data is a control packet, e.g. a ping command @return The number of samples actually written */ virtual int writeSamples(std::vector &bufs, int len, bool *underrun, - TIMESTAMP timestamp, bool isControl = false) = 0; + TIMESTAMP timestamp) = 0; /** Update the alignment between the read and write timestamps */ virtual bool updateAlignment(TIMESTAMP timestamp)=0; diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 0cd8002..932817d 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -858,8 +858,7 @@ } int LMSDevice::writeSamples(std::vector < short *>&bufs, int len, - bool * underrun, unsigned long long timestamp, - bool isControl) + bool * underrun, unsigned long long timestamp) { int rc = 0; unsigned int i; @@ -868,11 +867,6 @@ tx_metadata.waitForTimestamp = true; tx_metadata.timestamp = timestamp - ts_offset; /* Shift Tx time by offset */ - if (isControl) { - LOGC(DDEV, ERROR) << "Control packets not supported"; - return 0; - } - if (bufs.size() != chans) { LOGC(DDEV, ERROR) << "Invalid channel combination " << bufs.size(); return -1; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index c2fd2f6..5b6330a 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -117,12 +117,10 @@ @param len number of samples to write. @param underrun Set if LMS does not have data to transmit, e.g. data not being sent fast enough @param timestamp The timestamp of the first sample of the data buffer. - @param isControl Set if data is a control packet, e.g. a ping command @return The number of samples actually written */ int writeSamples(std::vector < short *>&bufs, int len, bool * underrun, - TIMESTAMP timestamp = 0xffffffff, bool isControl = - false); + TIMESTAMP timestamp = 0xffffffff); /** Update the alignment between the read and write timestamps */ bool updateAlignment(TIMESTAMP timestamp); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index ddb6631..ad56250 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -804,7 +804,7 @@ } int uhd_device::writeSamples(std::vector &bufs, int len, bool *underrun, - unsigned long long timestamp,bool isControl) + unsigned long long timestamp) { uhd::tx_metadata_t metadata; metadata.has_time_spec = true; @@ -814,12 +814,6 @@ *underrun = false; - // No control packets - if (isControl) { - LOGC(DDEV, ERROR) << "Control packets not supported"; - return 0; - } - if (bufs.size() != chans) { LOGC(DDEV, ALERT) << "Invalid channel combination " << bufs.size(); return -1; diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 4809b25..1e66246 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -77,7 +77,7 @@ TIMESTAMP timestamp, bool *underrun); int writeSamples(std::vector &bufs, int len, bool *underrun, - TIMESTAMP timestamp, bool isControl); + TIMESTAMP timestamp); bool updateAlignment(TIMESTAMP timestamp); diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 5eaca07..1a9a7e1 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -515,9 +515,8 @@ #endif } -int USRPDevice::writeSamples(std::vector &bufs, int len, - bool *underrun, unsigned long long timestamp, - bool isControl) +int USRPDevice::writeSamplesControl(std::vector &bufs, int len, + bool *underrun, unsigned long long timestamp, bool isControl) { writeLock.lock(); @@ -571,6 +570,12 @@ #endif } +int USRPDevice::writeSamples(std::vector &bufs, int len, + bool *underrun, unsigned long long timestamp) +{ + return writeSamplesControl(bufs, len, underrun, timestamp, false); +} + bool USRPDevice::updateAlignment(TIMESTAMP timestamp) { #ifndef SWLOOPBACK @@ -580,7 +585,7 @@ bool tmpUnderrun; std::vector buf(1, data); - if (writeSamples(buf, 1, &tmpUnderrun, timestamp & 0x0ffffffffll, true)) { + if (writeSamplesControl(buf, 1, &tmpUnderrun, timestamp & 0x0ffffffffll, true)) { pingTimestamp = timestamp; return true; } diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 0cf5ec3..a4a0886 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -82,6 +82,9 @@ double rxGain; double txGain; + int writeSamplesControl(std::vector &bufs, int len, bool *underrun, + TIMESTAMP timestamp = 0xffffffff, bool isControl = false); + #ifdef SWLOOPBACK short loopbackBuffer[1000000]; int loopbackBufferSize; @@ -127,11 +130,10 @@ @param len number of samples to write. @param underrun Set if USRP does not have data to transmit, e.g. data not being sent fast enough @param timestamp The timestamp of the first sample of the data buffer. - @param isControl Set if data is a control packet, e.g. a ping command @return The number of samples actually written */ int writeSamples(std::vector &bufs, int len, bool *underrun, - TIMESTAMP timestamp = 0xffffffff, bool isControl = false); + TIMESTAMP timestamp = 0xffffffff); /** Update the alignment between the read and write timestamps */ bool updateAlignment(TIMESTAMP timestamp); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I843384e24b76cdd28a95f9ee4e95e6157098e4a3 Gerrit-Change-Number: 17476 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:31:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:31:54 +0000 Subject: Change in osmo-pcu[master]: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17460 ) Change subject: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie265d70f8ffa7dbf7efbef6030505d9fcb5dc338 Gerrit-Change-Number: 17460 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 16 Mar 2020 10: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 Mon Mar 16 10:31:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:31:56 +0000 Subject: Change in osmo-pcu[master]: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17460 ) Change subject: Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere ...................................................................... Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere We should really be using monotonic clock in all places that gettimeofday is used right now. Since clock_gettime() uses timespec, let's move all code to use timespecs instead to avoid having to convert in several places between timespec and timeval. Actually use osmo_clock_gettime() shim everywhere to be able to control the time everywhere from unit tests. Change-Id: Ie265d70f8ffa7dbf7efbef6030505d9fcb5dc338 --- M src/gprs_bssgp_pcu.cpp M src/gprs_bssgp_pcu.h M src/gprs_codel.c M src/gprs_codel.h M src/gprs_ms.cpp M src/llc.cpp M src/llc.h M src/pcu_utils.h M src/tbf_dl.cpp M src/tbf_dl.h M tests/codel/codel_test.c M tests/llc/LlcTest.cpp 12 files changed, 130 insertions(+), 122 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index ccf233a..63c0a6e 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -662,16 +662,16 @@ static uint32_t get_and_reset_avg_queue_delay(void) { - struct timeval *delay_sum = &the_pcu.queue_delay_sum; + struct timespec *delay_sum = &the_pcu.queue_delay_sum; uint32_t delay_sum_ms = delay_sum->tv_sec * 1000 + - delay_sum->tv_usec / 1000000; + delay_sum->tv_nsec / 1000000000; uint32_t avg_delay_ms = 0; if (the_pcu.queue_delay_count > 0) avg_delay_ms = delay_sum_ms / the_pcu.queue_delay_count; /* Reset accumulator */ - delay_sum->tv_sec = delay_sum->tv_usec = 0; + delay_sum->tv_sec = delay_sum->tv_nsec = 0; the_pcu.queue_delay_count = 0; return avg_delay_ms; @@ -1024,14 +1024,14 @@ the_pcu.queue_frames_recv += frames_recv; } -void gprs_bssgp_update_queue_delay(const struct timeval *tv_recv, - const struct timeval *tv_now) +void gprs_bssgp_update_queue_delay(const struct timespec *tv_recv, + const struct timespec *tv_now) { - struct timeval *delay_sum = &the_pcu.queue_delay_sum; - struct timeval tv_delay; + struct timespec *delay_sum = &the_pcu.queue_delay_sum; + struct timespec tv_delay; - timersub(tv_now, tv_recv, &tv_delay); - timeradd(delay_sum, &tv_delay, delay_sum); + timespecsub(tv_now, tv_recv, &tv_delay); + timespecadd(delay_sum, &tv_delay, delay_sum); the_pcu.queue_delay_count += 1; } diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h index f98e719..2ceef60 100644 --- a/src/gprs_bssgp_pcu.h +++ b/src/gprs_bssgp_pcu.h @@ -37,6 +37,8 @@ } #include +#include + #define QOS_PROFILE 4 #define BSSGP_HDR_LEN 53 #define NS_HDR_LEN 4 @@ -57,7 +59,7 @@ int bvc_unblocked; /* Flow control */ - struct timeval queue_delay_sum; + struct timespec queue_delay_sum; unsigned queue_delay_count; uint8_t fc_tag; unsigned queue_frames_sent; @@ -87,8 +89,8 @@ struct bssgp_bvc_ctx *gprs_bssgp_pcu_current_bctx(void); -void gprs_bssgp_update_queue_delay(const struct timeval *tv_recv, - const struct timeval *tv_now); +void gprs_bssgp_update_queue_delay(const struct timespec *tv_recv, + const struct timespec *tv_now); void gprs_bssgp_update_frames_sent(); void gprs_bssgp_update_bytes_received(unsigned bytes_recv, unsigned frames_recv); diff --git a/src/gprs_codel.c b/src/gprs_codel.c index 02440b4..7c3b2d4 100644 --- a/src/gprs_codel.c +++ b/src/gprs_codel.c @@ -22,12 +22,13 @@ #include "gprs_debug.h" #include +#include #include #include #include -static void control_law(struct gprs_codel *state, struct timeval *delta) +static void control_law(struct gprs_codel *state, struct timespec *delta) { /* 256 / sqrt(x), limited to 255 */ static uint8_t inv_sqrt_tab[] = {255, @@ -57,12 +58,12 @@ inv_sqrt = inv_sqrt_tab[state->count]; /* delta = state->interval / sqrt(count) */ - delta_usecs = state->interval.tv_sec * 1000000 + state->interval.tv_usec; + delta_usecs = state->interval.tv_sec * 1000000 + state->interval.tv_nsec/1000; delta_usecs = delta_usecs * inv_sqrt / 256; q = div(delta_usecs, 1000000); delta->tv_sec = q.quot; - delta->tv_usec = q.rem; + delta->tv_nsec = q.rem * 1000; } void gprs_codel_init(struct gprs_codel *state) @@ -83,12 +84,12 @@ q = div(interval_ms, 1000); state->interval.tv_sec = q.quot; - state->interval.tv_usec = q.rem * 1000; + state->interval.tv_nsec = q.rem * 1000000; /* target ~ 5% of interval */ q = div(interval_ms * 13 / 256, 1000); state->target.tv_sec = q.quot; - state->target.tv_usec = q.rem * 1000; + state->target.tv_nsec = q.rem * 1000000; } void gprs_codel_set_maxpacket(struct gprs_codel *state, int maxpacket) @@ -104,29 +105,29 @@ * This is an broken up variant of the algorithm being described in * http://queue.acm.org/appendices/codel.html */ -int gprs_codel_control(struct gprs_codel *state, const struct timeval *recv, - const struct timeval *now, int bytes) +int gprs_codel_control(struct gprs_codel *state, const struct timespec *recv, + const struct timespec *now, int bytes) { - struct timeval sojourn_time; - struct timeval delta; + struct timespec sojourn_time; + struct timespec delta; if (recv == NULL) goto stop_dropping; - timersub(now, recv, &sojourn_time); + timespecsub(now, recv, &sojourn_time); - if (timercmp(&sojourn_time, &state->target, <)) + if (timespeccmp(&sojourn_time, &state->target, <)) goto stop_dropping; if (bytes >= 0 && (unsigned)bytes <= state->maxpacket) goto stop_dropping; - if (!timerisset(&state->first_above_time)) { - timeradd(now, &state->interval, &state->first_above_time); + if (!timespecisset(&state->first_above_time)) { + timespecadd(now, &state->interval, &state->first_above_time); goto not_ok_to_drop; } - if (timercmp(now, &state->first_above_time, <)) + if (timespeccmp(now, &state->first_above_time, <)) goto not_ok_to_drop; /* Ok to drop */ @@ -134,14 +135,14 @@ if (!state->dropping) { int recently = 0; int in_drop_cycle = 0; - if (timerisset(&state->drop_next)) { - timersub(now, &state->drop_next, &delta); - in_drop_cycle = timercmp(&delta, &state->interval, <); + if (timespecisset(&state->drop_next)) { + timespecsub(now, &state->drop_next, &delta); + in_drop_cycle = timespeccmp(&delta, &state->interval, <); recently = in_drop_cycle; } if (!recently) { - timersub(now, &state->first_above_time, &delta); - recently = !timercmp(&delta, &state->interval, <); + timespecsub(now, &state->first_above_time, &delta); + recently = !timespeccmp(&delta, &state->interval, <); }; if (!recently) return 0; @@ -155,24 +156,24 @@ state->drop_next = *now; } else { - if (timercmp(now, &state->drop_next, <)) + if (timespeccmp(now, &state->drop_next, <)) return 0; state->count += 1; } control_law(state, &delta); - timeradd(&state->drop_next, &delta, &state->drop_next); + timespecadd(&state->drop_next, &delta, &state->drop_next); #if 1 LOGP(DRLCMAC, LOGL_INFO, "CoDel decided to drop packet, window = %d.%03dms, count = %d\n", - (int)delta.tv_sec, (int)(delta.tv_usec / 1000), state->count); + (int)delta.tv_sec, (int)(delta.tv_nsec / 1000000), state->count); #endif return 1; stop_dropping: - timerclear(&state->first_above_time); + timespecclear(&state->first_above_time); not_ok_to_drop: state->dropping = 0; return 0; diff --git a/src/gprs_codel.h b/src/gprs_codel.h index fb74423..3ad7efc 100644 --- a/src/gprs_codel.h +++ b/src/gprs_codel.h @@ -27,7 +27,7 @@ #pragma once -#include +#include /* Spec default values */ #define GPRS_CODEL_DEFAULT_INTERVAL_MS 100 @@ -40,10 +40,10 @@ struct gprs_codel { int dropping; unsigned count; - struct timeval first_above_time; - struct timeval drop_next; - struct timeval target; - struct timeval interval; + struct timespec first_above_time; + struct timespec drop_next; + struct timespec target; + struct timespec interval; unsigned maxpacket; }; @@ -66,8 +66,8 @@ * * \return != 0 if the packet should be dropped, 0 otherwise */ -int gprs_codel_control(struct gprs_codel *state, const struct timeval *recv, - const struct timeval *now, int bytes); +int gprs_codel_control(struct gprs_codel *state, const struct timespec *recv, + const struct timespec *now, int bytes); /*! * \brief Initialise CoDel state diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 8074cb4..102f558 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -33,6 +33,7 @@ extern "C" { #include #include + #include #include #include #include "coding_scheme.h" @@ -45,7 +46,7 @@ static int64_t now_msec() { struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); return int64_t(ts.tv_sec) * 1000 + ts.tv_nsec / 1000000; } diff --git a/src/llc.cpp b/src/llc.cpp index 4cd0cc4..8ef7a53 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -27,6 +27,8 @@ #include } +#include "pcu_utils.h" + /* reset LLC frame */ void gprs_llc::reset() { @@ -104,7 +106,7 @@ } -void gprs_llc_queue::enqueue(struct msgb *llc_msg, const struct timeval *expire_time) +void gprs_llc_queue::enqueue(struct msgb *llc_msg, const struct timespec *expire_time) { MetaInfo *meta_storage; @@ -114,7 +116,7 @@ m_queue_octets += msgb_length(llc_msg); meta_storage = (MetaInfo *)&llc_msg->cb[0]; - osmo_gettimeofday(&meta_storage->recv_time, NULL); + osmo_clock_gettime(CLOCK_MONOTONIC, &meta_storage->recv_time); meta_storage->expire_time = *expire_time; msgb_enqueue(&m_queue, llc_msg); @@ -162,7 +164,7 @@ const MetaInfo *mi1 = (MetaInfo *)&msg1->cb[0]; const MetaInfo *mi2 = (MetaInfo *)&msg2->cb[0]; - if (timercmp(&mi2->recv_time, &mi1->recv_time, >)) { + if (timespeccmp(&mi2->recv_time, &mi1->recv_time, >)) { msg = msg1; msg1 = NULL; } else { @@ -192,7 +194,7 @@ struct msgb *gprs_llc_queue::dequeue(const MetaInfo **info) { struct msgb *msg; - struct timeval *tv, tv_now, tv_result; + struct timespec *tv, tv_now, tv_result; uint32_t lifetime; const MetaInfo *meta_storage; @@ -209,17 +211,17 @@ m_queue_octets -= msgb_length(msg); /* take the second time */ - osmo_gettimeofday(&tv_now, NULL); - tv = (struct timeval *)&msg->data[sizeof(*tv)]; - timersub(&tv_now, &meta_storage->recv_time, &tv_result); + osmo_clock_gettime(CLOCK_MONOTONIC, &tv_now); + tv = (struct timespec *)&msg->data[sizeof(*tv)]; + timespecsub(&tv_now, &meta_storage->recv_time, &tv_result); - lifetime = tv_result.tv_sec*1000 + tv_result.tv_usec/1000; + lifetime = tv_result.tv_sec*1000 + tv_result.tv_nsec/1000000; m_avg_queue_delay = m_avg_queue_delay * ALPHA + lifetime * (1-ALPHA); return msg; } -void gprs_llc_queue::calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, struct timeval *tv) +void gprs_llc_queue::calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, struct timespec *tv) { uint16_t delay_csec; if (bts->bts_data()->force_llc_lifetime) @@ -234,20 +236,19 @@ } /* calculate timestamp of timeout */ - struct timeval now, csec; - osmo_gettimeofday(&now, NULL); - csec.tv_usec = (delay_csec % 100) * 10000; - csec.tv_sec = delay_csec / 100; + struct timespec now, csec; + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + csecs_to_timespec(delay_csec, &csec); - timeradd(&now, &csec, tv); + timespecadd(&now, &csec, tv); } -bool gprs_llc_queue::is_frame_expired(const struct timeval *tv_now, - const struct timeval *tv) +bool gprs_llc_queue::is_frame_expired(const struct timespec *tv_now, + const struct timespec *tv) { /* Timeout is infinite */ - if (tv->tv_sec == 0 && tv->tv_usec == 0) + if (tv->tv_sec == 0 && tv->tv_nsec == 0) return false; - return timercmp(tv_now, tv, >); + return timespeccmp(tv_now, tv, >); } diff --git a/src/llc.h b/src/llc.h index 8667e00..3c2e57a 100644 --- a/src/llc.h +++ b/src/llc.h @@ -24,7 +24,7 @@ #include #include -#include +#include #define LLC_MAX_LEN 1543 @@ -63,19 +63,19 @@ */ struct gprs_llc_queue { struct MetaInfo { - struct timeval recv_time; - struct timeval expire_time; + struct timespec recv_time; + struct timespec expire_time; }; static void calc_pdu_lifetime(BTS *bts, const uint16_t pdu_delay_csec, - struct timeval *tv); - static bool is_frame_expired(const struct timeval *now, - const struct timeval *tv); + struct timespec *tv); + static bool is_frame_expired(const struct timespec *now, + const struct timespec *tv); static bool is_user_data_frame(uint8_t *data, size_t len); void init(); - void enqueue(struct msgb *llc_msg, const struct timeval *expire_time); + void enqueue(struct msgb *llc_msg, const struct timespec *expire_time); struct msgb *dequeue(const MetaInfo **info = 0); void clear(BTS *bts); void move_and_merge(gprs_llc_queue *o); diff --git a/src/pcu_utils.h b/src/pcu_utils.h index 3292452..8196a93 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -19,6 +19,7 @@ extern "C" { #include } +#include inline int msecs_to_frames(int msecs) { return (msecs * (1024 * 1000 / 4615)) / 1024; @@ -29,9 +30,9 @@ return (fn + offset) % GSM_MAX_FN; } -inline void csecs_to_timeval(unsigned csecs, struct timeval *tv) { - tv->tv_sec = csecs / 100; - tv->tv_usec = (csecs % 100) * 10000; +inline void csecs_to_timespec(unsigned csecs, struct timespec *ts) { + ts->tv_sec = csecs / 100; + ts->tv_nsec = (csecs % 100) * 10000000; } template diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 5c0fd9d..4e8966e 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -98,9 +98,9 @@ void gprs_rlcmac_dl_tbf::start_llc_timer() { if (bts_data()->llc_idle_ack_csec > 0) { - struct timeval tv; - csecs_to_timeval(bts_data()->llc_idle_ack_csec, &tv); - osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_usec); + struct timespec tv; + csecs_to_timespec(bts_data()->llc_idle_ack_csec, &tv); + osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_nsec / 1000); } } @@ -108,7 +108,7 @@ const uint16_t pdu_delay_csec, const uint8_t *data, const uint16_t len) { - struct timeval expire_time; + struct timespec expire_time; LOGPTBFDL(this, LOGL_DEBUG, "appending %u bytes\n", len); @@ -262,21 +262,21 @@ struct msgb *gprs_rlcmac_dl_tbf::llc_dequeue(bssgp_bvc_ctx *bctx) { struct msgb *msg; - struct timeval tv_now, tv_now2; + struct timespec tv_now, tv_now2; uint32_t octets = 0, frames = 0; - struct timeval hyst_delta = {0, 0}; + struct timespec hyst_delta = {0, 0}; const unsigned keep_small_thresh = 60; const gprs_llc_queue::MetaInfo *info; if (bts_data()->llc_discard_csec) - csecs_to_timeval(bts_data()->llc_discard_csec, &hyst_delta); + csecs_to_timespec(bts_data()->llc_discard_csec, &hyst_delta); - gettimeofday(&tv_now, NULL); - timeradd(&tv_now, &hyst_delta, &tv_now2); + osmo_clock_gettime(CLOCK_MONOTONIC, &tv_now); + timespecadd(&tv_now, &hyst_delta, &tv_now2); while ((msg = llc_queue()->dequeue(&info))) { - const struct timeval *tv_disc = &info->expire_time; - const struct timeval *tv_recv = &info->recv_time; + const struct timespec *tv_disc = &info->expire_time; + const struct timespec *tv_recv = &info->recv_time; gprs_bssgp_update_queue_delay(tv_recv, &tv_now); diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 1011665..f3838d7 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -72,7 +72,6 @@ void set_window_size(); void update_coding_scheme_counter_dl(enum CodingScheme cs); - /* TODO: add the gettimeofday as parameter */ struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); /* Please note that all variables here will be reset when changing diff --git a/tests/codel/codel_test.c b/tests/codel/codel_test.c index 2ce2429..4244eae 100644 --- a/tests/codel/codel_test.c +++ b/tests/codel/codel_test.c @@ -13,16 +13,17 @@ #endif #include #include +#include #include #include "gprs_codel.h" #include #include -#include +#include -static int do_codel_control(struct gprs_codel *state, const struct timeval *recv, - struct timeval *now, const struct timeval *delta_now, int count) +static int do_codel_control(struct gprs_codel *state, const struct timespec *recv, + struct timespec *now, const struct timespec *delta_now, int count) { int drop; @@ -32,11 +33,11 @@ "recv = %d.%03d, now = %d.%03d, " "codel.count = %d\n", count, - (int)recv->tv_sec, (int)recv->tv_usec/1000, - (int)now->tv_sec, (int)now->tv_usec/1000, + (int)recv->tv_sec, (int)recv->tv_nsec/1000000, + (int)now->tv_sec, (int)now->tv_nsec/1000000, state->count); } else { - timeradd(now, delta_now, now); + timespecadd(now, delta_now, now); } return drop == 0 ? 0 : 1; @@ -45,11 +46,11 @@ static void test_codel(void) { struct gprs_codel codel; - struct timeval now; - struct timeval recv; - const struct timeval delta_now = {0, 10000}; - const struct timeval init_delta_recv = {0, 5000}; - struct timeval delta_recv; + struct timespec now; + struct timespec recv; + const struct timespec delta_now = {0, 10000000}; + const struct timespec init_delta_recv = {0, 5000000}; + struct timespec delta_recv; unsigned count; unsigned sum = 0; unsigned dropped = 0; @@ -59,13 +60,13 @@ gprs_codel_init(&codel); gprs_codel_set_interval(&codel, 100); - timerclear(&now); - timerclear(&recv); + timespecclear(&now); + timespecclear(&recv); delta_recv = init_delta_recv; for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -75,7 +76,7 @@ for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -83,11 +84,11 @@ OSMO_ASSERT(codel.dropping); /* slow down recv rate */ - delta_recv.tv_usec = delta_now.tv_usec; + delta_recv.tv_nsec = delta_now.tv_nsec; for (count = 0; count < 75; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -96,7 +97,7 @@ for (count = 0; count < 50; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -109,7 +110,7 @@ for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } @@ -118,7 +119,7 @@ for (count = 0; count < 20; count++, sum++) { drop = do_codel_control(&codel, &recv, &now, &delta_now, sum); - timeradd(&recv, &delta_recv, &recv); + timespecadd(&recv, &delta_recv, &recv); dropped += drop; } diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp index 84164a0..10cd96b 100644 --- a/tests/llc/LlcTest.cpp +++ b/tests/llc/LlcTest.cpp @@ -42,11 +42,12 @@ void *tall_pcu_ctx; int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; +static struct timespec *clk_mono_override_time; static void enqueue_data(gprs_llc_queue *queue, const uint8_t *data, size_t len, - const struct timeval *expire_time) + const struct timespec *expire_time) { - struct timeval *tv; + struct timespec *tv; uint8_t *msg_data; struct msgb *llc_msg = msgb_alloc(len + sizeof(*tv) * 2, "llc_pdu_queue"); @@ -81,7 +82,7 @@ } static void enqueue_data(gprs_llc_queue *queue, const char *message, - const struct timeval *expire_time) + const struct timespec *expire_time) { enqueue_data(queue, (uint8_t *)(message), strlen(message), expire_time); } @@ -96,7 +97,7 @@ static void test_llc_queue() { gprs_llc_queue queue; - struct timeval expire_time = {0}; + struct timespec expire_time = {0}; printf("=== start %s ===\n", __func__); @@ -144,17 +145,17 @@ OSMO_ASSERT(queue.octets() == 0); info1.recv_time.tv_sec = 123456777; - info1.recv_time.tv_usec = 123456; + info1.recv_time.tv_nsec = 123456000; info1.expire_time.tv_sec = 123456789; - info1.expire_time.tv_usec = 987654; - osmo_gettimeofday_override_time = info1.recv_time; + info1.expire_time.tv_nsec = 987654000; + *clk_mono_override_time = info1.recv_time; enqueue_data(&queue, "LLC message 1", &info1.expire_time); info2.recv_time.tv_sec = 123458000; - info2.recv_time.tv_usec = 547352; + info2.recv_time.tv_nsec = 547352000; info2.expire_time.tv_sec = 123458006; - info2.expire_time.tv_usec = 867252; - osmo_gettimeofday_override_time = info2.recv_time; + info2.expire_time.tv_nsec = 867252000; + *clk_mono_override_time = info2.recv_time; enqueue_data(&queue, "LLC message 2", &info2.expire_time); dequeue_and_check(&queue, "LLC message 1", &info1); @@ -171,26 +172,26 @@ { gprs_llc_queue queue1; gprs_llc_queue queue2; - struct timeval expire_time = {0}; + struct timespec expire_time = {0}; printf("=== start %s ===\n", __func__); queue1.init(); queue2.init(); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue1, "*A*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue1, "*B*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue2, "*C*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue1, "*D*", &expire_time); - osmo_gettimeofday_override_time.tv_sec += 1; + clk_mono_override_time->tv_sec += 1; enqueue_data(&queue2, "*E*", &expire_time); OSMO_ASSERT(queue1.size() == 3); @@ -235,9 +236,10 @@ vty_init(&pcu_vty_info); pcu_vty_init(); - osmo_gettimeofday_override = true; - osmo_gettimeofday_override_time.tv_sec = 123456777; - osmo_gettimeofday_override_time.tv_usec = 123456; + osmo_clock_override_enable(CLOCK_MONOTONIC, true); + clk_mono_override_time = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); + clk_mono_override_time->tv_sec = 123456777; + clk_mono_override_time->tv_nsec = 123456000; test_llc_queue(); test_llc_meta(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie265d70f8ffa7dbf7efbef6030505d9fcb5dc338 Gerrit-Change-Number: 17460 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:32:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:14 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 10: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 Mon Mar 16 10:32:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:17 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 10: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 Mon Mar 16 10:32:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:35 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: be safe against a theoretical integer overflow In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17449 ) Change subject: trxcon/scheduler: be safe against a theoretical integer overflow ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 Gerrit-Change-Number: 17449 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 10:32: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 Mar 16 10:32:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:38 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print TDMA statistics on lchan deactivation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17450 ) Change subject: trxcon/scheduler: print TDMA statistics on lchan deactivation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a Gerrit-Change-Number: 17450 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 10:32: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 Mar 16 10:32:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: refactor TDMA frame number calculation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17351 ) Change subject: trxcon/scheduler: refactor TDMA frame number calculation ...................................................................... trxcon/scheduler: refactor TDMA frame number calculation Using TDMA frame number of a burst with bid=0 is fine for xCCH, but not for TCH and FACCH, because they use the block-diagonel interleaving. A single block on TCH may be interleaved over 8, 4 or even 6 consecutive bursts depending on its type. Since we now have the measurement history, we can attach TDMA frame number to each measurement set, and then look up N-th one when averaging the measurements in sched_trx_meas_avg(). Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c 8 files changed, 33 insertions(+), 46 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/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c index 55ec7e9..ae43ca9 100644 --- a/src/host/trxcon/sched_lchan_common.c +++ b/src/host/trxcon/sched_lchan_common.c @@ -137,9 +137,11 @@ dl_hdr.chan_nr = lchan_desc->chan_nr | ts->index; dl_hdr.link_id = lchan_desc->link_id; dl_hdr.band_arfcn = htons(trx->band_arfcn); - dl_hdr.frame_nr = htonl(lchan->rx_first_fn); dl_hdr.num_biterr = bit_error_count; + /* sched_trx_meas_avg() gives us TDMA frame number of the first burst */ + dl_hdr.frame_nr = htonl(meas->fn); + /* RX level: 0 .. 63 in typical GSM notation (dBm + 110) */ dl_hdr.rx_level = dbm2rxlev(meas->rssi); @@ -154,7 +156,7 @@ /* Optional GSMTAP logging */ if (l2_len > 0 && (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH)) { - sched_gsmtap_send(lchan->type, lchan->rx_first_fn, ts->index, + sched_gsmtap_send(lchan->type, meas->fn, ts->index, trx->band_arfcn, meas->rssi, 0, l2, l2_len); } diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 4fd7d35..b625d2f 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -48,12 +48,10 @@ uint8_t l2[GPRS_L2_MAX_LEN], *mask; int n_errors, n_bits_total, rc; sbit_t *buffer, *offset; - uint32_t *first_fn; size_t l2_len; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; - first_fn = &lchan->rx_first_fn; mask = &lchan->rx_burst_mask; buffer = lchan->rx_bursts; @@ -61,10 +59,8 @@ "fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); /* Reset internal state */ - if (bid == 0) { - *first_fn = fn; + if (bid == 0) *mask = 0x0; - } /* Update mask */ *mask |= (1 << bid); @@ -88,8 +84,8 @@ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " "fn=%u (%u/%u) for %s\n", - burst_mask2str(mask, 4), *first_fn, - (*first_fn) % ts->mf_layout->period, + burst_mask2str(mask, 4), lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); @@ -101,8 +97,8 @@ NULL, &n_errors, &n_bits_total); if (rc < 0) { LOGP(DSCHD, LOGL_ERROR, "Received bad packet data frame " - "at fn=%u (%u/%u) for %s\n", *first_fn, - (*first_fn) % ts->mf_layout->period, + "at fn=%u (%u/%u) for %s\n", lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); } diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 6531e11..595101f 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -50,12 +50,10 @@ int n_errors = -1, n_bits_total, rc; sbit_t *buffer, *offset; uint8_t l2[128], *mask; - uint32_t *first_fn; size_t l2_len; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; - first_fn = &lchan->rx_first_fn; mask = &lchan->rx_burst_mask; buffer = lchan->rx_bursts; @@ -63,10 +61,8 @@ lchan_desc->name, fn, ts->index, bid); /* Reset internal state */ - if (bid == 0) { - *first_fn = fn; + if (bid == 0) *mask = 0x00; - } /* Update mask */ *mask |= (1 << bid); @@ -90,8 +86,8 @@ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " "fn=%u (%u/%u) for %s\n", - burst_mask2str(mask, 8), *first_fn, - (*first_fn) % ts->mf_layout->period, + burst_mask2str(mask, 8), lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); @@ -152,6 +148,7 @@ /* Didn't try to decode, fake measurements */ if (n_errors < 0) { lchan->meas_avg = (struct trx_meas_set) { + .fn = lchan->meas_avg.fn, .toa256 = 0, .rssi = -110, }; diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index e7037fe..f822993 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -291,23 +291,19 @@ /* Check decoding result */ if (rc < 4) { - LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame (%s) ending at " - "fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), - fn, lchan_desc->name, rc); - /* Calculate AVG of the measurements (assuming 4 bursts) */ sched_trx_meas_avg(lchan, 4); + LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame (%s) " + "at fn=%u on %s (rc=%d)\n", burst_mask2str(mask, 6), + lchan->meas_avg.fn, lchan_desc->name, rc); + /* Send BFI */ goto bfi; } else if (rc == GSM_MACBLOCK_LEN) { /* Skip decoding of the next 2 stolen bursts */ lchan->dl_ongoing_facch = true; - /* Calculate TDMA frame number of the first burst */ - lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, - fn, true); /* FACCH/H */ - /* Calculate AVG of the measurements (FACCH/H takes 6 bursts) */ sched_trx_meas_avg(lchan, 6); @@ -326,10 +322,6 @@ sched_trx_meas_avg(lchan, 4); } - /* Calculate TDMA frame number of the first burst */ - lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, - fn, false); /* TCH/H */ - /* Send a traffic frame to the higher layers */ return sched_send_dt_ind(trx, ts, lchan, l2, l2_len, n_errors, false, true); @@ -346,6 +338,7 @@ /* Didn't try to decode, fake measurements */ if (n_errors < 0) { lchan->meas_avg = (struct trx_meas_set) { + .fn = sched_tchh_block_dl_first_fn(lchan->type, fn, false), .toa256 = 0, .rssi = -110, }; @@ -354,10 +347,6 @@ n_errors = 0; } - /* Calculate TDMA frame number of the first burst */ - lchan->rx_first_fn = sched_tchh_block_dl_first_fn(lchan->type, - fn, false); /* TCH/H */ - /* BFI is not applicable in signalling mode */ if (lchan->tch_mode == GSM48_CMODE_SIGN) return sched_send_dt_ind(trx, ts, lchan, NULL, 0, diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index aa8d4dd..cc14d2f 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -48,11 +48,9 @@ uint8_t l2[GSM_MACBLOCK_LEN], *mask; int n_errors, n_bits_total, rc; sbit_t *buffer, *offset; - uint32_t *first_fn; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; - first_fn = &lchan->rx_first_fn; mask = &lchan->rx_burst_mask; buffer = lchan->rx_bursts; @@ -60,10 +58,8 @@ lchan_desc->name, fn, ts->index, bid); /* Reset internal state */ - if (bid == 0) { - *first_fn = fn; + if (bid == 0) *mask = 0x0; - } /* Update mask */ *mask |= (1 << bid); @@ -87,8 +83,8 @@ if ((*mask & 0xf) != 0xf) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) data frame at " "fn=%u (%u/%u) for %s\n", - burst_mask2str(mask, 4), *first_fn, - (*first_fn) % ts->mf_layout->period, + burst_mask2str(mask, 4), lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); /* NOTE: xCCH has an insane amount of redundancy for error @@ -101,8 +97,8 @@ rc = gsm0503_xcch_decode(l2, buffer, &n_errors, &n_bits_total); if (rc) { LOGP(DSCHD, LOGL_ERROR, "Received bad data frame at fn=%u " - "(%u/%u) for %s\n", *first_fn, - (*first_fn) % ts->mf_layout->period, + "(%u/%u) for %s\n", lchan->meas_avg.fn, + lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 081e3ca..e6e759a 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -464,7 +464,6 @@ /* Reset internal state variables */ lchan->rx_burst_mask = 0x00; lchan->tx_burst_mask = 0x00; - lchan->rx_first_fn = 0; /* Free burst memory */ talloc_free(lchan->rx_bursts); @@ -747,6 +746,10 @@ toa256_sum += meas->toa256; rssi_sum += meas->rssi; + /* Do not go below the first burst */ + if (i + 1 == n) + break; + if (meas == MEAS_HIST_FIRST(hist)) meas = MEAS_HIST_LAST(hist); else @@ -756,4 +759,7 @@ /* Calculate the AVG */ lchan->meas_avg.toa256 = toa256_sum / n; lchan->meas_avg.rssi = rssi_sum / n; + + /* As a bonus, store TDMA frame number of the first burst */ + lchan->meas_avg.fn = meas->fn; } diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index a4fc90f..44f502c 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -159,6 +159,8 @@ }; struct trx_meas_set { + /*! \brief TDMA frame number of the first burst this set belongs to */ + uint32_t fn; /*! \brief ToA256 (Timing of Arrival, 1/256 of a symbol) */ int16_t toa256; /*! \brief RSSI (Received Signal Strength Indication) */ @@ -182,8 +184,6 @@ /*! \brief Burst type: GMSK or 8PSK */ enum trx_burst_type burst_type; - /*! \brief Frame number of first burst */ - uint32_t rx_first_fn; /*! \brief Mask of received bursts */ uint8_t rx_burst_mask; /*! \brief Mask of transmitted bursts */ diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 343c6ca..20c64ec 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -600,6 +600,7 @@ meas = (struct trx_meas_set) { .toa256 = toa256, .rssi = rssi, + .fn = fn, }; /* Poke scheduler */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9221957297a6154edc1767a0e3753f5ee383173f Gerrit-Change-Number: 17351 Gerrit-PatchSet: 6 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 Mar 16 10:32:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: substitute lost TDMA frames on Downlink In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17352 ) Change subject: trxcon/scheduler: substitute lost TDMA frames on Downlink ...................................................................... trxcon/scheduler: substitute lost TDMA frames on Downlink It may happen that one or more Downlink bursts are lost on their way to the MS due to a variety of reasons. Modern transceivers supporting TRXDv1 protocol would substitute lost bursts with so-called NOPE indications. Hovewer, neither fake_trx.py nor grgsm_trx do support this feature at the moment. We can still detect and compensate TDMA frame loss per logical channels in the same way as it's already done in osmo-bts-trx. In short, we should keep TDMA frame number of the last received burst in the logical channel state, and using the appropriate multiframe layout, check if there were any gaps between TDMA frame number of the current burst and the stored one. Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 --- M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 2 files changed, 100 insertions(+), 55 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/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index e6e759a..ba75b6f 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -321,9 +321,6 @@ if (ts == NULL) return -EINVAL; - /* Flush TS frame counter */ - ts->mf_last_fn = 0; - /* Undefine multiframe layout */ ts->mf_layout = NULL; @@ -491,6 +488,9 @@ /* Reset ciphering state */ memset(&lchan->a5, 0x00, sizeof(lchan->a5)); + + /* Reset TDMA frame statistics */ + memset(&lchan->tdma, 0x00, sizeof(lchan->tdma)); } int sched_trx_deactivate_lchan(struct trx_ts *ts, enum trx_lchan_type chan) @@ -610,8 +610,65 @@ } } +static int subst_frame_loss(struct trx_lchan_state *lchan, + trx_lchan_rx_func *handler, + uint32_t fn) +{ + const struct trx_multiframe *mf; + const struct trx_frame *fp; + unsigned int elapsed, i; + + /* Wait until at least one TDMA frame is processed */ + if (lchan->tdma.num_proc == 0) + return -EAGAIN; + + /* Short alias for the current multiframe */ + mf = lchan->ts->mf_layout; + + /* How many frames elapsed since the last one? */ + elapsed = TDMA_FN_SUB(fn, lchan->tdma.last_proc); + if (elapsed > mf->period) { + LOGP(DSCHD, LOGL_NOTICE, "Too many (>%u) contiguous TDMA frames elapsed (%u) " + "since the last processed fn=%u\n", mf->period, + elapsed, lchan->tdma.last_proc); + } else if (elapsed == 0) { + LOGP(DSCHD, LOGL_ERROR, "No TDMA frames elapsed since the last processed " + "fn=%u, must be a bug?\n", lchan->tdma.last_proc); + return -EIO; + } + + /* TODO: make bits constant */ + static sbit_t bits[148] = { 0 }; + struct trx_meas_set fake_meas = { + .fn = lchan->tdma.last_proc, + .rssi = -120, + .toa256 = 0, + }; + + /* Traverse from fp till the current frame */ + for (i = 0; i < elapsed - 1; i++) { + fp = &mf->frames[TDMA_FN_INC(&fake_meas.fn) % mf->period]; + if (fp->dl_chan != lchan->type) + continue; + + LOGP(DSCHD, LOGL_NOTICE, "Substituting lost TDMA frame %u on %s\n", + fake_meas.fn, trx_lchan_desc[lchan->type].name); + + handler(lchan->ts->trx, lchan->ts, lchan, + fake_meas.fn, fp->dl_bid, + bits, &fake_meas); + + /* Update TDMA frame statistics */ + lchan->tdma.last_proc = fake_meas.fn; + lchan->tdma.num_proc++; + lchan->tdma.num_lost++; + } + + return 0; +} + int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, - uint32_t burst_fn, sbit_t *bits, uint16_t nbits, + uint32_t fn, sbit_t *bits, uint16_t nbits, const struct trx_meas_set *meas) { struct trx_lchan_state *lchan; @@ -620,7 +677,6 @@ trx_lchan_rx_func *handler; enum trx_lchan_type chan; - uint32_t fn, elapsed; uint8_t offset, bid; /* Check whether required timeslot is allocated and configured */ @@ -631,61 +687,42 @@ return -EINVAL; } - /* Calculate how many frames have been elapsed */ - elapsed = TDMA_FN_SUB(burst_fn, ts->mf_last_fn); + /* Get frame from multiframe */ + offset = fn % ts->mf_layout->period; + frame = ts->mf_layout->frames + offset; - /** - * If not too many frames have been elapsed, - * start counting from last fn + 1 - */ - if (elapsed < 10) - fn = TDMA_FN_SUM(ts->mf_last_fn, 1); - else - fn = burst_fn; + /* Get required info from frame */ + bid = frame->dl_bid; + chan = frame->dl_chan; + handler = trx_lchan_desc[chan].rx_fn; - while (1) { - /* Get frame from multiframe */ - offset = fn % ts->mf_layout->period; - frame = ts->mf_layout->frames + offset; + /* Omit bursts which have no handler, like IDLE bursts. + * TODO: handle noise indications during IDLE frames. */ + if (!handler) + return -ENODEV; - /* Get required info from frame */ - bid = frame->dl_bid; - chan = frame->dl_chan; - handler = trx_lchan_desc[chan].rx_fn; + /* Find required channel state */ + lchan = sched_trx_find_lchan(ts, chan); + if (lchan == NULL) + return -ENODEV; - /* Omit bursts which have no handler, like IDLE bursts */ - if (!handler) - goto next_frame; + /* Ensure that channel is active */ + if (!lchan->active) + return 0; - /* Find required channel state */ - lchan = sched_trx_find_lchan(ts, chan); - if (lchan == NULL) - goto next_frame; + /* Compensate lost TDMA frames (if any) */ + subst_frame_loss(lchan, handler, fn); - /* Ensure that channel is active */ - if (!lchan->active) - goto next_frame; + /* Perform A5/X decryption if required */ + if (lchan->a5.algo) + sched_trx_a5_burst_dec(lchan, fn, bits); - /* Reached current fn */ - if (fn == burst_fn) { - /* Perform A5/X decryption if required */ - if (lchan->a5.algo) - sched_trx_a5_burst_dec(lchan, fn, bits); + /* Put burst to handler */ + handler(trx, ts, lchan, fn, bid, bits, meas); - /* Put burst to handler */ - handler(trx, ts, lchan, fn, bid, bits, meas); - } - -next_frame: - /* Reached current fn */ - if (fn == burst_fn) - break; - - TDMA_FN_INC(&fn); - } - - /* Set last processed frame number */ - ts->mf_last_fn = fn; + /* Update TDMA frame statistics */ + lchan->tdma.last_proc = fn; + lchan->tdma.num_proc++; return 0; } diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 44f502c..cf63df1 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -209,6 +209,16 @@ /*! \brief AVG measurements of the last received block */ struct trx_meas_set meas_avg; + /*! \brief TDMA loss detection state */ + struct { + /*! \brief Last processed TDMA frame number */ + uint32_t last_proc; + /*! \brief Number of processed TDMA frames */ + unsigned long num_proc; + /*! \brief Number of lost TDMA frames */ + unsigned long num_lost; + } tdma; + /*! \brief SACCH state */ struct { /*! \brief Cached measurement report (last received) */ @@ -255,8 +265,6 @@ struct trx_ts { /*! \brief Timeslot index within a frame (0..7) */ uint8_t index; - /*! \brief Last received frame number */ - uint32_t mf_last_fn; /*! \brief Pointer to multiframe layout */ const struct trx_multiframe *mf_layout; @@ -356,7 +364,7 @@ void sched_prim_flush_queue(struct llist_head *list); int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, - uint32_t burst_fn, sbit_t *bits, uint16_t nbits, + uint32_t fn, sbit_t *bits, uint16_t nbits, const struct trx_meas_set *meas); int sched_trx_handle_tx_burst(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3551d79796a3730565c2c70577e9d134e636f275 Gerrit-Change-Number: 17352 Gerrit-PatchSet: 6 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 Mar 16 10:32:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:42 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: constify Downlink burst bits where possible In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17353 ) Change subject: trxcon/scheduler: constify Downlink burst bits where possible ...................................................................... trxcon/scheduler: constify Downlink burst bits where possible Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_sch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 8 files changed, 12 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 1184e5b..2c3c3b2 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -31,35 +31,35 @@ /* Forward declaration of handlers */ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas); + const sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index b625d2f..d965daa 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -42,7 +42,7 @@ int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GPRS_L2_MAX_LEN], *mask; diff --git a/src/host/trxcon/sched_lchan_sch.c b/src/host/trxcon/sched_lchan_sch.c index 17f68b0..18d4c58 100644 --- a/src/host/trxcon/sched_lchan_sch.c +++ b/src/host/trxcon/sched_lchan_sch.c @@ -70,7 +70,7 @@ int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { sbit_t payload[2 * 39]; struct gsm_time time; diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 595101f..198d25f 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -44,7 +44,7 @@ int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index f822993..5edbfcd 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -200,7 +200,7 @@ int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; int n_errors = -1, n_bits_total, rc; diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index cc14d2f..0818e20 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -42,7 +42,7 @@ int rx_data_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, - sbit_t *bits, const struct trx_meas_set *meas) + const sbit_t *bits, const struct trx_meas_set *meas) { const struct trx_lchan_desc *lchan_desc; uint8_t l2[GSM_MACBLOCK_LEN], *mask; diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index ba75b6f..1efae24 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -637,8 +637,7 @@ return -EIO; } - /* TODO: make bits constant */ - static sbit_t bits[148] = { 0 }; + static const sbit_t bits[148] = { 0 }; struct trx_meas_set fake_meas = { .fn = lchan->tdma.last_proc, .rssi = -120, diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index cf63df1..fb7ecd4 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -99,7 +99,7 @@ typedef int trx_lchan_rx_func(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, - uint32_t fn, uint8_t bid, sbit_t *bits, + uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); typedef int trx_lchan_tx_func(struct trx_instance *trx, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib3e3a0a5b4551126b1a9439000d4438c58a6a90a Gerrit-Change-Number: 17353 Gerrit-PatchSet: 6 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 Mar 16 10:32:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:43 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: align Downlink reception to the first burst In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17354 ) Change subject: trxcon/scheduler: align Downlink reception to the first burst ...................................................................... trxcon/scheduler: align Downlink reception to the first burst It may happen that the burst reception would start from bid != 0: <0005> sched_trx.c:263 (Re)configure TDMA timeslot #2 as TCH/H+SACCH <0005> sched_trx.c:420 Activating lchan=TCH/H(0) on ts=2 <0005> sched_trx.c:420 Activating lchan=SACCH/TH(0) on ts=2 <0006> sched_lchan_xcch.c:96 Received incomplete data frame at fn=0 (0/104) for SACCH/TH(0) <0006> sched_lchan_xcch.c:106 Received bad data frame at fn=0 (0/104) for SACCH/TH(0) so in that case, both measurement processing and the frame number calculation would yield incorrect and/or incomplete results. The Rx burst mask can be used to eliminate this problem. In particular, if we shift it left instead of cleaning, it would never be equal 0x00 after at least one burst is received. This would allow us to skip decoding of an incomplete frame at the beginning when the logical channel was just activated. Note that TCH/H handler is not affected because it already uses the strategy described above, so we keep it unchanged. Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Related: OS#3554 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_xcch.c 3 files changed, 18 insertions(+), 9 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/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index d965daa..8de947e 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -58,9 +58,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Packet data received on %s: " "fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Reset internal state */ - if (bid == 0) - *mask = 0x0; + /* Align to the first burst of a block */ + if (*mask == 0x00 && bid != 0) + return 0; /* Update mask */ *mask |= (1 << bid); @@ -92,6 +92,9 @@ return -1; } + /* Keep the mask updated */ + *mask = *mask << 4; + /* Attempt to decode */ rc = gsm0503_pdtch_decode(l2, buffer, NULL, &n_errors, &n_bits_total); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 198d25f..312425b 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -60,9 +60,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Traffic received on %s: fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Reset internal state */ - if (bid == 0) - *mask = 0x00; + /* Align to the first burst of a block */ + if (*mask == 0x00 && bid != 0) + return 0; /* Update mask */ *mask |= (1 << bid); @@ -95,6 +95,9 @@ goto bfi; } + /* Keep the mask updated */ + *mask = *mask << 4; + switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: case GSM48_CMODE_SPEECH_V1: /* FR */ diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 0818e20..a0b61ad 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -57,9 +57,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Data received on %s: fn=%u ts=%u bid=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Reset internal state */ - if (bid == 0) - *mask = 0x0; + /* Align to the first burst of a block */ + if (*mask == 0x00 && bid != 0) + return 0; /* Update mask */ *mask |= (1 << bid); @@ -93,6 +93,9 @@ * abort here. */ } + /* Keep the mask updated */ + *mask = *mask << 4; + /* Attempt to decode */ rc = gsm0503_xcch_decode(l2, buffer, &n_errors, &n_bits_total); if (rc) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib8ddf2edd5ef84f2ab12155f7a8874c9fc56d436 Gerrit-Change-Number: 17354 Gerrit-PatchSet: 6 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 Mar 16 10:32:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:43 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: TCH/F: fix Downlink burst completeness check In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17355 ) Change subject: trxcon/scheduler: TCH/F: fix Downlink burst completeness check ...................................................................... trxcon/scheduler: TCH/F: fix Downlink burst completeness check A TCH/F or FACCH/F frame is interleaved over 8 bursts, not 4. Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 --- M src/host/trxcon/sched_lchan_tchf.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/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 312425b..018b5e4 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -83,7 +83,7 @@ sched_trx_meas_avg(lchan, 8); /* Check for complete set of bursts */ - if ((*mask & 0xf) != 0xf) { + if ((*mask & 0xff) != 0xff) { LOGP(DSCHD, LOGL_ERROR, "Received incomplete (%s) traffic frame at " "fn=%u (%u/%u) for %s\n", burst_mask2str(mask, 8), lchan->meas_avg.fn, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2ee4a216a18e9b077b27887235d982481991d9c4 Gerrit-Change-Number: 17355 Gerrit-PatchSet: 6 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 Mar 16 10:32:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:43 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: do not abort on incomplete set of bursts In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17356 ) Change subject: trxcon/scheduler: do not abort on incomplete set of bursts ...................................................................... trxcon/scheduler: do not abort on incomplete set of bursts Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 --- M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_tchf.c 2 files changed, 2 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 8de947e..6a68489 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -88,8 +88,7 @@ lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); - - return -1; + /* NOTE: do not abort here, give it a try. Maybe we're lucky ;) */ } /* Keep the mask updated */ diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 018b5e4..c5362f0 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -90,9 +90,8 @@ lchan->meas_avg.fn % ts->mf_layout->period, ts->mf_layout->period, lchan_desc->name); + /* NOTE: do not abort here, give it a try. Maybe we're lucky ;) */ - /* Send BFI */ - goto bfi; } /* Keep the mask updated */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea2d1b75b50c2889d4766687ef4fe6ae4ea39a50 Gerrit-Change-Number: 17356 Gerrit-PatchSet: 7 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 Mar 16 10:32:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:43 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: be safe against a theoretical integer overflow In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17449 ) Change subject: trxcon/scheduler: be safe against a theoretical integer overflow ...................................................................... trxcon/scheduler: be safe against a theoretical integer overflow As was noted by Pau Espin Pedrol, there is a theoretical chance that lchan->tdma.num_proc would overflow, so as a consequence, subst_frame_loss() will be unable to compensate one (potentionally lost) Downlink burst. On practice, given the size of unsigned long and duration of a single TDMA frame, it would only happen once in roughly ~6 years. FRAME_DURATION = 4615 * 10e-6 ULONG_MAX = 2 ** 32 - 1 FRAME_DURATION * ULONG_MAX -> ~198212740 seconds -> ~55059 hours -> ~2294 days -> ~6 years. Chances are that trxcon would crash much earlier, or even GSM would be completely forgotten after such a long time run, but let's work this around and simply start counting from 1 if that overflow eventually happens. Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 --- M src/host/trxcon/sched_trx.c 1 file changed, 10 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/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 1efae24..b53b0e8 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -721,7 +721,16 @@ /* Update TDMA frame statistics */ lchan->tdma.last_proc = fn; - lchan->tdma.num_proc++; + + if (++lchan->tdma.num_proc == 0) { + /* Theoretically, we may have an integer overflow of num_proc counter. + * As a consequence, subst_frame_loss() will be unable to compensate + * one (potentionally lost) Downlink burst. On practice, it would + * happen once in 4615 * 10e-6 * (2 ^ 32 - 1) seconds or ~6 years. */ + LOGP(DSCHD, LOGL_NOTICE, "Too many TDMA frames have been processed. " + "Are you running trxcon for more than 6 years?!?\n"); + lchan->tdma.num_proc = 1; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3d40ef09b06039a85df52af06ab38de314e1a434 Gerrit-Change-Number: 17449 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:32:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:32:44 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: print TDMA statistics on lchan deactivation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17450 ) Change subject: trxcon/scheduler: print TDMA statistics on lchan deactivation ...................................................................... trxcon/scheduler: print TDMA statistics on lchan deactivation Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a --- M src/host/trxcon/sched_trx.c 1 file changed, 10 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/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index b53b0e8..e172610 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -458,6 +458,16 @@ /* Prevent NULL-pointer deference */ OSMO_ASSERT(lchan != NULL); + /* Print some TDMA statistics for Downlink */ + if (trx_lchan_desc[lchan->type].rx_fn && lchan->active) { + LOGP(DSCH, LOGL_DEBUG, "TDMA statistics for lchan=%s on ts=%u: " + "%lu DL frames have been processed, " + "%lu lost (compensated), last fn=%u\n", + trx_lchan_desc[lchan->type].name, lchan->ts->index, + lchan->tdma.num_proc, lchan->tdma.num_lost, + lchan->tdma.last_proc); + } + /* Reset internal state variables */ lchan->rx_burst_mask = 0x00; lchan->tx_burst_mask = 0x00; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If8688ca331a7b1f841aa21f7a5ebc9750327b90a Gerrit-Change-Number: 17450 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:33:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:33:18 +0000 Subject: Change in osmo-ccid-firmware[master]: generic improvements for the testsbed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 ) Change subject: generic improvements for the testsbed ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 Gerrit-Change-Number: 17257 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-Comment-Date: Mon, 16 Mar 2020 10: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 Mon Mar 16 10:33:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:33:20 +0000 Subject: Change in osmo-ccid-firmware[master]: generic improvements for the testsbed In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 ) Change subject: generic improvements for the testsbed ...................................................................... generic improvements for the testsbed * fix run-tests so it can return != 0 * bail out if prepare fails * add more sanity checks to prepare * generalize usb-ids, paths * add test for flashing from application mode * add test reading simcards via pysim Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 --- M tests/run-tests M tests/sysmo-octsim/01_check_rig.sh M tests/sysmo-octsim/02_flash_dfu.sh M tests/sysmo-octsim/03_check_lsusb.sh M tests/sysmo-octsim/04_check_dfu_lsusb.sh A tests/sysmo-octsim/05_flash_dfu_from_app.out A tests/sysmo-octsim/05_flash_dfu_from_app.sh A tests/sysmo-octsim/06_test_simcards.out A tests/sysmo-octsim/06_test_simcards.sh M tests/sysmo-octsim/README A tests/sysmo-octsim/ctl_get_relay_sn.sh M tests/sysmo-octsim/ctl_reset_target.sh M tests/sysmo-octsim/ctl_reset_to_dfu.sh M tests/sysmo-octsim/fetch_image.sh M tests/sysmo-octsim/flash_octsim_dfu.sh M tests/sysmo-octsim/get_installed_version.sh M tests/sysmo-octsim/prepare M tests/sysmo-octsim/regen M tests/sysmo-octsim/run-tests M tests/sysmo-octsim/test-data 20 files changed, 214 insertions(+), 26 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/run-tests b/tests/run-tests index bfc942d..0132010 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -e echo "==========================================================" echo " EXECUTING TESTS FOR SYSMO-OCTSIM" echo "==========================================================" diff --git a/tests/sysmo-octsim/01_check_rig.sh b/tests/sysmo-octsim/01_check_rig.sh index 3831fb6..11abdc8 100755 --- a/tests/sysmo-octsim/01_check_rig.sh +++ b/tests/sysmo-octsim/01_check_rig.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data -lsusb -d 04d8:ffee -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g" +lsusb -d $USBD_RELAY -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g" diff --git a/tests/sysmo-octsim/02_flash_dfu.sh b/tests/sysmo-octsim/02_flash_dfu.sh index c51d5b1..a9b6573 100755 --- a/tests/sysmo-octsim/02_flash_dfu.sh +++ b/tests/sysmo-octsim/02_flash_dfu.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data ./get_installed_version.sh diff --git a/tests/sysmo-octsim/03_check_lsusb.sh b/tests/sysmo-octsim/03_check_lsusb.sh index f12e7d4..cf8d8f4 100755 --- a/tests/sysmo-octsim/03_check_lsusb.sh +++ b/tests/sysmo-octsim/03_check_lsusb.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data -lsusb -d 1d50:6141 -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"|sed -e "s/^.*iProduct.*2.*sysmoOCTSIM.*$/ iProduct 2 sysmoOCTSIM/g" +lsusb -d $USBD_TARGET -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g"|sed -e "s/^.*iProduct.*2.*sysmoOCTSIM.*$/ iProduct 2 sysmoOCTSIM/g" diff --git a/tests/sysmo-octsim/04_check_dfu_lsusb.sh b/tests/sysmo-octsim/04_check_dfu_lsusb.sh index eef2246..fda72c4 100755 --- a/tests/sysmo-octsim/04_check_dfu_lsusb.sh +++ b/tests/sysmo-octsim/04_check_dfu_lsusb.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data ./ctl_reset_to_dfu.sh -lsusb -d 1d50:6141 -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g" +lsusb -d $USBD_TARGET -v 2>/dev/null | sed -e "s/$Bus.*Device.*:\ ID/ID/g" ./ctl_reset_target.sh diff --git a/tests/sysmo-octsim/05_flash_dfu_from_app.out b/tests/sysmo-octsim/05_flash_dfu_from_app.out new file mode 100644 index 0000000..3da656a --- /dev/null +++ b/tests/sysmo-octsim/05_flash_dfu_from_app.out @@ -0,0 +1,26 @@ +resetting target +done +dfu-util 0.9 + +Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. +Copyright 2010-2016 Tormod Volden and Stefan Schmidt +This program is Free Software and has ABSOLUTELY NO WARRANTY +Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ + +Opening DFU capable USB device... +ID 1d50:6141 +Run-time device DFU version 0100 +Claiming USB DFU Runtime Interface... +Determining device status: state = appIDLE, status = 0 +Device really in Runtime Mode, send DFU detach request... +Device will detach and reattach... +Opening DFU USB Device... +Claiming USB DFU Interface... +Setting Alternate Setting #0 ... +Determining device status: state = dfuIDLE, status = 0 +dfuIDLE, continuing +DFU mode device DFU version 0110 +Device returned transfer size 512 +Copying data from PC to DFU device +Download done. +Resetting USB to switch back to runtime mode diff --git a/tests/sysmo-octsim/05_flash_dfu_from_app.sh b/tests/sysmo-octsim/05_flash_dfu_from_app.sh new file mode 100755 index 0000000..667ca44 --- /dev/null +++ b/tests/sysmo-octsim/05_flash_dfu_from_app.sh @@ -0,0 +1,9 @@ +#!/bin/sh -e +. ./test-data + +./get_installed_version.sh +#./fetch_image.sh +./ctl_reset_target.sh +./flash_octsim_dfu.sh +sleep 1 +./get_installed_version.sh diff --git a/tests/sysmo-octsim/06_test_simcards.out b/tests/sysmo-octsim/06_test_simcards.out new file mode 100644 index 0000000..addd462 --- /dev/null +++ b/tests/sysmo-octsim/06_test_simcards.out @@ -0,0 +1,117 @@ +resetting target +done +card slot 0 +Using PC/SC reader (dev=0) interface +Reading ... +ICCID: 8988211000000090160 +IMSI: 001640000069444 +SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 +SPN: Not available +Display HPLMN: False +Display OPLMN: False +PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNwAcT: + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + +OPLMNwAcT: + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + +HPLMNAcT: + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + +ACC: 0040 +MSISDN: Can't read file -- Length of MSISDN (136 bytes) is out of range +AD: 00000002 +Done ! + + +card slot 4 +Using PC/SC reader (dev=4) interface +Reading ... +ICCID: 8988211000000271083 +IMSI: 001640000069555 +SMSP: ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000 +SPN: Not available +Display HPLMN: False +Display OPLMN: False +PLMNsel: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNwAcT: + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + +OPLMNwAcT: + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + +HPLMNAcT: + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + ffffffffff # unused + +ACC: 0100 +MSISDN: Not available +AD: 00000002 +Done ! + diff --git a/tests/sysmo-octsim/06_test_simcards.sh b/tests/sysmo-octsim/06_test_simcards.sh new file mode 100755 index 0000000..bd50aa8 --- /dev/null +++ b/tests/sysmo-octsim/06_test_simcards.sh @@ -0,0 +1,13 @@ +#!/bin/sh -e +. ./test-data + +./ctl_reset_target.sh +sleep 1 +./get_installed_version.sh + +echo "card slot 0" +$PYSIMREAD -p 0 +echo "" +echo "card slot 4" +$PYSIMREAD -p 4 + diff --git a/tests/sysmo-octsim/README b/tests/sysmo-octsim/README index b3ac561..162b876 100644 --- a/tests/sysmo-octsim/README +++ b/tests/sysmo-octsim/README @@ -2,3 +2,4 @@ - lsusb - dfu-util - wget +- pysim diff --git a/tests/sysmo-octsim/ctl_get_relay_sn.sh b/tests/sysmo-octsim/ctl_get_relay_sn.sh new file mode 100755 index 0000000..3566cf9 --- /dev/null +++ b/tests/sysmo-octsim/ctl_get_relay_sn.sh @@ -0,0 +1,7 @@ +#!/bin/sh +. ./test-data + +#usb_rly08 + +echo "getting relay SN" +echo -n "8" > $USB_RELAY diff --git a/tests/sysmo-octsim/ctl_reset_target.sh b/tests/sysmo-octsim/ctl_reset_target.sh index 6eed990..6aafaa2 100755 --- a/tests/sysmo-octsim/ctl_reset_target.sh +++ b/tests/sysmo-octsim/ctl_reset_target.sh @@ -1,7 +1,5 @@ -#!/bin/sh - -#usb_rly08 serial -USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00" +#!/bin/sh -e +. ./test-data #usb_rly08 # relay1 = usbpower diff --git a/tests/sysmo-octsim/ctl_reset_to_dfu.sh b/tests/sysmo-octsim/ctl_reset_to_dfu.sh index 969ca0c..4807241 100755 --- a/tests/sysmo-octsim/ctl_reset_to_dfu.sh +++ b/tests/sysmo-octsim/ctl_reset_to_dfu.sh @@ -1,7 +1,5 @@ -#!/bin/sh - -#usb_rly08 serial -USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00" +#!/bin/sh -e +. ./test-data #usb_rly08 # relay1 = usbpower diff --git a/tests/sysmo-octsim/fetch_image.sh b/tests/sysmo-octsim/fetch_image.sh index c0a4f8f..119d611 100755 --- a/tests/sysmo-octsim/fetch_image.sh +++ b/tests/sysmo-octsim/fetch_image.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data echo "fetch image" -wget -O dl/sysmoOCTSIM-latest.bin http://ftp.osmocom.org/binaries/osmo-ccid-firmware/latest/sysmoOCTSIM.bin -nv +wget -O $DFU_IMAGE http://ftp.osmocom.org/binaries/osmo-ccid-firmware/latest/sysmoOCTSIM.bin -nv echo "done" diff --git a/tests/sysmo-octsim/flash_octsim_dfu.sh b/tests/sysmo-octsim/flash_octsim_dfu.sh index 5b9c19a..0e60c2e 100755 --- a/tests/sysmo-octsim/flash_octsim_dfu.sh +++ b/tests/sysmo-octsim/flash_octsim_dfu.sh @@ -1,3 +1,5 @@ -#!/bin/sh +#!/bin/sh -e +. ./test-data -dfu-util --device 1d50:6141 --alt 0 --reset --download dl/sysmoOCTSIM-latest.bin 2>/dev/null |grep -v "Download\t"|grep -v "\[" +dfu-util --device $USBD_TARGET --alt 0 --reset --download $DFU_IMAGE 2>/dev/null |grep -v "Download\t"|grep -v "\[" +sleep 1 diff --git a/tests/sysmo-octsim/get_installed_version.sh b/tests/sysmo-octsim/get_installed_version.sh index be61865..e12e3fa 100755 --- a/tests/sysmo-octsim/get_installed_version.sh +++ b/tests/sysmo-octsim/get_installed_version.sh @@ -1,5 +1,5 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data -echo -n "fw version: " 1>&2 -lsusb -d 1d50:6141 -v 2>/dev/null | grep iProduct|awk '{}{print $4}' 1>&2 +echo -n "installed fw version: " 1>&2 +lsusb -d $USBD_TARGET -v 2>/dev/null | grep iProduct|awk '{}{print $4}' 1>&2 diff --git a/tests/sysmo-octsim/prepare b/tests/sysmo-octsim/prepare index bb95e40..b19fbed 100755 --- a/tests/sysmo-octsim/prepare +++ b/tests/sysmo-octsim/prepare @@ -1,8 +1,11 @@ -#!/bin/sh +#!/bin/sh -e . ./test-data echo "================ PREPARING TEST RIG ================" +if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - symlink missing" ; exit 1; fi +if [ ! -c "$USB_RELAY" ]; then echo "ERROR: usb relay device - not a char device" ; exit 1; fi +if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - not writable" ; exit 1; fi ./ctl_reset_target.sh echo "================ TEST RIG PREPARED =================" echo "" diff --git a/tests/sysmo-octsim/regen b/tests/sysmo-octsim/regen index 7ed1fab..da1d8b1 100755 --- a/tests/sysmo-octsim/regen +++ b/tests/sysmo-octsim/regen @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -e echo "Regenerating test output..." ./prepare @@ -6,6 +6,8 @@ ./02_flash_dfu.sh > ./02_flash_dfu.out ./03_check_lsusb.sh > ./03_check_lsusb.out ./04_check_dfu_lsusb.sh > ./04_check_dfu_lsusb.out +./05_flash_dfu_from_app.sh > ./05_flash_dfu_from_app.out +./06_test_simcards.sh > ./06_test_simcards.out echo "Reference output regenerated!" echo "" diff --git a/tests/sysmo-octsim/run-tests b/tests/sysmo-octsim/run-tests index b67c425..f4d5162 100755 --- a/tests/sysmo-octsim/run-tests +++ b/tests/sysmo-octsim/run-tests @@ -1,7 +1,7 @@ #!/bin/sh # default: execute all tests -TESTS="01_check_rig.sh 02_flash_dfu.sh 03_check_lsusb.sh 04_check_dfu_lsusb.sh" +TESTS="01_check_rig.sh 02_flash_dfu.sh 03_check_lsusb.sh 04_check_dfu_lsusb.sh 05_flash_dfu_from_app.sh 06_test_simcards.sh" # if command line specifies some specific tests, execute only those if [ $# -ge 1 ]; then @@ -13,6 +13,12 @@ # prepare test card ./prepare +if [ $? -eq 0 ]; then + echo "Prepare done" +else + echo "Prepare Test FAILED!" + exit 2 +fi for T in $TESTS; do echo "==> Executing Testcase $T" diff --git a/tests/sysmo-octsim/test-data b/tests/sysmo-octsim/test-data index e69de29..9220aad 100644 --- a/tests/sysmo-octsim/test-data +++ b/tests/sysmo-octsim/test-data @@ -0,0 +1,6 @@ +#usb_rly08 serial +USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00" +USBD_RELAY="04d8:ffee" +USBD_TARGET="1d50:6141" +DFU_IMAGE="dl/sysmoOCTSIM-latest.bin" +PYSIMREAD="/home/jenkins/dep/pysim/pySim-read.py" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I246224e29e5936b4fe40cf7d7a5ff83c9940d121 Gerrit-Change-Number: 17257 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:33:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:33:57 +0000 Subject: Change in libosmocore[master]: libosmosim: Build irrespective of PC/SC support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17483 ) Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17483 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 16 Mar 2020 10:33:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 10:34:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:34:02 +0000 Subject: Change in libosmocore[master]: libosmosim: Build irrespective of PC/SC support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17483 ) Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... libosmosim: Build irrespective of PC/SC support libosmosim contains a variety of definitions and utility fuinctions useful when working with SIM card [protocol]. They can not only be used with PC/SC readers but also in other contexts. Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 --- M configure.ac M src/sim/Makefile.am M src/sim/reader.c 3 files changed, 14 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 1056a0a..3b4ad40 100644 --- a/configure.ac +++ b/configure.ac @@ -142,6 +142,7 @@ ]) AS_IF([test "x$ENABLE_PCSC" = "xyes"], [ PKG_CHECK_MODULES(PCSC, libpcsclite) + AC_DEFINE([HAVE_PCSC],[1],[Build with PC/SC support]) ]) AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes") AC_SUBST(ENABLE_PCSC) diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index c608757..14bbbd8 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -4,24 +4,26 @@ LIBVERSION=1:2:1 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -fPIC -Wall $(PCSC_CFLAGS) $(TALLOC_CFLAGS) +AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) -if ENABLE_PCSC -# FIXME: only build the PC/SC dependent part conditional, but always build other parts - noinst_HEADERS = sim_int.h gsm_int.h +if !EMBEDDED lib_LTLIBRARIES = libosmosim.la -libosmosim_la_SOURCES = core.c reader.c reader_pcsc.c class_tables.c \ +libosmosim_la_SOURCES = core.c reader.c class_tables.c \ card_fs_sim.c card_fs_usim.c card_fs_uicc.c \ card_fs_isim.c card_fs_tetra.c libosmosim_la_LDFLAGS = -version-info $(LIBVERSION) libosmosim_la_LIBADD = \ $(top_builddir)/src/libosmocore.la \ $(top_builddir)/src/gsm/libosmogsm.la \ - $(TALLOC_LIBS) \ - $(PCSC_LIBS) - + $(TALLOC_LIBS) +if ENABLE_PCSC +AM_CFLAGS += $(PCSC_CFLAGS) +libosmosim_la_SOURCES += reader_pcsc.c +libosmosim_la_LIBADD += $(PCSC_LIBS) endif + +endif # !EMBEDDED diff --git a/src/sim/reader.c b/src/sim/reader.c index d1a9ae6..d5292ba 100644 --- a/src/sim/reader.c +++ b/src/sim/reader.c @@ -35,6 +35,7 @@ #include #include +#include "config.h" #include "sim_int.h" @@ -242,9 +243,11 @@ struct osim_reader_hdl *rh; switch (driver) { +#ifdef HAVE_PCSC case OSIM_READER_DRV_PCSC: ops = &pcsc_reader_ops; break; +#endif default: return NULL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17483 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 Mon Mar 16 10:47:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:47:48 +0000 Subject: Change in libosmocore[rel-1.3.1]: libosmosim: Build irrespective of PC/SC support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17484 ) Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... libosmosim: Build irrespective of PC/SC support libosmosim contains a variety of definitions and utility fuinctions useful when working with SIM card [protocol]. They can not only be used with PC/SC readers but also in other contexts. Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 --- M configure.ac M src/sim/Makefile.am M src/sim/reader.c 3 files changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/17484/1 diff --git a/configure.ac b/configure.ac index 1056a0a..3b4ad40 100644 --- a/configure.ac +++ b/configure.ac @@ -142,6 +142,7 @@ ]) AS_IF([test "x$ENABLE_PCSC" = "xyes"], [ PKG_CHECK_MODULES(PCSC, libpcsclite) + AC_DEFINE([HAVE_PCSC],[1],[Build with PC/SC support]) ]) AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes") AC_SUBST(ENABLE_PCSC) diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index c608757..14bbbd8 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -4,24 +4,26 @@ LIBVERSION=1:2:1 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -fPIC -Wall $(PCSC_CFLAGS) $(TALLOC_CFLAGS) +AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) -if ENABLE_PCSC -# FIXME: only build the PC/SC dependent part conditional, but always build other parts - noinst_HEADERS = sim_int.h gsm_int.h +if !EMBEDDED lib_LTLIBRARIES = libosmosim.la -libosmosim_la_SOURCES = core.c reader.c reader_pcsc.c class_tables.c \ +libosmosim_la_SOURCES = core.c reader.c class_tables.c \ card_fs_sim.c card_fs_usim.c card_fs_uicc.c \ card_fs_isim.c card_fs_tetra.c libosmosim_la_LDFLAGS = -version-info $(LIBVERSION) libosmosim_la_LIBADD = \ $(top_builddir)/src/libosmocore.la \ $(top_builddir)/src/gsm/libosmogsm.la \ - $(TALLOC_LIBS) \ - $(PCSC_LIBS) - + $(TALLOC_LIBS) +if ENABLE_PCSC +AM_CFLAGS += $(PCSC_CFLAGS) +libosmosim_la_SOURCES += reader_pcsc.c +libosmosim_la_LIBADD += $(PCSC_LIBS) endif + +endif # !EMBEDDED diff --git a/src/sim/reader.c b/src/sim/reader.c index d1a9ae6..d5292ba 100644 --- a/src/sim/reader.c +++ b/src/sim/reader.c @@ -35,6 +35,7 @@ #include #include +#include "config.h" #include "sim_int.h" @@ -242,9 +243,11 @@ struct osim_reader_hdl *rh; switch (driver) { +#ifdef HAVE_PCSC case OSIM_READER_DRV_PCSC: ops = &pcsc_reader_ops; break; +#endif default: return NULL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.3.1 Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17484 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 Mar 16 10:47:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 10:47:48 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E3=2E1=5D=3A_Bump_version=3A_1=2E3=2E0=2E1-cb929_=E2=86=92_1=2E3=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17485 ) Change subject: Bump version: 1.3.0.1-cb929 ? 1.3.1 ...................................................................... Bump version: 1.3.0.1-cb929 ? 1.3.1 Change-Id: Icf316253799df5f5ee5bf64e35c9cbe88f663bf1 --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/17485/1 diff --git a/debian/changelog b/debian/changelog index 3a9e2b9..b6c6383 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libosmocore (1.3.1) unstable; urgency=medium + + * libosmosim: Build irrespective of PC/SC support + + -- Harald Welte Mon, 16 Mar 2020 11:41:50 +0100 + libosmocore (1.3.0) unstable; urgency=medium [ Pau Espin Pedrol ] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.3.1 Gerrit-Change-Id: Icf316253799df5f5ee5bf64e35c9cbe88f663bf1 Gerrit-Change-Number: 17485 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 Mar 16 10:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 10:53:20 +0000 Subject: Change in libosmocore[rel-1.3.1]: libosmosim: Build irrespective of PC/SC support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17484 ) Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.3.1 Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17484 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 16 Mar 2020 10:53: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 Mar 16 10:54:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 10:54:24 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E3=2E1=5D=3A_Bump_version=3A_1=2E3=2E0=2E1-cb929_=E2=86=92_1=2E3=2E1?= In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17485 ) Change subject: Bump version: 1.3.0.1-cb929 ? 1.3.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.3.1 Gerrit-Change-Id: Icf316253799df5f5ee5bf64e35c9cbe88f663bf1 Gerrit-Change-Number: 17485 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 16 Mar 2020 10:54:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 11:00:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 11:00:42 +0000 Subject: Change in libosmocore[rel-1.3.1]: libosmosim: Build irrespective of PC/SC support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17484 ) Change subject: libosmosim: Build irrespective of PC/SC support ...................................................................... libosmosim: Build irrespective of PC/SC support libosmosim contains a variety of definitions and utility fuinctions useful when working with SIM card [protocol]. They can not only be used with PC/SC readers but also in other contexts. Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 --- M configure.ac M src/sim/Makefile.am M src/sim/reader.c 3 files changed, 14 insertions(+), 8 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 1056a0a..3b4ad40 100644 --- a/configure.ac +++ b/configure.ac @@ -142,6 +142,7 @@ ]) AS_IF([test "x$ENABLE_PCSC" = "xyes"], [ PKG_CHECK_MODULES(PCSC, libpcsclite) + AC_DEFINE([HAVE_PCSC],[1],[Build with PC/SC support]) ]) AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes") AC_SUBST(ENABLE_PCSC) diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index c608757..14bbbd8 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -4,24 +4,26 @@ LIBVERSION=1:2:1 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include -AM_CFLAGS = -fPIC -Wall $(PCSC_CFLAGS) $(TALLOC_CFLAGS) +AM_CFLAGS = -fPIC -Wall $(TALLOC_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) -if ENABLE_PCSC -# FIXME: only build the PC/SC dependent part conditional, but always build other parts - noinst_HEADERS = sim_int.h gsm_int.h +if !EMBEDDED lib_LTLIBRARIES = libosmosim.la -libosmosim_la_SOURCES = core.c reader.c reader_pcsc.c class_tables.c \ +libosmosim_la_SOURCES = core.c reader.c class_tables.c \ card_fs_sim.c card_fs_usim.c card_fs_uicc.c \ card_fs_isim.c card_fs_tetra.c libosmosim_la_LDFLAGS = -version-info $(LIBVERSION) libosmosim_la_LIBADD = \ $(top_builddir)/src/libosmocore.la \ $(top_builddir)/src/gsm/libosmogsm.la \ - $(TALLOC_LIBS) \ - $(PCSC_LIBS) - + $(TALLOC_LIBS) +if ENABLE_PCSC +AM_CFLAGS += $(PCSC_CFLAGS) +libosmosim_la_SOURCES += reader_pcsc.c +libosmosim_la_LIBADD += $(PCSC_LIBS) endif + +endif # !EMBEDDED diff --git a/src/sim/reader.c b/src/sim/reader.c index d1a9ae6..d5292ba 100644 --- a/src/sim/reader.c +++ b/src/sim/reader.c @@ -35,6 +35,7 @@ #include #include +#include "config.h" #include "sim_int.h" @@ -242,9 +243,11 @@ struct osim_reader_hdl *rh; switch (driver) { +#ifdef HAVE_PCSC case OSIM_READER_DRV_PCSC: ops = &pcsc_reader_ops; break; +#endif default: return NULL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.3.1 Gerrit-Change-Id: I741940d3dc2a5653c760e9d1597d7f08afb3b631 Gerrit-Change-Number: 17484 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 Mon Mar 16 11:00:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Mar 2020 11:00:42 +0000 Subject: =?UTF-8?Q?Change_in_libosmocore=5Brel-1=2E3=2E1=5D=3A_Bump_version=3A_1=2E3=2E0=2E1-cb929_=E2=86=92_1=2E3=2E1?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17485 ) Change subject: Bump version: 1.3.0.1-cb929 ? 1.3.1 ...................................................................... Bump version: 1.3.0.1-cb929 ? 1.3.1 Change-Id: Icf316253799df5f5ee5bf64e35c9cbe88f663bf1 --- M debian/changelog 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/changelog b/debian/changelog index 3a9e2b9..b6c6383 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libosmocore (1.3.1) unstable; urgency=medium + + * libosmosim: Build irrespective of PC/SC support + + -- Harald Welte Mon, 16 Mar 2020 11:41:50 +0100 + libosmocore (1.3.0) unstable; urgency=medium [ Pau Espin Pedrol ] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: rel-1.3.1 Gerrit-Change-Id: Icf316253799df5f5ee5bf64e35c9cbe88f663bf1 Gerrit-Change-Number: 17485 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 Mon Mar 16 12:48:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 12:48:14 +0000 Subject: Change in osmo-gsm-tester[master]: srs{ue, enb, epc}: Disable pcap by default, allow enabling by param References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486 ) Change subject: srs{ue,enb,epc}: Disable pcap by default, allow enabling by param ...................................................................... srs{ue,enb,epc}: Disable pcap by default, allow enabling by param Take the change to fix several small things and support recording pcap in srsENB. pcap generation can be enabled with scenario cfg-srs-enable-pcap. Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935 --- M example/defaults.conf A example/scenarios/cfg-srs-enable-pcap.conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsepc.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 9 files changed, 77 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/17486/1 diff --git a/example/defaults.conf b/example/defaults.conf index 9b92ad0..60539c8 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -97,9 +97,14 @@ mcc: 901 mnc: 70 rlc_drb_mode: UM + enable_pcap: false srsenb: mcc: 901 mnc: 70 num_prb: 100 transmission_mode: 1 + enable_pcap: false + +srsue: + enable_pcap: false diff --git a/example/scenarios/cfg-srs-enable-pcap.conf b/example/scenarios/cfg-srs-enable-pcap.conf new file mode 100644 index 0000000..6927b80 --- /dev/null +++ b/example/scenarios/cfg-srs-enable-pcap.conf @@ -0,0 +1,7 @@ +config: + epc: + enable_pcap: true + enb: + enable_pcap: true + modem: + enable_pcap: true diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index cdf0596..8a93ea4 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -116,7 +116,11 @@ CONF_SCHEMA = util.dict_add( { 'defaults.timeout': schema.STR, 'config.bsc.net.codec_list[]': schema.CODEC, - 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, }, + 'config.enb.enable_pcap': schema.BOOL_STR, + 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, + 'config.epc.enable_pcap': schema.BOOL_STR, + 'config.modem.enable_pcap': schema.BOOL_STR, + }, dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 716217e..14e2db4 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -53,6 +53,7 @@ CFGFILE_RR = 'srsenb_rr.conf' CFGFILE_DRB = 'srsenb_drb.conf' LOGFILE = 'srsenb.log' + PCAPFILE = 'srsenb.pcap' def __init__(self, suite_run, conf): super().__init__(log.C_RUN, 'srsenb') @@ -68,6 +69,8 @@ self.config_sib_file = None self.config_rr_file = None self.config_drb_file = None + self.log_file = None + self.pcap_file = None self.process = None self.rem_host = None self.remote_config_file = None @@ -75,8 +78,10 @@ self.remote_config_rr_file = None self.remote_config_drb_file = None self.remote_log_file = None + self.remote_pcap_file = None self._num_prb = 0 self._txmode = 0 + self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -92,6 +97,11 @@ self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: self.log(repr(e)) + if self.enable_pcap: + try: + self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) + except Exception as e: + self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -124,10 +134,11 @@ 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.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.create_remote_dir(remote_run_dir) + self.rem_host.recreate_remote_dir(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) @@ -141,7 +152,8 @@ '--enb_files.drb_config=' + self.remote_config_drb_file, '--expert.nof_phy_threads=1', '--expert.rrc_inactivity_timer=1500', - '--log.filename=' + self.remote_log_file) + '--log.filename=' + self.remote_log_file, + '--pcap.filename=' + self.remote_pcap_file) self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) @@ -166,7 +178,8 @@ '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), '--expert.nof_phy_threads=1', '--expert.rrc_inactivity_timer=1500', - '--log.filename=' + self.log_file) + '--log.filename=' + self.log_file, + '--pcap.filename=' + self.pcap_file) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) @@ -176,10 +189,14 @@ self.dbg(config_file=path) values = dict(enb=config.get_defaults('srsenb')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) config.overlay(values, dict(enb=self._conf)) config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + # Convert parsed boolean string to Python boolean: + self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) + config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) + self._num_prb = int(values['enb'].get('num_prb', None)) assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) @@ -205,11 +222,12 @@ f.write(r) def configure(self): - self.config_file = self.run_dir.new_file(srsENB.CFGFILE) - self.config_sib_file = self.run_dir.new_file(srsENB.CFGFILE_SIB) - self.config_rr_file = self.run_dir.new_file(srsENB.CFGFILE_RR) - self.config_drb_file = self.run_dir.new_file(srsENB.CFGFILE_DRB) - self.log_file = self.run_dir.new_file(srsENB.LOGFILE) + self.config_file = self.run_dir.child(srsENB.CFGFILE) + self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) + self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) + self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB) + self.log_file = self.run_dir.child(srsENB.LOGFILE) + self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) self.gen_conf_file(self.config_file, srsENB.CFGFILE) self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB) diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 705c7c7..0d020bc 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -53,6 +53,7 @@ self.remote_db_file = None self.remote_log_file = None self.remote_pcap_file = None + self.enable_pcap = False self.subscriber_list = [] self.suite_run = suite_run self._run_node = run_node @@ -67,10 +68,11 @@ self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: self.log(repr(e)) - try: - self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) - except Exception as e: - self.log(repr(e)) + if self.enable_pcap: + try: + self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) + except Exception as e: + self.log(repr(e)) def start(self): self.log('Starting srsepc') @@ -100,7 +102,7 @@ self.rem_host.recreate_remote_dir(remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.create_remote_dir(remote_run_dir) + self.rem_host.recreate_remote_dir(remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file) @@ -116,7 +118,6 @@ args = (remote_binary, self.remote_config_file, '--hss.db_file=' + self.remote_db_file, '--log.filename=' + self.remote_log_file, - '--pcap.enable=true', '--pcap.filename=' + self.remote_pcap_file) self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args) @@ -147,7 +148,6 @@ args = (binary, os.path.abspath(self.config_file), '--hss.db_file=' + self.db_file, '--log.filename=' + self.log_file, - '--pcap.enable=true', '--pcap.filename=' + self.pcap_file) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -155,16 +155,20 @@ self.process.launch() def configure(self): - self.config_file = self.run_dir.new_file(srsEPC.CFGFILE) - self.db_file = self.run_dir.new_file(srsEPC.DBFILE) - self.log_file = self.run_dir.new_file(srsEPC.LOGFILE) - self.pcap_file = self.run_dir.new_file(srsEPC.PCAPFILE) + self.config_file = self.run_dir.child(srsEPC.CFGFILE) + self.db_file = self.run_dir.child(srsEPC.DBFILE) + self.log_file = self.run_dir.child(srsEPC.LOGFILE) + self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) self.dbg(config_file=self.config_file, db_file=self.db_file) values = dict(epc=config.get_defaults('srsepc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) config.overlay(values, dict(epc={'run_addr': self.addr()})) + # Convert parsed boolean string to Python boolean: + self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) + config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap})) + # Set qci for each subscriber: rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) assert rlc_drb_mode is not None diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 9743848..f725587 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -73,6 +73,7 @@ self.remote_log_file = None self.remote_pcap_file = None self.remote_metrics_file = None + self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -94,10 +95,11 @@ self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: self.log(repr(e)) - try: - self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) - except Exception as e: - self.log(repr(e)) + if self.enable_pcap: + try: + self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) + except Exception as e: + self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -137,7 +139,7 @@ self.rem_host.recreate_remote_dir(remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.create_remote_dir(remote_run_dir) + self.rem_host.recreate_remote_dir(remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) remote_lib = remote_inst.child('lib') @@ -206,17 +208,21 @@ self.process.launch() def configure(self): - self.config_file = self.run_dir.new_file(srsUE.CFGFILE) + self.config_file = self.run_dir.child(srsUE.CFGFILE) self.log_file = self.run_dir.child(srsUE.LOGFILE) - self.pcap_file = self.run_dir.new_file(srsUE.PCAPFILE) + self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) self.dbg(config_file=self.config_file) values = dict(ue=config.get_defaults('srsue')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + # Convert parsed boolean string to Python boolean: + self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) + config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) + # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self.enb.num_prb()) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index dccade5..d28d255 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -98,7 +98,7 @@ # filename: File path to use for packet captures ##################################################################### [pcap] -enable = false +enable = ${'true' if enb.enable_pcap else 'false'} filename = /tmp/enb.pcap ##################################################################### diff --git a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl index 8acd22f..cb03967 100644 --- a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl @@ -71,7 +71,7 @@ # #################################################################### [pcap] -enable = false +enable = ${'true' if epc.enable_pcap else 'false'} filename = /tmp/epc.pcap #################################################################### diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index f7dee03..4a4828e 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -71,7 +71,7 @@ # nas_filename: File path to use for NAS packet captures ##################################################################### [pcap] -enable = true +enable = ${'true' if ue.enable_pcap else 'false'} filename = /tmp/ue.pcap nas_enable = false nas_filename = /tmp/nas.pcap -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935 Gerrit-Change-Number: 17486 Gerrit-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 Mar 16 13:55:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 13:55:27 +0000 Subject: Change in osmo-gsm-tester[master]: srs{ue, enb, epc}: Disable pcap by default, allow enabling by param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486 ) Change subject: srs{ue,enb,epc}: Disable pcap by default, allow enabling by param ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935 Gerrit-Change-Number: 17486 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Mar 2020 13:55:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 16 13:55:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 13:55:31 +0000 Subject: Change in osmo-gsm-tester[master]: srs{ue, enb, epc}: Disable pcap by default, allow enabling by param In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486 ) Change subject: srs{ue,enb,epc}: Disable pcap by default, allow enabling by param ...................................................................... srs{ue,enb,epc}: Disable pcap by default, allow enabling by param Take the change to fix several small things and support recording pcap in srsENB. pcap generation can be enabled with scenario cfg-srs-enable-pcap. Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935 --- M example/defaults.conf A example/scenarios/cfg-srs-enable-pcap.conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsepc.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 9 files changed, 77 insertions(+), 33 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index 9b92ad0..60539c8 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -97,9 +97,14 @@ mcc: 901 mnc: 70 rlc_drb_mode: UM + enable_pcap: false srsenb: mcc: 901 mnc: 70 num_prb: 100 transmission_mode: 1 + enable_pcap: false + +srsue: + enable_pcap: false diff --git a/example/scenarios/cfg-srs-enable-pcap.conf b/example/scenarios/cfg-srs-enable-pcap.conf new file mode 100644 index 0000000..6927b80 --- /dev/null +++ b/example/scenarios/cfg-srs-enable-pcap.conf @@ -0,0 +1,7 @@ +config: + epc: + enable_pcap: true + enb: + enable_pcap: true + modem: + enable_pcap: true diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index cdf0596..8a93ea4 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -116,7 +116,11 @@ CONF_SCHEMA = util.dict_add( { 'defaults.timeout': schema.STR, 'config.bsc.net.codec_list[]': schema.CODEC, - 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, }, + 'config.enb.enable_pcap': schema.BOOL_STR, + 'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, + 'config.epc.enable_pcap': schema.BOOL_STR, + 'config.modem.enable_pcap': schema.BOOL_STR, + }, dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 716217e..14e2db4 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -53,6 +53,7 @@ CFGFILE_RR = 'srsenb_rr.conf' CFGFILE_DRB = 'srsenb_drb.conf' LOGFILE = 'srsenb.log' + PCAPFILE = 'srsenb.pcap' def __init__(self, suite_run, conf): super().__init__(log.C_RUN, 'srsenb') @@ -68,6 +69,8 @@ self.config_sib_file = None self.config_rr_file = None self.config_drb_file = None + self.log_file = None + self.pcap_file = None self.process = None self.rem_host = None self.remote_config_file = None @@ -75,8 +78,10 @@ self.remote_config_rr_file = None self.remote_config_drb_file = None self.remote_log_file = None + self.remote_pcap_file = None self._num_prb = 0 self._txmode = 0 + self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -92,6 +97,11 @@ self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: self.log(repr(e)) + if self.enable_pcap: + try: + self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) + except Exception as e: + self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -124,10 +134,11 @@ 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.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.create_remote_dir(remote_run_dir) + self.rem_host.recreate_remote_dir(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) @@ -141,7 +152,8 @@ '--enb_files.drb_config=' + self.remote_config_drb_file, '--expert.nof_phy_threads=1', '--expert.rrc_inactivity_timer=1500', - '--log.filename=' + self.remote_log_file) + '--log.filename=' + self.remote_log_file, + '--pcap.filename=' + self.remote_pcap_file) self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) @@ -166,7 +178,8 @@ '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), '--expert.nof_phy_threads=1', '--expert.rrc_inactivity_timer=1500', - '--log.filename=' + self.log_file) + '--log.filename=' + self.log_file, + '--pcap.filename=' + self.pcap_file) self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) @@ -176,10 +189,14 @@ self.dbg(config_file=path) values = dict(enb=config.get_defaults('srsenb')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) config.overlay(values, dict(enb=self._conf)) config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + # Convert parsed boolean string to Python boolean: + self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) + config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) + self._num_prb = int(values['enb'].get('num_prb', None)) assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) @@ -205,11 +222,12 @@ f.write(r) def configure(self): - self.config_file = self.run_dir.new_file(srsENB.CFGFILE) - self.config_sib_file = self.run_dir.new_file(srsENB.CFGFILE_SIB) - self.config_rr_file = self.run_dir.new_file(srsENB.CFGFILE_RR) - self.config_drb_file = self.run_dir.new_file(srsENB.CFGFILE_DRB) - self.log_file = self.run_dir.new_file(srsENB.LOGFILE) + self.config_file = self.run_dir.child(srsENB.CFGFILE) + self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) + self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) + self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB) + self.log_file = self.run_dir.child(srsENB.LOGFILE) + self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) self.gen_conf_file(self.config_file, srsENB.CFGFILE) self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB) diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 705c7c7..0d020bc 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -53,6 +53,7 @@ self.remote_db_file = None self.remote_log_file = None self.remote_pcap_file = None + self.enable_pcap = False self.subscriber_list = [] self.suite_run = suite_run self._run_node = run_node @@ -67,10 +68,11 @@ self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: self.log(repr(e)) - try: - self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) - except Exception as e: - self.log(repr(e)) + if self.enable_pcap: + try: + self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) + except Exception as e: + self.log(repr(e)) def start(self): self.log('Starting srsepc') @@ -100,7 +102,7 @@ self.rem_host.recreate_remote_dir(remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.create_remote_dir(remote_run_dir) + self.rem_host.recreate_remote_dir(remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file) @@ -116,7 +118,6 @@ args = (remote_binary, self.remote_config_file, '--hss.db_file=' + self.remote_db_file, '--log.filename=' + self.remote_log_file, - '--pcap.enable=true', '--pcap.filename=' + self.remote_pcap_file) self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args) @@ -147,7 +148,6 @@ args = (binary, os.path.abspath(self.config_file), '--hss.db_file=' + self.db_file, '--log.filename=' + self.log_file, - '--pcap.enable=true', '--pcap.filename=' + self.pcap_file) self.process = process.Process(self.name(), self.run_dir, args, env=env) @@ -155,16 +155,20 @@ self.process.launch() def configure(self): - self.config_file = self.run_dir.new_file(srsEPC.CFGFILE) - self.db_file = self.run_dir.new_file(srsEPC.DBFILE) - self.log_file = self.run_dir.new_file(srsEPC.LOGFILE) - self.pcap_file = self.run_dir.new_file(srsEPC.PCAPFILE) + self.config_file = self.run_dir.child(srsEPC.CFGFILE) + self.db_file = self.run_dir.child(srsEPC.DBFILE) + self.log_file = self.run_dir.child(srsEPC.LOGFILE) + self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) self.dbg(config_file=self.config_file, db_file=self.db_file) values = dict(epc=config.get_defaults('srsepc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) config.overlay(values, dict(epc={'run_addr': self.addr()})) + # Convert parsed boolean string to Python boolean: + self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) + config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap})) + # Set qci for each subscriber: rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) assert rlc_drb_mode is not None diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 9743848..f725587 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -73,6 +73,7 @@ self.remote_log_file = None self.remote_pcap_file = None self.remote_metrics_file = None + self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -94,10 +95,11 @@ self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) except Exception as e: self.log(repr(e)) - try: - self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) - except Exception as e: - self.log(repr(e)) + if self.enable_pcap: + try: + self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file) + except Exception as e: + self.log(repr(e)) def setup_runs_locally(self): return self.remote_user is None @@ -137,7 +139,7 @@ self.rem_host.recreate_remote_dir(remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.create_remote_dir(remote_run_dir) + self.rem_host.recreate_remote_dir(remote_run_dir) self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) remote_lib = remote_inst.child('lib') @@ -206,17 +208,21 @@ self.process.launch() def configure(self): - self.config_file = self.run_dir.new_file(srsUE.CFGFILE) + self.config_file = self.run_dir.child(srsUE.CFGFILE) self.log_file = self.run_dir.child(srsUE.LOGFILE) - self.pcap_file = self.run_dir.new_file(srsUE.PCAPFILE) + self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) self.dbg(config_file=self.config_file) values = dict(ue=config.get_defaults('srsue')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + # Convert parsed boolean string to Python boolean: + self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) + config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) + # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': base_srate = num_prb2base_srate(self.enb.num_prb()) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index dccade5..d28d255 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -98,7 +98,7 @@ # filename: File path to use for packet captures ##################################################################### [pcap] -enable = false +enable = ${'true' if enb.enable_pcap else 'false'} filename = /tmp/enb.pcap ##################################################################### diff --git a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl index 8acd22f..cb03967 100644 --- a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl @@ -71,7 +71,7 @@ # #################################################################### [pcap] -enable = false +enable = ${'true' if epc.enable_pcap else 'false'} filename = /tmp/epc.pcap #################################################################### diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index f7dee03..4a4828e 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -71,7 +71,7 @@ # nas_filename: File path to use for NAS packet captures ##################################################################### [pcap] -enable = true +enable = ${'true' if ue.enable_pcap else 'false'} filename = /tmp/ue.pcap nas_enable = false nas_filename = /tmp/nas.pcap -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935 Gerrit-Change-Number: 17486 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 Mar 16 18:04:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 18:04:18 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Introduce Troubleshooting section about SIGKILL fix References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17487 ) Change subject: doc/manuals: Introduce Troubleshooting section about SIGKILL fix ...................................................................... doc/manuals: Introduce Troubleshooting section about SIGKILL fix Add a section describing how to clean up and recover osmo-gsm-tester state after a sigkill is used. Change-Id: I4841ab6d44a122140e6352df1fb6543418adc033 --- M doc/manuals/chapters/troubleshooting.adoc 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/17487/1 diff --git a/doc/manuals/chapters/troubleshooting.adoc b/doc/manuals/chapters/troubleshooting.adoc index a3b5c8b..c7c6868 100644 --- a/doc/manuals/chapters/troubleshooting.adoc +++ b/doc/manuals/chapters/troubleshooting.adoc @@ -13,3 +13,42 @@ Careful: if a configuration item consists of digits and starts with a zero, you need to quote it, or it may be interpreted as an octal notation integer! Please avoid using the octal notation on purpose, it is not provided intentionally. + +=== {app-name} not running but resources still allocated + +The <> is used to keep shared state of the +the resources allocated by any {app-name} instance. Each {app-name} instance +being run is responsible to de-allocate the used resources before exiting. In +general, upon receiving a shutdown action (ie. 'CTRL+C', 'SIGINT', python +exception, etc.), {app-name} is able to handle properly the situation and +de-allocate the resources before the process exits. Similarly, {app-name} also +takes care of terminating all its children processes being managed before +exiting itself. + +However, under some circumstances, {app-name} will be unable to de-allocate the +resources and they will remain allocated for subsequent {app-name} instances +which try to use them. That situation is usually reached when someone terminates +{app-name} in a hard way. Main reasons are {app-name} process receiving a +'SIGKILL' signal ('kill -9 $pid') which cannot be caught, or due to the entire +host being shut down in a non proper way. + +As a noticeable example, SIGKILL is known to be sent to {app-name} when it runs +under a jenkins shell script and any of the two following things happen: + +- User presses the red cross icon in the Jenkins UI to terminate the running + job. +- Connection between Jenkins master (UI) and Jenkins slave running the job is + lost. + +Once this situation is reached, one needs to follow 2 steps: + +- Gain console access to the <> and manually clean + or completely remove the 'reserved_resources.state' in the + <>. In general it's a good idea to make sure no + {app-name} instance is running at all and then remove completely all files in + <>, since {app-name} could theoretically have been killed + while writing some file and it may have ended up with corrupt content. +- Gain console access to the <> and each of the + <> and kill any hanging long-termed processes + in there which may have been started by {app-name}. Some popular processes in + this list include 'tcpdump', 'osmo-\*', 'srs*', etc. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4841ab6d44a122140e6352df1fb6543418adc033 Gerrit-Change-Number: 17487 Gerrit-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 Mar 16 18:50:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 18:50:49 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Add proper content for Debugging section References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17488 ) Change subject: doc/manuals: Add proper content for Debugging section ...................................................................... doc/manuals: Add proper content for Debugging section Change-Id: Iaed2544d59f7c5dd69eef3ddfade544b35c837cd --- M doc/manuals/chapters/debugging.adoc 1 file changed, 64 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/17488/1 diff --git a/doc/manuals/chapters/debugging.adoc b/doc/manuals/chapters/debugging.adoc index bea1e5c..6c32e7a 100644 --- a/doc/manuals/chapters/debugging.adoc +++ b/doc/manuals/chapters/debugging.adoc @@ -1,4 +1,67 @@ [[debugging]] == Debugging -*TODO*: describe how to invoke 'ipdb3' and step into a suite's test script +{app-name} is a complex program which at the same time orchestrates sets of +other complex programs to form a network of nodes. As such, it can be sometimes +challenging to find out what is going on during a trial run. This section aims +at providing some tips on how to debug possible issues. + +=== Logging level + +{app-name} runs by default under 'info' log level. As a first debugging step, it +is always a good idea to increase log verbosity. By switching to debug level +(command line argument '-l dbg'), a lot more information and events are displayed which +can give a much better idea to understand possible misconfigurations or wrong +steps. + +In any case, {app-name} usually provides several log files of interest. In +general, both a 'log' and a 'log_brief' are stored directly under the trial's +run directory, the first containing output up to debug level included, while the +second contains output up to info level included. Furthermore, {app-name} writes +a debug level log file per test case under each test's run directory. + +It is also in general useful to enable the '-T' command line argument. By using +it, it will instruct {app-name} to write the full backtrace to the log output +when something wrong happens, such an unexpected exception. + +[[pdb]] +=== python debugger + +{app-name} can be further debugged using python's debugger 'pdb'. Easiest way to +use it is to modify the python code were you want to break and add this code: +---- +import pdb; pdb.set_trace() +---- + +When {app-name} runs over that code, it will pause and provide a debugging +interactive shell, where one can inspect variables, execute code, etc. + +TIP: Remember {app-name} is managed by its internal main loop, meaning if you +jump into a debugger console you will still need to give back control to the +main loop for events to be processed and checks done. That can be done for +instance by calling the 'MainLoop.sleep(log_obj, secs)' internal API in general +or `sleep(secs)' under test context. + +=== debug suite + +Sometimes, however, one may be interested in debugging the behavior of the +software under test by {app-name} rather than {app-name} itself. For instance, +one may simply want to set up a full running network of nodes and keep it up +until some manual tests are done, or one may want {app-name} to do so at a given +point of time. + +To fulfill this kind of scenarios, {app-name} provides some code available for +tests to gain access to a high-level interactive console which is fully +integrated with {app-name}'s own main loop. So the approach here is usually to +write a regular test (with its corresponding <>) to set +up and run all required processes and then allow it to jump into the interactive +console instance. Then the test pulls received commands from it and it is +responsible for parsing and implementing them. One command can for instance ask +a modem to send an sms to another. Another command can for instance jump into a +<>. + +The interactive console is available to tests through the 'prompt' method, and +its implementation can be found under 'method input_polling' in 'util.py'. + +An interactive console example as explained in this section can be found under +the 'debug/interactive.py' test in osmo-gsm-tester.git. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaed2544d59f7c5dd69eef3ddfade544b35c837cd Gerrit-Change-Number: 17488 Gerrit-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 Mar 16 18:50:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Mar 2020 18:50:49 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Several format and styles fixes for config.adoc References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17489 ) Change subject: doc/manuals: Several format and styles fixes for config.adoc ...................................................................... doc/manuals: Several format and styles fixes for config.adoc Change-Id: I6371e09d6d88f137e7611bd60ac97b86414d8c47 --- M doc/manuals/chapters/config.adoc 1 file changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/89/17489/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index a8bb958..f9b390d 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -160,7 +160,7 @@ - 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 + attributes to the initial <> _resources_ section and hence further restrain it. [[schema_conf_sec_modifiers]] - Section 'modifiers': Both in <> and @@ -453,7 +453,7 @@ that is repeated numerous times. No special notation for these cases is available (yet). -[[default_suites]] +[[default_suites_conf]] ==== 'default-suites.conf' (optional) The 'default-suites.conf' file contains a YAML list of 'suite:scenario+scenario+...' @@ -561,14 +561,17 @@ ups share mostly all configuration, main difference being the <> file being used. -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. +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 'suites/' - <>: Available under 'example/scenarios/' - <>: Available under 'example/' 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'. + 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! @@ -580,7 +583,8 @@ Examples for launching test trials: -- Run the default suites (see <>) on a given set of binaries: +- Run the default suites (see <>) on a + given set of binaries: ---- osmo-gsm-tester.py path/to/my-trial -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6371e09d6d88f137e7611bd60ac97b86414d8c47 Gerrit-Change-Number: 17489 Gerrit-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 Mar 17 00:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (Maksim Aristov) Date: Tue, 17 Mar 2020 00:44:39 +0000 Subject: Change in libosmocore[master]: debian: Change python3 dependency to native arch References: Message-ID: Maksim Aristov has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17490 ) Change subject: debian: Change python3 dependency to native arch ...................................................................... debian: Change python3 dependency to native arch This small fix enables cross compilation using dpkg-buildpackage on multiarch: https://wiki.debian.org/CrossCompiling#Building_with_dpkg-buildpackage `apt build-dep -a` incorrectly installed non-native python for building Change-Id: I85994447657cda757348855c3ee9978e8c7c2377 --- M debian/control 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/17490/1 diff --git a/debian/control b/debian/control index cdf26bb..272fe7f 100644 --- a/debian/control +++ b/debian/control @@ -17,7 +17,7 @@ libtalloc-dev, libsctp-dev, libusb-1.0-0-dev, - python3 + python3:native Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/libosmocore.git Vcs-Browser: http://git.osmocom.org/libosmocore/ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I85994447657cda757348855c3ee9978e8c7c2377 Gerrit-Change-Number: 17490 Gerrit-PatchSet: 1 Gerrit-Owner: Maksim Aristov Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 17 08:41:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 08:41:43 +0000 Subject: Change in libosmocore[master]: debian: Change python3 dependency to native arch In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17490 ) Change subject: debian: Change python3 dependency to native arch ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I85994447657cda757348855c3ee9978e8c7c2377 Gerrit-Change-Number: 17490 Gerrit-PatchSet: 1 Gerrit-Owner: Maksim Aristov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 08:41: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 Mar 17 11:24:39 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Mar 2020 11:24:39 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... main: exit on mutually exclusive codecs settings Refuse to start with mutually exclusive codec settings, unless --allow-unusable-timeslots command-line argument is set. The checks were already implemented and fill the error log if the config is invalid. Related: OS#3739 Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/17491/1 diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 66310b3..6a1d5ec 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 int allow_unusable_timeslots = 0; 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(" -a --allow-unusable-timeslots Don't refuse to start with mutually exclusive codec settings.\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'}, + {"allow-unusable-timeslots", 0, 0, 'a'}, {0, 0, 0, 0} }; - c = getopt_long(argc, argv, "hd:DsTVc:e:r:t", + c = getopt_long(argc, argv, "hd:DsTVc:e:r:ta", long_options, &option_index); if (c == -1) break; @@ -166,6 +169,9 @@ case 'r': rf_ctrl = optarg; break; + case 'a': + allow_unusable_timeslots = 1; + break; default: /* ignore */ break; @@ -902,8 +908,11 @@ } rc = check_codec_pref(&bsc_gsmnet->bsc_data->mscs); - if (rc < 0) + if (rc < 0) { LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check configuration!\n"); + if (!allow_unusable_timeslots) + exit(1); + } llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { if (osmo_bsc_msc_init(msc) != 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 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 Mar 17 11:28:53 2020 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Tue, 17 Mar 2020 11:28:53 +0000 Subject: Change in osmo-ccid-firmware[master]: switch to using 'usbrelay' and more generic, inexpensive relay board References: Message-ID: roh has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17492 ) Change subject: switch to using 'usbrelay' and more generic,inexpensive relay board ...................................................................... switch to using 'usbrelay' and more generic,inexpensive relay board Change-Id: I292e3fd8127d393838b11db7fb058eb638524abc --- M tests/README M tests/sysmo-octsim/01_check_rig.out M tests/sysmo-octsim/README M tests/sysmo-octsim/ctl_reset_target.sh M tests/sysmo-octsim/ctl_reset_to_dfu.sh M tests/sysmo-octsim/prepare M tests/sysmo-octsim/test-data 7 files changed, 40 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/92/17492/1 diff --git a/tests/README b/tests/README index 552ac71..0508a4a 100644 --- a/tests/README +++ b/tests/README @@ -3,5 +3,5 @@ this testbed is the hardware-CI interface to make sure the firmware built is also working when flashed onto hardware. -to run it you will need a usb controlled relay board like the devantech_Ltd._USB-RLY08 and a sysmo-octsim board. +to run it you will need a usb controlled relay board and a sysmo-octsim board. diff --git a/tests/sysmo-octsim/01_check_rig.out b/tests/sysmo-octsim/01_check_rig.out index 1bd7d66..2a0d463 100644 --- a/tests/sysmo-octsim/01_check_rig.out +++ b/tests/sysmo-octsim/01_check_rig.out @@ -1,51 +1,50 @@ -ID 04d8:ffee Microchip Technology, Inc. Devantech USB-ISS +ID 16c0:05df Van Ooijen Technische Informatica HID device except mice, keyboards, and joysticks Device Descriptor: bLength 18 bDescriptorType 1 - bcdUSB 2.00 - bDeviceClass 2 Communications + bcdUSB 1.10 + bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 - idVendor 0x04d8 Microchip Technology, Inc. - idProduct 0xffee Devantech USB-ISS + idVendor 0x16c0 Van Ooijen Technische Informatica + idProduct 0x05df HID device except mice, keyboards, and joysticks bcdDevice 1.00 - iManufacturer 1 Devantech Ltd. - iProduct 2 USB-RLY08 - iSerial 3 00021197 + iManufacturer 1 www.dcttech.com + iProduct 2 USBRelay2 + iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 - wTotalLength 0x0043 - bNumInterfaces 2 + wTotalLength 0x0022 + bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 - bmAttributes 0xc0 - Self Powered - MaxPower 100mA + bmAttributes 0x80 + (Bus Powered) + MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 - bInterfaceClass 2 Communications - bInterfaceSubClass 2 Abstract (modem) - bInterfaceProtocol 1 AT-commands (v.25ter) + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 + bInterfaceProtocol 0 iInterface 0 - CDC Header: - bcdCDC 1.10 - CDC ACM: - bmCapabilities 0x02 - line coding and serial state - CDC Union: - bMasterInterface 0 - bSlaveInterface 1 - CDC Call Management: - bmCapabilities 0x00 - bDataInterface 1 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.01 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 22 + Report Descriptors: + ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 @@ -55,36 +54,6 @@ Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes - bInterval 2 - Interface Descriptor: - bLength 9 - bDescriptorType 4 - bInterfaceNumber 1 - bAlternateSetting 0 - bNumEndpoints 2 - bInterfaceClass 10 CDC Data - bInterfaceSubClass 0 - bInterfaceProtocol 0 - iInterface 0 - Endpoint Descriptor: - bLength 7 - bDescriptorType 5 - bEndpointAddress 0x02 EP 2 OUT - bmAttributes 2 - Transfer Type Bulk - Synch Type None - Usage Type Data - wMaxPacketSize 0x0040 1x 64 bytes - bInterval 0 - Endpoint Descriptor: - bLength 7 - bDescriptorType 5 - bEndpointAddress 0x82 EP 2 IN - bmAttributes 2 - Transfer Type Bulk - Synch Type None - Usage Type Data - wMaxPacketSize 0x0040 1x 64 bytes - bInterval 0 -Device Status: 0x0001 - Self Powered + bInterval 20 +Device Status: 0x0000 + (Bus Powered) diff --git a/tests/sysmo-octsim/README b/tests/sysmo-octsim/README index 162b876..1bdaa4b 100644 --- a/tests/sysmo-octsim/README +++ b/tests/sysmo-octsim/README @@ -3,3 +3,4 @@ - dfu-util - wget - pysim +- usbrelay diff --git a/tests/sysmo-octsim/ctl_reset_target.sh b/tests/sysmo-octsim/ctl_reset_target.sh index 6aafaa2..8a45833 100755 --- a/tests/sysmo-octsim/ctl_reset_target.sh +++ b/tests/sysmo-octsim/ctl_reset_target.sh @@ -1,15 +1,15 @@ #!/bin/sh -e . ./test-data -#usb_rly08 +#usb_relay # relay1 = usbpower # relay2 = dfu-btn #12 off echo "resetting target" -echo -n "op" > $USB_RELAY +usbrelay BITFT_1=0 BITFT_2=0 2>/dev/null sleep 1 # 1 on -echo -n "e" > $USB_RELAY +usbrelay BITFT_1=1 BITFT_2=0 2>/dev/null sleep 1 echo "done" diff --git a/tests/sysmo-octsim/ctl_reset_to_dfu.sh b/tests/sysmo-octsim/ctl_reset_to_dfu.sh index 4807241..d9a668e 100755 --- a/tests/sysmo-octsim/ctl_reset_to_dfu.sh +++ b/tests/sysmo-octsim/ctl_reset_to_dfu.sh @@ -1,21 +1,21 @@ #!/bin/sh -e . ./test-data -#usb_rly08 +#usb_relay # relay1 = usbpower # relay2 = dfu-btn echo "resetting target to dfu" #12 off -echo -n "op" > $USB_RELAY +usbrelay BITFT_1=0 BITFT_2=0 2>/dev/null sleep 1 # 2 on -echo -n "f" > $USB_RELAY +usbrelay BITFT_1=0 BITFT_2=1 2>/dev/null sleep 1 # 1 on -echo -n "e" > $USB_RELAY +usbrelay BITFT_1=1 BITFT_2=1 2>/dev/null sleep 1 # 2 off -echo -n "p" > $USB_RELAY +usbrelay BITFT_1=1 BITFT_2=0 2>/dev/null sleep 1 echo "done" diff --git a/tests/sysmo-octsim/prepare b/tests/sysmo-octsim/prepare index b19fbed..48da199 100755 --- a/tests/sysmo-octsim/prepare +++ b/tests/sysmo-octsim/prepare @@ -3,9 +3,6 @@ . ./test-data echo "================ PREPARING TEST RIG ================" -if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - symlink missing" ; exit 1; fi -if [ ! -c "$USB_RELAY" ]; then echo "ERROR: usb relay device - not a char device" ; exit 1; fi -if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - not writable" ; exit 1; fi ./ctl_reset_target.sh echo "================ TEST RIG PREPARED =================" echo "" diff --git a/tests/sysmo-octsim/test-data b/tests/sysmo-octsim/test-data index 9220aad..e98f1db 100644 --- a/tests/sysmo-octsim/test-data +++ b/tests/sysmo-octsim/test-data @@ -1,6 +1,4 @@ -#usb_rly08 serial -USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00" -USBD_RELAY="04d8:ffee" +USBD_RELAY="16c0:05df" USBD_TARGET="1d50:6141" DFU_IMAGE="dl/sysmoOCTSIM-latest.bin" PYSIMREAD="/home/jenkins/dep/pysim/pySim-read.py" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I292e3fd8127d393838b11db7fb058eb638524abc Gerrit-Change-Number: 17492 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 17 11:37:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Mar 2020 11:37:55 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17493 ) Change subject: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm ...................................................................... layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm GPRS (PDCH) and CBCH related frames have nothing to do with LAPDm. The former uses LLC for the user-plane data, while CBCH involves its own segmentation described in 3GPP TS 23.041 and TS 44.012. There is currently no code for handling these kinds of frames, so let's just send them to GSMTAP and release the memory (msgb). Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Related: OS#4439 --- M src/host/layer23/src/common/l1ctl.c 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/93/17493/1 diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index b6ee455..b7d0ecd 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -319,6 +319,16 @@ dl->snr, ccch->data, sizeof(ccch->data)); } + /* Do not pass PDCH and CBCH frames to LAPDm */ + switch (chan_type) { + case RSL_CHAN_OSMO_PDCH: + case RSL_CHAN_OSMO_CBCH4: + case RSL_CHAN_OSMO_CBCH8: + /* TODO: pass directly to l23 application */ + msgb_free(msg); + return 0; + } + /* determine LAPDm entity based on SACCH or not */ if (dl->link_id & 0x40) le = &ms->lapdm_channel.lapdm_acch; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Gerrit-Change-Number: 17493 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 Mar 17 11:39:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Mar 2020 11:39:50 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... osmo-bsc-minimal.cfg: fix codec-list All timeslots are configured for full rate, so the codec list must also have a full rate codec. Fix this error on startup: "Configuration contains mutually exclusive codec settings -- check configuration!" All other example configs don't have mutually exclusive codec settings. Related: OS#3739 Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/17494/1 diff --git a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg index f2597b8..7420039 100644 --- a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg @@ -30,4 +30,4 @@ e1_line 0 driver ipa msc 0 allow-emergency deny - codec-list hr3 + codec-list fr3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 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 Mar 17 12:16:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Mar 2020 12:16:54 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... firmware/layer1: introduce experimental PDCH support This change implements basic (receive only) support of the PDCH channels that are used in GPRS. Several coding schemes are defined by 3GPP TS 45.003, however we can only do CS-1 for now, since it's basically an equivalent of xCCH. In order to support the other schemes (CS2-4), we would need to know how to configure the DSP (look at Freecalypso code?). Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 --- M src/target/firmware/include/layer1/mframe_sched.h M src/target/firmware/include/layer1/sync.h M src/target/firmware/layer1/l23_api.c M src/target/firmware/layer1/mframe_sched.c M src/target/firmware/layer1/prim_rx_nb.c 5 files changed, 71 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/95/17495/1 diff --git a/src/target/firmware/include/layer1/mframe_sched.h b/src/target/firmware/include/layer1/mframe_sched.h index 74e2d27..9434fc6 100644 --- a/src/target/firmware/include/layer1/mframe_sched.h +++ b/src/target/firmware/include/layer1/mframe_sched.h @@ -31,6 +31,9 @@ MF_TASK_TCH_H_0, MF_TASK_TCH_H_1, + MF_TASK_GPRS_PDTCH, + MF_TASK_GPRS_PTCCH, + MF_TASK_NEIGH_PM51_C0T0, MF_TASK_NEIGH_PM51, MF_TASK_NEIGH_PM26E, @@ -42,6 +45,7 @@ enum mf_sched_item_flag { MF_F_SACCH = (1 << 0), + MF_F_PTCCH = (1 << 1), }; /* The scheduler itself */ diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h index daf998b..6ed3890 100644 --- a/src/target/firmware/include/layer1/sync.h +++ b/src/target/firmware/include/layer1/sync.h @@ -124,6 +124,7 @@ GSM_DCHAN_SDCCH_8_CBCH, GSM_DCHAN_TCH_H, GSM_DCHAN_TCH_F, + GSM_DCHAN_PDCH, GSM_DCHAN_UNKNOWN, } type; diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c index f55e670..e0fee84 100644 --- a/src/target/firmware/layer1/l23_api.c +++ b/src/target/firmware/layer1/l23_api.c @@ -78,6 +78,7 @@ uint8_t tn = chan_nr & 0x7; uint8_t lch_idx; enum mframe_task master_task = 0; + enum mframe_task second_task = 0; uint32_t neigh_task = 0; enum mf_type multiframe = 0; @@ -97,6 +98,12 @@ lch_idx = cbits & 0x7; master_task = MF_TASK_SDCCH8_0 + lch_idx; multiframe = MF51; + } else if ((cbits & 0x1f) == 0x18) { + /* Osmocom specific extension for PDTCH and PTCCH */ + master_task = MF_TASK_GPRS_PDTCH; + second_task = MF_TASK_GPRS_PTCCH; + /* FIXME: PDCH has different multiframe structure */ + multiframe = MFNONE; } else if ((cbits & 0x1f) == 0x19) { /* Osmocom specific extension for CBCH on SDCCH/4 */ master_task = MF_TASK_SDCCH4_CBCH; @@ -129,7 +136,7 @@ } break; } - return (1 << master_task) | neigh_task; + return (1 << master_task) | (1 << second_task) | neigh_task; } static int chan_nr2dchan_type(uint8_t chan_nr) @@ -144,6 +151,9 @@ return GSM_DCHAN_SDCCH_4; } else if ((cbits & 0x18) == 0x08) { return GSM_DCHAN_SDCCH_8; + } else if ((cbits & 0x1f) == 0x18) { + /* Osmocom-specific extension for PDCH */ + return GSM_DCHAN_PDCH; } else if ((cbits & 0x1f) == 0x19) { /* Osmocom-specific extension for CBCH on SDCCH/4 */ return GSM_DCHAN_SDCCH_4_CBCH; diff --git a/src/target/firmware/layer1/mframe_sched.c b/src/target/firmware/layer1/mframe_sched.c index 9c2954c..fac84b4 100644 --- a/src/target/firmware/layer1/mframe_sched.c +++ b/src/target/firmware/layer1/mframe_sched.c @@ -311,6 +311,52 @@ { .sched_set = NULL } }; +/* See 3GPP TS 45.002, table 6 */ +static const struct mframe_sched_item mf_gprs_pdtch[] = { + { .sched_set = NB_QUAD_DL, .modulo = 13, .frame_nr = 0 }, + { .sched_set = NB_QUAD_DL, .modulo = 13, .frame_nr = 4 }, + { .sched_set = NB_QUAD_DL, .modulo = 13, .frame_nr = 8 }, + /* NOTE: receive only task */ + { .sched_set = NULL } +}; + +static const struct mframe_sched_item mf_gprs_ptcch[] = { + /* TODO: implement AB_PTCCH_UL for PTCCH/U */ + /* TODO: implement NB_PTCCH_DL for PTCCH/D */ +#if 0 + /* PTCCH/D */ + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 12, .flags = MF_F_PTCCH }, + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 38, .flags = MF_F_PTCCH }, + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 64, .flags = MF_F_PTCCH }, + { .sched_set = NB_PTCCH_DL, .modulo = 104, .frame_nr = 90, .flags = MF_F_PTCCH }, + + /* PTCCH/U for TAI 0 .. 3 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 12 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 38 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 64 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 90 }, + + /* PTCCH/U for TAI 4 .. 7 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 116 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 142 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 168 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 194 }, + + /* PTCCH/U for TAI 8 .. 11 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 220 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 246 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 272 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 298 }, + + /* PTCCH/U for TAI 12 .. 15 */ + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 324 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 350 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 376 }, + { .sched_set = AB_PTCCH_UL, .modulo = 416, .frame_nr = 402 }, +#endif + { .sched_set = NULL } +}; + /* Test TX */ static const struct mframe_sched_item mf_tx_all_nb[] = { { .sched_set = NB_QUAD_FH_UL, .modulo = 4, .frame_nr = 0 }, @@ -345,6 +391,9 @@ [MF_TASK_TCH_H_0] = mf_tch_h_0, [MF_TASK_TCH_H_1] = mf_tch_h_1, + [MF_TASK_GPRS_PDTCH] = mf_gprs_pdtch, + [MF_TASK_GPRS_PTCCH] = mf_gprs_ptcch, + [MF_TASK_NEIGH_PM51_C0T0] = mf_neigh_pm51_c0t0, [MF_TASK_NEIGH_PM51] = mf_neigh_pm51, [MF_TASK_NEIGH_PM26E] = mf_neigh_pm26_even, @@ -415,6 +464,10 @@ break; /* Osmocom specific extensions */ + case MF_TASK_GPRS_PDTCH: + case MF_TASK_GPRS_PTCCH: + cbits = 0x18; + break; case MF_TASK_SDCCH4_CBCH: cbits = 0x19; break; diff --git a/src/target/firmware/layer1/prim_rx_nb.c b/src/target/firmware/layer1/prim_rx_nb.c index 38c7b53..c90c98c 100644 --- a/src/target/firmware/layer1/prim_rx_nb.c +++ b/src/target/firmware/layer1/prim_rx_nb.c @@ -126,6 +126,8 @@ /* Set SACCH indication in Link IDentifier */ if (mf_task_flags & MF_F_SACCH) rxnb.dl->link_id = 0x40; + if (mf_task_flags & MF_F_PTCCH) + rxnb.dl->link_id = 0x80; else rxnb.dl->link_id = 0x00; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 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 Mar 17 12:36:56 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 17 Mar 2020 12:36:56 +0000 Subject: Change in libosmocore[master]: dtx: add decoding for AMR-DTX frames In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17095 ) Change subject: dtx: add decoding for AMR-DTX frames ...................................................................... Patch Set 10: (23 comments) I think we have it now. We can detect DTX frames and get an n_errors/n_bits_total rating for detected frames. If we do not detect a DTX frame the code assumes that the frame is a normal speech frame and everything continues as normal. https://gerrit.osmocom.org/c/libosmocore/+/17095/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/17095/2//COMMIT_MSG at 12 PS2, Line 12: caller can be informed about this > about this? "this" means that the decoder is not able to handle dtx frames? or that it now supports [?] I am not there yet, it is correct that the decoder can not decode the DTX frames yet. However, we only need to decode SID_UPDATE frames, all other frames do not contain audio information, they just tell us if DTX is switched on or off. However, the upper layers must know that those frames are present to compute the measurement results correctly. I will get back to this commit message when the patch is done. https://gerrit.osmocom.org/c/libosmocore/+/17095/5/include/osmocom/coding/gsm0503_amr_dtx.h File include/osmocom/coding/gsm0503_amr_dtx.h: https://gerrit.osmocom.org/c/libosmocore/+/17095/5/include/osmocom/coding/gsm0503_amr_dtx.h at 30 PS5, Line 30: static inline const char *gsm0503_amr_dtx_frame_name(uint8_t frame) > not uint8_t, but enum gsm0503_amr_dtx_frames Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/include/osmocom/coding/gsm0503_amr_dtx.h File include/osmocom/coding/gsm0503_amr_dtx.h: https://gerrit.osmocom.org/c/libosmocore/+/17095/2/include/osmocom/coding/gsm0503_amr_dtx.h at 35 PS2, Line 35: uint8_t gsm0503_detect_afs_dtx_frame(ubit_t * ubits); > we usually use "*ubits", not "* ubits" Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/include/osmocom/coding/gsm0503_coding.h File include/osmocom/coding/gsm0503_coding.h: https://gerrit.osmocom.org/c/libosmocore/+/17095/2/include/osmocom/coding/gsm0503_coding.h at 70 PS2, Line 70: int gsm0503_tch_ahs_decode_dtx(uint8_t *tch_data, const sbit_t *bursts, int odd, > int odd probably means true/false, so it can be a bool? gsm0503_tch_ahs_decode_dtx is a new variant of gsm0503_tch_ahs_decode, The int odd variable is part of the existing API, changing this would be out of the scope of this patch. https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c File src/coding/gsm0503_amr_dtx.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 44 PS2, Line 44: ubit_t > const Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 47 PS2, Line 47: ubit_t id_marker[] = { 0, 1, 0, 0, 1, 1, 1, 1, 0 }; > static const Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 60 PS2, Line 60: ubits++; > you are ncreasing ubits 4 times +1 here, and later on you increase it 4 times afterwards. [?] Yes it is correct. The id_marker appears for 4 bits, then there are 4 bits uninteresting bits which need to be jumped over and then there are again 4 bits of id_marker and so on. So it is correct. https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 68 PS2, Line 68: if (errors < count * 4 / 8) > return (errors < count * 4 / 8); Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 73 PS2, Line 73: static bool detect_ahs_id_marker(ubit_t * ubits, ubit_t * id_marker) > Same kind of comments apply for other functions in this file. Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 73 PS2, Line 73: ubit_t > const Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 96 PS2, Line 96: static bool detect_interleaved_ahs_id_marker(ubit_t * ubits, ubit_t * id_marker) > const uibt_t *id_marker. Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 122 PS2, Line 122: ubit_t > const Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 125 PS2, Line 125: { 0, 0, 0, 0 }; > could be just ... [?] Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 147 PS2, Line 147: ubit_t > const Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 151 PS2, Line 151: { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; > could be just ... [?] Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 211 PS2, Line 211: ubit_t id_marker[] = { 0, 1, 0, 0, 1, 1, 1, 1, 0 }; > Ack Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 252 PS2, Line 252: uint8_t gsm0503_detect_afs_dtx_frame(ubit_t * ubits) > return is of type enum gsm0503_amr_dtx_frames Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_amr_dtx.c at 266 PS2, Line 266: uint8_t gsm0503_detect_ahs_dtx_frame(ubit_t * ubits) > return is of type enum gsm0503_amr_dtx_frames Done https://gerrit.osmocom.org/c/libosmocore/+/17095/5/src/coding/gsm0503_amr_dtx.c File src/coding/gsm0503_amr_dtx.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/5/src/coding/gsm0503_amr_dtx.c at 34 PS5, Line 34: { AFS_SID_FIRST, "AFS_SID_FIRST" }, > If possible please align the strings. Done https://gerrit.osmocom.org/c/libosmocore/+/17095/5/src/coding/gsm0503_amr_dtx.c at 138 PS5, Line 138: 14 - ones[k] > each ones item (onces[k]) is increased at most 14 times by previous loops, and each time += ubits[k] [?] Done https://gerrit.osmocom.org/c/libosmocore/+/17095/5/src/coding/gsm0503_amr_dtx.c at 157 PS5, Line 157: ones[k] += ubits[0]; > shouldn't this be ubits[k] perhaps? This is indeed a bit irretating. I need to access every 2nd ubit, this is done by incrementing the ubits pointer by two every time and accessing always the first element. I have now changed it a bit to make it more clear. https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_coding.c File src/coding/gsm0503_coding.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_coding.c at 2098 PS2, Line 2098: * \param[out] dtx DTX frame type > This looks wrong, gsm0503_tch_afs_decode() has no such parameter. Done https://gerrit.osmocom.org/c/libosmocore/+/17095/2/src/coding/gsm0503_coding.c at 2166 PS2, Line 2166: printf("%u", cBd[i]); > I'm sure that shouldn't be there. Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Gerrit-Change-Number: 17095 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 12:36: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 Tue Mar 17 12:42:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:42:22 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17493 ) Change subject: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm ...................................................................... Patch Set 1: actually layer23 has an app_cbch_sniff.c, how would this be affected if you silently drop all CBCH frames here? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Gerrit-Change-Number: 17493 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 12:42: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 Tue Mar 17 12:44:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:44:10 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17495/1/src/target/firmware/layer1/l23_api.c File src/target/firmware/layer1/l23_api.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17495/1/src/target/firmware/layer1/l23_api.c at 106 PS1, Line 106: m I would say add the 52-multiframe for PDCH and only merge it then? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 12:44: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 Tue Mar 17 12:48:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:48:33 +0000 Subject: Change in libosmocore[master]: debian: Change python3 dependency to native arch In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17490 ) Change subject: debian: Change python3 dependency to native arch ...................................................................... Patch Set 1: Code-Review+2 thanks for your contribution! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I85994447657cda757348855c3ee9978e8c7c2377 Gerrit-Change-Number: 17490 Gerrit-PatchSet: 1 Gerrit-Owner: Maksim Aristov Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 12:48:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 17 12:48:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:48:36 +0000 Subject: Change in libosmocore[master]: debian: Change python3 dependency to native arch In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17490 ) Change subject: debian: Change python3 dependency to native arch ...................................................................... debian: Change python3 dependency to native arch This small fix enables cross compilation using dpkg-buildpackage on multiarch: https://wiki.debian.org/CrossCompiling#Building_with_dpkg-buildpackage `apt build-dep -a` incorrectly installed non-native python for building Change-Id: I85994447657cda757348855c3ee9978e8c7c2377 --- M debian/control 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/debian/control b/debian/control index cdf26bb..272fe7f 100644 --- a/debian/control +++ b/debian/control @@ -17,7 +17,7 @@ libtalloc-dev, libsctp-dev, libusb-1.0-0-dev, - python3 + python3:native Standards-Version: 3.9.8 Vcs-Git: git://git.osmocom.org/libosmocore.git Vcs-Browser: http://git.osmocom.org/libosmocore/ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I85994447657cda757348855c3ee9978e8c7c2377 Gerrit-Change-Number: 17490 Gerrit-PatchSet: 1 Gerrit-Owner: Maksim Aristov 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 Mar 17 12:49:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:49:05 +0000 Subject: Change in osmo-ccid-firmware[master]: switch to using 'usbrelay' and more generic, inexpensive relay board In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17492 ) Change subject: switch to using 'usbrelay' and more generic,inexpensive relay board ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I292e3fd8127d393838b11db7fb058eb638524abc Gerrit-Change-Number: 17492 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 12:49: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 Mar 17 12:49:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:49:07 +0000 Subject: Change in osmo-ccid-firmware[master]: switch to using 'usbrelay' and more generic, inexpensive relay board In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17492 ) Change subject: switch to using 'usbrelay' and more generic,inexpensive relay board ...................................................................... switch to using 'usbrelay' and more generic,inexpensive relay board Change-Id: I292e3fd8127d393838b11db7fb058eb638524abc --- M tests/README M tests/sysmo-octsim/01_check_rig.out M tests/sysmo-octsim/README M tests/sysmo-octsim/ctl_reset_target.sh M tests/sysmo-octsim/ctl_reset_to_dfu.sh M tests/sysmo-octsim/prepare M tests/sysmo-octsim/test-data 7 files changed, 40 insertions(+), 75 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/README b/tests/README index 552ac71..0508a4a 100644 --- a/tests/README +++ b/tests/README @@ -3,5 +3,5 @@ this testbed is the hardware-CI interface to make sure the firmware built is also working when flashed onto hardware. -to run it you will need a usb controlled relay board like the devantech_Ltd._USB-RLY08 and a sysmo-octsim board. +to run it you will need a usb controlled relay board and a sysmo-octsim board. diff --git a/tests/sysmo-octsim/01_check_rig.out b/tests/sysmo-octsim/01_check_rig.out index 1bd7d66..2a0d463 100644 --- a/tests/sysmo-octsim/01_check_rig.out +++ b/tests/sysmo-octsim/01_check_rig.out @@ -1,51 +1,50 @@ -ID 04d8:ffee Microchip Technology, Inc. Devantech USB-ISS +ID 16c0:05df Van Ooijen Technische Informatica HID device except mice, keyboards, and joysticks Device Descriptor: bLength 18 bDescriptorType 1 - bcdUSB 2.00 - bDeviceClass 2 Communications + bcdUSB 1.10 + bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 - idVendor 0x04d8 Microchip Technology, Inc. - idProduct 0xffee Devantech USB-ISS + idVendor 0x16c0 Van Ooijen Technische Informatica + idProduct 0x05df HID device except mice, keyboards, and joysticks bcdDevice 1.00 - iManufacturer 1 Devantech Ltd. - iProduct 2 USB-RLY08 - iSerial 3 00021197 + iManufacturer 1 www.dcttech.com + iProduct 2 USBRelay2 + iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 - wTotalLength 0x0043 - bNumInterfaces 2 + wTotalLength 0x0022 + bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 - bmAttributes 0xc0 - Self Powered - MaxPower 100mA + bmAttributes 0x80 + (Bus Powered) + MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 - bInterfaceClass 2 Communications - bInterfaceSubClass 2 Abstract (modem) - bInterfaceProtocol 1 AT-commands (v.25ter) + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 + bInterfaceProtocol 0 iInterface 0 - CDC Header: - bcdCDC 1.10 - CDC ACM: - bmCapabilities 0x02 - line coding and serial state - CDC Union: - bMasterInterface 0 - bSlaveInterface 1 - CDC Call Management: - bmCapabilities 0x00 - bDataInterface 1 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.01 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 22 + Report Descriptors: + ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 @@ -55,36 +54,6 @@ Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes - bInterval 2 - Interface Descriptor: - bLength 9 - bDescriptorType 4 - bInterfaceNumber 1 - bAlternateSetting 0 - bNumEndpoints 2 - bInterfaceClass 10 CDC Data - bInterfaceSubClass 0 - bInterfaceProtocol 0 - iInterface 0 - Endpoint Descriptor: - bLength 7 - bDescriptorType 5 - bEndpointAddress 0x02 EP 2 OUT - bmAttributes 2 - Transfer Type Bulk - Synch Type None - Usage Type Data - wMaxPacketSize 0x0040 1x 64 bytes - bInterval 0 - Endpoint Descriptor: - bLength 7 - bDescriptorType 5 - bEndpointAddress 0x82 EP 2 IN - bmAttributes 2 - Transfer Type Bulk - Synch Type None - Usage Type Data - wMaxPacketSize 0x0040 1x 64 bytes - bInterval 0 -Device Status: 0x0001 - Self Powered + bInterval 20 +Device Status: 0x0000 + (Bus Powered) diff --git a/tests/sysmo-octsim/README b/tests/sysmo-octsim/README index 162b876..1bdaa4b 100644 --- a/tests/sysmo-octsim/README +++ b/tests/sysmo-octsim/README @@ -3,3 +3,4 @@ - dfu-util - wget - pysim +- usbrelay diff --git a/tests/sysmo-octsim/ctl_reset_target.sh b/tests/sysmo-octsim/ctl_reset_target.sh index 6aafaa2..8a45833 100755 --- a/tests/sysmo-octsim/ctl_reset_target.sh +++ b/tests/sysmo-octsim/ctl_reset_target.sh @@ -1,15 +1,15 @@ #!/bin/sh -e . ./test-data -#usb_rly08 +#usb_relay # relay1 = usbpower # relay2 = dfu-btn #12 off echo "resetting target" -echo -n "op" > $USB_RELAY +usbrelay BITFT_1=0 BITFT_2=0 2>/dev/null sleep 1 # 1 on -echo -n "e" > $USB_RELAY +usbrelay BITFT_1=1 BITFT_2=0 2>/dev/null sleep 1 echo "done" diff --git a/tests/sysmo-octsim/ctl_reset_to_dfu.sh b/tests/sysmo-octsim/ctl_reset_to_dfu.sh index 4807241..d9a668e 100755 --- a/tests/sysmo-octsim/ctl_reset_to_dfu.sh +++ b/tests/sysmo-octsim/ctl_reset_to_dfu.sh @@ -1,21 +1,21 @@ #!/bin/sh -e . ./test-data -#usb_rly08 +#usb_relay # relay1 = usbpower # relay2 = dfu-btn echo "resetting target to dfu" #12 off -echo -n "op" > $USB_RELAY +usbrelay BITFT_1=0 BITFT_2=0 2>/dev/null sleep 1 # 2 on -echo -n "f" > $USB_RELAY +usbrelay BITFT_1=0 BITFT_2=1 2>/dev/null sleep 1 # 1 on -echo -n "e" > $USB_RELAY +usbrelay BITFT_1=1 BITFT_2=1 2>/dev/null sleep 1 # 2 off -echo -n "p" > $USB_RELAY +usbrelay BITFT_1=1 BITFT_2=0 2>/dev/null sleep 1 echo "done" diff --git a/tests/sysmo-octsim/prepare b/tests/sysmo-octsim/prepare index b19fbed..48da199 100755 --- a/tests/sysmo-octsim/prepare +++ b/tests/sysmo-octsim/prepare @@ -3,9 +3,6 @@ . ./test-data echo "================ PREPARING TEST RIG ================" -if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - symlink missing" ; exit 1; fi -if [ ! -c "$USB_RELAY" ]; then echo "ERROR: usb relay device - not a char device" ; exit 1; fi -if [ ! -h "$USB_RELAY" ]; then echo "ERROR: usb relay device - not writable" ; exit 1; fi ./ctl_reset_target.sh echo "================ TEST RIG PREPARED =================" echo "" diff --git a/tests/sysmo-octsim/test-data b/tests/sysmo-octsim/test-data index 9220aad..e98f1db 100644 --- a/tests/sysmo-octsim/test-data +++ b/tests/sysmo-octsim/test-data @@ -1,6 +1,4 @@ -#usb_rly08 serial -USB_RELAY="/dev/serial/by-id/usb-Devantech_Ltd._USB-RLY08_00021197-if00" -USBD_RELAY="04d8:ffee" +USBD_RELAY="16c0:05df" USBD_TARGET="1d50:6141" DFU_IMAGE="dl/sysmoOCTSIM-latest.bin" PYSIMREAD="/home/jenkins/dep/pysim/pySim-read.py" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/17492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: I292e3fd8127d393838b11db7fb058eb638524abc Gerrit-Change-Number: 17492 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 17 12:50:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:50:12 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 1: I would argue "FR v1" is more useful as a generic default. It is guaranteed to be supported by all phones, unlike FRv3 (AMR) which is not suppored by the first ~6-7 years of GSM phones. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 12:50: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 Mar 17 12:50:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Mar 2020 12:50:42 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 12: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 Mar 17 13:33:17 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 17 Mar 2020 13:33:17 +0000 Subject: Change in pysim[master]: test, please ignore References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17496 ) Change subject: test, please ignore ...................................................................... test, please ignore Change-Id: Iadea580bfd167817a811d702bdea267fd1a730a0 --- A testme.test 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/96/17496/1 diff --git a/testme.test b/testme.test new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/testme.test -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iadea580bfd167817a811d702bdea267fd1a730a0 Gerrit-Change-Number: 17496 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 Mar 17 13:35:08 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 17 Mar 2020 13:35:08 +0000 Subject: Change in pysim[master]: test, please ignore In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/17496 ) Change subject: test, please ignore ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iadea580bfd167817a811d702bdea267fd1a730a0 Gerrit-Change-Number: 17496 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 17 13:41:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Mar 2020 13:41:47 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list 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/+/17494 to look at the new patch set (#2). Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... osmo-bsc-minimal.cfg: fix codec-list All timeslots are configured for full rate, so the codec list must also have a full rate codec. Fix this error on startup: "Configuration contains mutually exclusive codec settings -- check configuration!" All other example configs don't have mutually exclusive codec settings. Related: OS#3739 Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/17494/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 17 13:43:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Mar 2020 13:43:46 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 2: > Patch Set 1: > > I would argue "FR v1" is more useful as a generic default. It is guaranteed to be supported by all phones, unlike FRv3 (AMR) which is not suppored by the first ~6-7 years of GSM phones. Ack, updated. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 13:43: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 Tue Mar 17 13:49:21 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 17 Mar 2020 13:49:21 +0000 Subject: Change in pysim[master]: test References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17497 ) Change subject: test ...................................................................... test Change-Id: Ia850cc103b1ffd2e7c37a8cfc85aaeda84c444e8 --- A test.testme 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/97/17497/1 diff --git a/test.testme b/test.testme new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test.testme -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia850cc103b1ffd2e7c37a8cfc85aaeda84c444e8 Gerrit-Change-Number: 17497 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 Mar 17 13:51:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 17 Mar 2020 13:51:11 +0000 Subject: Change in pysim[master]: test In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/17497 ) Change subject: test ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia850cc103b1ffd2e7c37a8cfc85aaeda84c444e8 Gerrit-Change-Number: 17497 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 17 14:43:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Mar 2020 14:43:42 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17493 ) Change subject: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm ...................................................................... Patch Set 1: > Patch Set 1: > > actually layer23 has an app_cbch_sniff.c, how would this be affected if you silently drop all CBCH frames here? It would not be affected because... there is no actual code to handle CBCH frames in app_cbch_sniff.c. This application tunes to a given ARFCN, checks CBCH channel description in SI4, and sends L1CTL_DM_EST_REQ for that channel if present. CBCH frames from the L1 are getting dropped by the LAPDm code, but before that they're sent over GSMTAP though. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Gerrit-Change-Number: 17493 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 14:43: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 Tue Mar 17 14:48:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Mar 2020 14:48:37 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17495/1/src/target/firmware/layer1/l23_api.c File src/target/firmware/layer1/l23_api.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17495/1/src/target/firmware/layer1/l23_api.c at 106 PS1, Line 106: m > I would say add the 52-multiframe for PDCH and only merge it then? AFAIU, this is only needed for the neighbor measurements. I don't think this is critical, we can always implement it later. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: tnt Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Mar 2020 14:48: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 Tue Mar 17 16:29:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 16:29:38 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Introduce Troubleshooting section about SIGKILL fix In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17487 ) Change subject: doc/manuals: Introduce Troubleshooting section about SIGKILL fix ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4841ab6d44a122140e6352df1fb6543418adc033 Gerrit-Change-Number: 17487 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 16:29: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 Mar 17 16:29:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 16:29:41 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Add proper content for Debugging section In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17488 ) Change subject: doc/manuals: Add proper content for Debugging section ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaed2544d59f7c5dd69eef3ddfade544b35c837cd Gerrit-Change-Number: 17488 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 16:29: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 Mar 17 16:29:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 16:29:42 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Several format and styles fixes for config.adoc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17489 ) Change subject: doc/manuals: Several format and styles fixes for config.adoc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6371e09d6d88f137e7611bd60ac97b86414d8c47 Gerrit-Change-Number: 17489 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 16:29: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 Mar 17 16:29:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 16:29:45 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Introduce Troubleshooting section about SIGKILL fix In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17487 ) Change subject: doc/manuals: Introduce Troubleshooting section about SIGKILL fix ...................................................................... doc/manuals: Introduce Troubleshooting section about SIGKILL fix Add a section describing how to clean up and recover osmo-gsm-tester state after a sigkill is used. Change-Id: I4841ab6d44a122140e6352df1fb6543418adc033 --- M doc/manuals/chapters/troubleshooting.adoc 1 file changed, 39 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/troubleshooting.adoc b/doc/manuals/chapters/troubleshooting.adoc index a3b5c8b..c7c6868 100644 --- a/doc/manuals/chapters/troubleshooting.adoc +++ b/doc/manuals/chapters/troubleshooting.adoc @@ -13,3 +13,42 @@ Careful: if a configuration item consists of digits and starts with a zero, you need to quote it, or it may be interpreted as an octal notation integer! Please avoid using the octal notation on purpose, it is not provided intentionally. + +=== {app-name} not running but resources still allocated + +The <> is used to keep shared state of the +the resources allocated by any {app-name} instance. Each {app-name} instance +being run is responsible to de-allocate the used resources before exiting. In +general, upon receiving a shutdown action (ie. 'CTRL+C', 'SIGINT', python +exception, etc.), {app-name} is able to handle properly the situation and +de-allocate the resources before the process exits. Similarly, {app-name} also +takes care of terminating all its children processes being managed before +exiting itself. + +However, under some circumstances, {app-name} will be unable to de-allocate the +resources and they will remain allocated for subsequent {app-name} instances +which try to use them. That situation is usually reached when someone terminates +{app-name} in a hard way. Main reasons are {app-name} process receiving a +'SIGKILL' signal ('kill -9 $pid') which cannot be caught, or due to the entire +host being shut down in a non proper way. + +As a noticeable example, SIGKILL is known to be sent to {app-name} when it runs +under a jenkins shell script and any of the two following things happen: + +- User presses the red cross icon in the Jenkins UI to terminate the running + job. +- Connection between Jenkins master (UI) and Jenkins slave running the job is + lost. + +Once this situation is reached, one needs to follow 2 steps: + +- Gain console access to the <> and manually clean + or completely remove the 'reserved_resources.state' in the + <>. In general it's a good idea to make sure no + {app-name} instance is running at all and then remove completely all files in + <>, since {app-name} could theoretically have been killed + while writing some file and it may have ended up with corrupt content. +- Gain console access to the <> and each of the + <> and kill any hanging long-termed processes + in there which may have been started by {app-name}. Some popular processes in + this list include 'tcpdump', 'osmo-\*', 'srs*', etc. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4841ab6d44a122140e6352df1fb6543418adc033 Gerrit-Change-Number: 17487 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 Mar 17 16:29:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 16:29:47 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Add proper content for Debugging section In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17488 ) Change subject: doc/manuals: Add proper content for Debugging section ...................................................................... doc/manuals: Add proper content for Debugging section Change-Id: Iaed2544d59f7c5dd69eef3ddfade544b35c837cd --- M doc/manuals/chapters/debugging.adoc 1 file changed, 64 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/debugging.adoc b/doc/manuals/chapters/debugging.adoc index bea1e5c..6c32e7a 100644 --- a/doc/manuals/chapters/debugging.adoc +++ b/doc/manuals/chapters/debugging.adoc @@ -1,4 +1,67 @@ [[debugging]] == Debugging -*TODO*: describe how to invoke 'ipdb3' and step into a suite's test script +{app-name} is a complex program which at the same time orchestrates sets of +other complex programs to form a network of nodes. As such, it can be sometimes +challenging to find out what is going on during a trial run. This section aims +at providing some tips on how to debug possible issues. + +=== Logging level + +{app-name} runs by default under 'info' log level. As a first debugging step, it +is always a good idea to increase log verbosity. By switching to debug level +(command line argument '-l dbg'), a lot more information and events are displayed which +can give a much better idea to understand possible misconfigurations or wrong +steps. + +In any case, {app-name} usually provides several log files of interest. In +general, both a 'log' and a 'log_brief' are stored directly under the trial's +run directory, the first containing output up to debug level included, while the +second contains output up to info level included. Furthermore, {app-name} writes +a debug level log file per test case under each test's run directory. + +It is also in general useful to enable the '-T' command line argument. By using +it, it will instruct {app-name} to write the full backtrace to the log output +when something wrong happens, such an unexpected exception. + +[[pdb]] +=== python debugger + +{app-name} can be further debugged using python's debugger 'pdb'. Easiest way to +use it is to modify the python code were you want to break and add this code: +---- +import pdb; pdb.set_trace() +---- + +When {app-name} runs over that code, it will pause and provide a debugging +interactive shell, where one can inspect variables, execute code, etc. + +TIP: Remember {app-name} is managed by its internal main loop, meaning if you +jump into a debugger console you will still need to give back control to the +main loop for events to be processed and checks done. That can be done for +instance by calling the 'MainLoop.sleep(log_obj, secs)' internal API in general +or `sleep(secs)' under test context. + +=== debug suite + +Sometimes, however, one may be interested in debugging the behavior of the +software under test by {app-name} rather than {app-name} itself. For instance, +one may simply want to set up a full running network of nodes and keep it up +until some manual tests are done, or one may want {app-name} to do so at a given +point of time. + +To fulfill this kind of scenarios, {app-name} provides some code available for +tests to gain access to a high-level interactive console which is fully +integrated with {app-name}'s own main loop. So the approach here is usually to +write a regular test (with its corresponding <>) to set +up and run all required processes and then allow it to jump into the interactive +console instance. Then the test pulls received commands from it and it is +responsible for parsing and implementing them. One command can for instance ask +a modem to send an sms to another. Another command can for instance jump into a +<>. + +The interactive console is available to tests through the 'prompt' method, and +its implementation can be found under 'method input_polling' in 'util.py'. + +An interactive console example as explained in this section can be found under +the 'debug/interactive.py' test in osmo-gsm-tester.git. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaed2544d59f7c5dd69eef3ddfade544b35c837cd Gerrit-Change-Number: 17488 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 Mar 17 16:29:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 16:29:47 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Several format and styles fixes for config.adoc In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17489 ) Change subject: doc/manuals: Several format and styles fixes for config.adoc ...................................................................... doc/manuals: Several format and styles fixes for config.adoc Change-Id: I6371e09d6d88f137e7611bd60ac97b86414d8c47 --- M doc/manuals/chapters/config.adoc 1 file changed, 11 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index a8bb958..f9b390d 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -160,7 +160,7 @@ - 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 + attributes to the initial <> _resources_ section and hence further restrain it. [[schema_conf_sec_modifiers]] - Section 'modifiers': Both in <> and @@ -453,7 +453,7 @@ that is repeated numerous times. No special notation for these cases is available (yet). -[[default_suites]] +[[default_suites_conf]] ==== 'default-suites.conf' (optional) The 'default-suites.conf' file contains a YAML list of 'suite:scenario+scenario+...' @@ -561,14 +561,17 @@ ups share mostly all configuration, main difference being the <> file being used. -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. +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 'suites/' - <>: Available under 'example/scenarios/' - <>: Available under 'example/' 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'. + 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! @@ -580,7 +583,8 @@ Examples for launching test trials: -- Run the default suites (see <>) on a given set of binaries: +- Run the default suites (see <>) on a + given set of binaries: ---- osmo-gsm-tester.py path/to/my-trial -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6371e09d6d88f137e7611bd60ac97b86414d8c47 Gerrit-Change-Number: 17489 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 Mar 17 17:52:13 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Tue, 17 Mar 2020 17:52:13 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17498 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... cards.py: Added parsing of all the AIDs in the UICC Introduced a new member variable to Card class to store the AIDs present in UICC. And, populated this variable (a list) upon creating a Card object/Card subclass object by reading the EF 2f00 under MF 3f00. Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 --- M pySim/cards.py 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/17498/1 diff --git a/pySim/cards.py b/pySim/cards.py index a872ee0..da9e371 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -32,6 +32,19 @@ def __init__(self, scc): self._scc = scc self._adm_chv_num = 4 + self._aids = [] + + 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']) + for i in range(0, rec_cnt): + rec = self._scc.read_record(['3f00', '2f00'], 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]) + except Exception as e: + pass def reset(self): self._scc.reset_card() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 Gerrit-Change-Number: 17498 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 Tue Mar 17 19:21:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 19:21:23 +0000 Subject: Change in osmo-gsm-tester[master]: scenarios: Drop unnecessary srsue-rftype-soapy.conf References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17499 ) Change subject: scenarios: Drop unnecessary srsue-rftype-soapy.conf ...................................................................... scenarios: Drop unnecessary srsue-rftype-soapy.conf There's already a parametrized scenario handling it. We don't use any soapy backend for srsue anyway yet. Change-Id: Ie680178d2b16139473b5899803fb69a715a79216 --- D example/scenarios/srsue-rftype-soapy.conf 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/99/17499/1 diff --git a/example/scenarios/srsue-rftype-soapy.conf b/example/scenarios/srsue-rftype-soapy.conf deleted file mode 100644 index 5f034af..0000000 --- a/example/scenarios/srsue-rftype-soapy.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - modem: - - type: srsue - rf_dev_type: soapy -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie680178d2b16139473b5899803fb69a715a79216 Gerrit-Change-Number: 17499 Gerrit-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 Mar 17 19:21:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 19:21:24 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Introduce chapter explaining config data mangling References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500 ) Change subject: doc/manuals: Introduce chapter explaining config data mangling ...................................................................... doc/manuals: Introduce chapter explaining config data mangling Explains how configurations bits are arranged and mangled to provide a last config set. Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141 --- A doc/manuals/chapters/config_mangling.adoc M doc/manuals/chapters/resource_pool.adoc 2 files changed, 338 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/00/17500/1 diff --git a/doc/manuals/chapters/config_mangling.adoc b/doc/manuals/chapters/config_mangling.adoc new file mode 100644 index 0000000..310b15f --- /dev/null +++ b/doc/manuals/chapters/config_mangling.adoc @@ -0,0 +1,334 @@ + +* Data processing can be understood as operations on sets (link:https://duckduckgo.com/?q=Venn+diagram[Venn diagram]) + +---- +$ src/osmo-gsm-tester.py "$TRIAL_JOB_DIR" -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq+mod-enb-nprb at 6 -t ping.py +---- + + + +* First Suite and scenarios dictionaries ('resources', 'modifiers', 'config') are combined (set union operation): + +[cols="1,5a,5a,10a,10a"] +.Manual replica of 'suite.py resource_requirements()' and 'resource_modifiers()' methods +|=== +|File|original|after 'times' replication|python syntax|combined + +|4g +| +---- +run_node: +- times: 1 +enb: +- times: 1 + type: srsenb +modem: +- times: 2 + type: srsue +---- +| +---- +run_node: +- {} +enb: +- type: srsenb +modem: +- type: srsue +- type: srsue +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb'}], + 'modem': [{'type: 'srsue'}, + {'type: 'srsue'}] +} +'modifiers': {} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb'}], + 'modem': [{'type': 'srsue'}, + {'type': 'srsue'}] + +} +'modifiers': {} +---- +|srsenb-rftype at zmq +| +---- +resources: + enb: + - type: srsenb + rf_dev_type: zmq +---- +| +---- +resources: + enb: + - type: srsenb + rf_dev_type: zmq +---- +| +---- +'resources': { + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}] +} +'modifiers': {} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [{'type': 'srsue'}, + {'type': 'srsue'}] +} +'modifiers': {} +---- +|srsue-rftype at zmq +| +---- +resources: + modem: + - type: srsue + rf_dev_type: zmq + times: 1 +---- +| +---- +resources: + modem: + - type: srsue + rf_dev_type: zmq +---- +| +---- +'resources': { + 'modem': [{'type': 'srsue', + 'rf_dev_type': 'zmq'}] +} +'modifiers': {} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [{'type': 'srsue', + 'rf_dev_type': 'zmq'}, + {'type': 'srsue'}] +} +'modifiers': {} +---- +|mod-enb-nprb at 6 +| +---- +modifiers: + enb: + - num_prb: 6 + times: 1 +---- +| +---- +modifiers: + enb: + - num_prb: 6 +---- +| +---- +'resources': {} +'modifiers': { + 'enb': [{'num_prb': 6}] +} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [{'type': 'srsue', + 'rf_dev_type': 'zmq'}, + {'type': 'srsue'}] +} +'modifiers': { + 'enb': [{'num_prb': 6}] +} +---- +|=== + +* Second, the resulting 'resources' set is used to match a set of resources from 'resources.list' in order to allocate them (intersection of sets): + +[cols="5a,5a,10a"] +.Manual replica of 'resource.py reserve()' method +|=== +|resources.conf|'resources' filters|matched + +| +---- +run_node: +- run_type: ssh + run_addr: 10.12.1.195 + ssh_user: jenkins + ssh_addr: 10.12.1.195 + +enb: +- label: srsENB-zmq + type: srsenb + rf_dev_type: zmq + remote_user: jenkins + addr: 10.12.1.206 + +- label: srsENB-B200 + type: srsenb + rf_dev_type: UHD + rf_dev_args: "type=b200,serial=317B9FE" + remote_user: jenkins + addr: 10.12.1.206 + +modem: +- label: srsUE-zmq_1 + type: srsue + rf_dev_type: zmq + remote_user: jenkins + addr: 10.12.1.195 + imsi: '001010123456789' + ki: '001123' + +- label: srsUE-zq_2 + type: srsue + rf_dev_type: zmq + remote_user: jenkins + addr: 10.12.1.180 + imsi: '001010123456781' + ki: '001124' +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [ + {'type': 'srsue', + 'rf_dev_type': 'zmq'}, + {'type': 'srsue'} + ] +} +---- +| +---- +'resources': { + 'run_node': [{'run_type': 'ssh', + 'run_addr': '10.12.1.195', + 'ssh_user': 'jenkins', + 'ssh_addr': '10.12.1.195'}], + 'enb': [{'label': 'srsENB-zmq', + 'type': 'srsenb', + 'rf_dev_type': 'zmq', + 'remote_user': 'jenkins', + 'addr': 10.12.1.206}], + 'modem': [ + {'label': 'srsUE-zmq_1', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.195', + 'imsi': '001010123456789' + 'ki': '001123', + 'rf_dev_type': 'zmq'}, + {'label': 'srsUE-zmq_2', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.180', + 'imsi': '001010123456781' + 'ki': '001124'} + ] +} +---- +|=== + +* Finally, modifiers are applied on top of the combined configuration before + being passed to the python class managing it: + +[cols="5a,5a,10a"] +.Also done by 'resource.py reserve()' method after matching resources +|=== +|Matched resources|modifiers|Result + +| +---- +'resources': { + 'run_node': [{'run_type': 'ssh', + 'run_addr': '10.12.1.195', + 'ssh_user': 'jenkins', + 'ssh_addr': '10.12.1.195'}], + 'enb': [{'label': 'srsENB-zmq', + 'type': 'srsenb', + 'rf_dev_type': 'zmq', + 'remote_user': 'jenkins', + 'addr': 10.12.1.206}], + 'modem': [ + {'label': 'srsUE-zmq_1', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.195', + 'imsi': '001010123456789' + 'ki': '001123', + 'rf_dev_type': 'zmq'}, + {'label': 'srsUE-zmq_2', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.180', + 'imsi': '001010123456781' + 'ki': '001124'} + ] +} +---- +| +---- +'modifiers': { + 'enb': [{'num_prb': 6}] +} +---- +| +---- +'resources': { + 'run_node': [{'run_type': 'ssh', + 'run_addr': '10.12.1.195', + 'ssh_user': 'jenkins', + 'ssh_addr': '10.12.1.195'}], + 'enb': [{'label': 'srsENB-zmq', + 'type': 'srsenb', + 'rf_dev_type': 'zmq', + 'remote_user': 'jenkins', + 'addr': '10.12.1.206', + 'num_prb': 6}], + 'modem': [ + {'label': 'srsUE-zmq_1', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': 10.12.1.195, + 'imsi': '001010123456789' + 'ki': '001123', + 'rf_dev_type': 'zmq'}, + {'label': 'srsUE-zmq_2', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': 10.12.1.180, + 'imsi': '001010123456781' + 'ki': '001124'} + ] +} +---- +|=== + +WARNING: Right now algorithms based on lists of scalar/simple types being +unordered vs complex types (dictionaries, list) being ordered. Other ways can be +supported by explicitly using 'set' type from yaml in lists of scalars. diff --git a/doc/manuals/chapters/resource_pool.adoc b/doc/manuals/chapters/resource_pool.adoc index 4a56767..072f42d 100644 --- a/doc/manuals/chapters/resource_pool.adoc +++ b/doc/manuals/chapters/resource_pool.adoc @@ -105,3 +105,7 @@ If required resources are unavailable, the test trial fails. For consecutive test trials, a test run needs to either wait for resources to become available, or test suites need to be scheduled to make sense. (*<- TODO*) + +=== Understanding config parsing process + +include::{srcdir}/chapters/config_mangling.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141 Gerrit-Change-Number: 17500 Gerrit-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 Mar 17 21:48:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 21:48:14 +0000 Subject: Change in osmo-gsm-tester[master]: scenarios: Drop unnecessary srsue-rftype-soapy.conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17499 ) Change subject: scenarios: Drop unnecessary srsue-rftype-soapy.conf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie680178d2b16139473b5899803fb69a715a79216 Gerrit-Change-Number: 17499 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 21:48: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 Mar 17 21:48:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 21:48:16 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Introduce chapter explaining config data mangling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500 ) Change subject: doc/manuals: Introduce chapter explaining config data mangling ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141 Gerrit-Change-Number: 17500 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Mar 2020 21:48: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 Mar 17 21:48:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 21:48:19 +0000 Subject: Change in osmo-gsm-tester[master]: scenarios: Drop unnecessary srsue-rftype-soapy.conf In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17499 ) Change subject: scenarios: Drop unnecessary srsue-rftype-soapy.conf ...................................................................... scenarios: Drop unnecessary srsue-rftype-soapy.conf There's already a parametrized scenario handling it. We don't use any soapy backend for srsue anyway yet. Change-Id: Ie680178d2b16139473b5899803fb69a715a79216 --- D example/scenarios/srsue-rftype-soapy.conf 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/scenarios/srsue-rftype-soapy.conf b/example/scenarios/srsue-rftype-soapy.conf deleted file mode 100644 index 5f034af..0000000 --- a/example/scenarios/srsue-rftype-soapy.conf +++ /dev/null @@ -1,4 +0,0 @@ -resources: - modem: - - type: srsue - rf_dev_type: soapy -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie680178d2b16139473b5899803fb69a715a79216 Gerrit-Change-Number: 17499 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 Mar 17 21:48:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Mar 2020 21:48:19 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Introduce chapter explaining config data mangling In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500 ) Change subject: doc/manuals: Introduce chapter explaining config data mangling ...................................................................... doc/manuals: Introduce chapter explaining config data mangling Explains how configurations bits are arranged and mangled to provide a last config set. Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141 --- A doc/manuals/chapters/config_mangling.adoc M doc/manuals/chapters/resource_pool.adoc 2 files changed, 338 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/config_mangling.adoc b/doc/manuals/chapters/config_mangling.adoc new file mode 100644 index 0000000..310b15f --- /dev/null +++ b/doc/manuals/chapters/config_mangling.adoc @@ -0,0 +1,334 @@ + +* Data processing can be understood as operations on sets (link:https://duckduckgo.com/?q=Venn+diagram[Venn diagram]) + +---- +$ src/osmo-gsm-tester.py "$TRIAL_JOB_DIR" -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq+mod-enb-nprb at 6 -t ping.py +---- + + + +* First Suite and scenarios dictionaries ('resources', 'modifiers', 'config') are combined (set union operation): + +[cols="1,5a,5a,10a,10a"] +.Manual replica of 'suite.py resource_requirements()' and 'resource_modifiers()' methods +|=== +|File|original|after 'times' replication|python syntax|combined + +|4g +| +---- +run_node: +- times: 1 +enb: +- times: 1 + type: srsenb +modem: +- times: 2 + type: srsue +---- +| +---- +run_node: +- {} +enb: +- type: srsenb +modem: +- type: srsue +- type: srsue +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb'}], + 'modem': [{'type: 'srsue'}, + {'type: 'srsue'}] +} +'modifiers': {} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb'}], + 'modem': [{'type': 'srsue'}, + {'type': 'srsue'}] + +} +'modifiers': {} +---- +|srsenb-rftype at zmq +| +---- +resources: + enb: + - type: srsenb + rf_dev_type: zmq +---- +| +---- +resources: + enb: + - type: srsenb + rf_dev_type: zmq +---- +| +---- +'resources': { + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}] +} +'modifiers': {} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [{'type': 'srsue'}, + {'type': 'srsue'}] +} +'modifiers': {} +---- +|srsue-rftype at zmq +| +---- +resources: + modem: + - type: srsue + rf_dev_type: zmq + times: 1 +---- +| +---- +resources: + modem: + - type: srsue + rf_dev_type: zmq +---- +| +---- +'resources': { + 'modem': [{'type': 'srsue', + 'rf_dev_type': 'zmq'}] +} +'modifiers': {} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [{'type': 'srsue', + 'rf_dev_type': 'zmq'}, + {'type': 'srsue'}] +} +'modifiers': {} +---- +|mod-enb-nprb at 6 +| +---- +modifiers: + enb: + - num_prb: 6 + times: 1 +---- +| +---- +modifiers: + enb: + - num_prb: 6 +---- +| +---- +'resources': {} +'modifiers': { + 'enb': [{'num_prb': 6}] +} +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [{'type': 'srsue', + 'rf_dev_type': 'zmq'}, + {'type': 'srsue'}] +} +'modifiers': { + 'enb': [{'num_prb': 6}] +} +---- +|=== + +* Second, the resulting 'resources' set is used to match a set of resources from 'resources.list' in order to allocate them (intersection of sets): + +[cols="5a,5a,10a"] +.Manual replica of 'resource.py reserve()' method +|=== +|resources.conf|'resources' filters|matched + +| +---- +run_node: +- run_type: ssh + run_addr: 10.12.1.195 + ssh_user: jenkins + ssh_addr: 10.12.1.195 + +enb: +- label: srsENB-zmq + type: srsenb + rf_dev_type: zmq + remote_user: jenkins + addr: 10.12.1.206 + +- label: srsENB-B200 + type: srsenb + rf_dev_type: UHD + rf_dev_args: "type=b200,serial=317B9FE" + remote_user: jenkins + addr: 10.12.1.206 + +modem: +- label: srsUE-zmq_1 + type: srsue + rf_dev_type: zmq + remote_user: jenkins + addr: 10.12.1.195 + imsi: '001010123456789' + ki: '001123' + +- label: srsUE-zq_2 + type: srsue + rf_dev_type: zmq + remote_user: jenkins + addr: 10.12.1.180 + imsi: '001010123456781' + ki: '001124' +---- +| +---- +'resources': { + 'run_node': [{}], + 'enb': [{'type': 'srsenb', + 'rf_dev_type': 'zmq'}], + 'modem': [ + {'type': 'srsue', + 'rf_dev_type': 'zmq'}, + {'type': 'srsue'} + ] +} +---- +| +---- +'resources': { + 'run_node': [{'run_type': 'ssh', + 'run_addr': '10.12.1.195', + 'ssh_user': 'jenkins', + 'ssh_addr': '10.12.1.195'}], + 'enb': [{'label': 'srsENB-zmq', + 'type': 'srsenb', + 'rf_dev_type': 'zmq', + 'remote_user': 'jenkins', + 'addr': 10.12.1.206}], + 'modem': [ + {'label': 'srsUE-zmq_1', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.195', + 'imsi': '001010123456789' + 'ki': '001123', + 'rf_dev_type': 'zmq'}, + {'label': 'srsUE-zmq_2', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.180', + 'imsi': '001010123456781' + 'ki': '001124'} + ] +} +---- +|=== + +* Finally, modifiers are applied on top of the combined configuration before + being passed to the python class managing it: + +[cols="5a,5a,10a"] +.Also done by 'resource.py reserve()' method after matching resources +|=== +|Matched resources|modifiers|Result + +| +---- +'resources': { + 'run_node': [{'run_type': 'ssh', + 'run_addr': '10.12.1.195', + 'ssh_user': 'jenkins', + 'ssh_addr': '10.12.1.195'}], + 'enb': [{'label': 'srsENB-zmq', + 'type': 'srsenb', + 'rf_dev_type': 'zmq', + 'remote_user': 'jenkins', + 'addr': 10.12.1.206}], + 'modem': [ + {'label': 'srsUE-zmq_1', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.195', + 'imsi': '001010123456789' + 'ki': '001123', + 'rf_dev_type': 'zmq'}, + {'label': 'srsUE-zmq_2', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': '10.12.1.180', + 'imsi': '001010123456781' + 'ki': '001124'} + ] +} +---- +| +---- +'modifiers': { + 'enb': [{'num_prb': 6}] +} +---- +| +---- +'resources': { + 'run_node': [{'run_type': 'ssh', + 'run_addr': '10.12.1.195', + 'ssh_user': 'jenkins', + 'ssh_addr': '10.12.1.195'}], + 'enb': [{'label': 'srsENB-zmq', + 'type': 'srsenb', + 'rf_dev_type': 'zmq', + 'remote_user': 'jenkins', + 'addr': '10.12.1.206', + 'num_prb': 6}], + 'modem': [ + {'label': 'srsUE-zmq_1', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': 10.12.1.195, + 'imsi': '001010123456789' + 'ki': '001123', + 'rf_dev_type': 'zmq'}, + {'label': 'srsUE-zmq_2', + 'type': 'srsue', + 'remote_user': jenkins, + 'addr': 10.12.1.180, + 'imsi': '001010123456781' + 'ki': '001124'} + ] +} +---- +|=== + +WARNING: Right now algorithms based on lists of scalar/simple types being +unordered vs complex types (dictionaries, list) being ordered. Other ways can be +supported by explicitly using 'set' type from yaml in lists of scalars. diff --git a/doc/manuals/chapters/resource_pool.adoc b/doc/manuals/chapters/resource_pool.adoc index 4a56767..072f42d 100644 --- a/doc/manuals/chapters/resource_pool.adoc +++ b/doc/manuals/chapters/resource_pool.adoc @@ -105,3 +105,7 @@ If required resources are unavailable, the test trial fails. For consecutive test trials, a test run needs to either wait for resources to become available, or test suites need to be scheduled to make sense. (*<- TODO*) + +=== Understanding config parsing process + +include::{srcdir}/chapters/config_mangling.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141 Gerrit-Change-Number: 17500 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 Mar 17 23:57:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Mar 2020 23:57:07 +0000 Subject: Change in libosmo-sccp[master]: cs7 vty: add 'show cs7 config' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 ) Change subject: cs7 vty: add 'show cs7 config' ...................................................................... cs7 vty: add 'show cs7 config' When 'cs7' was added, it was generally possible to get the full automatic configuration spelled out by using 'show running-config'. Later, the vty was modified so that automatically configured parts were omitted. Since figuring out the 'cs7' configuration is far from trivial, it is very convenient to get the program's current configuration spelled out in detail, whether it is automatic or not. For this purpose, add a new 'show' command which simply calls the ss7 VTY's write function with a new switch to disable all omissions. Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 --- M src/osmo_ss7_vty.c 1 file changed, 28 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/01/17501/1 diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 2931fb9..9a2f8bb 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -202,18 +202,23 @@ return CMD_SUCCESS; } -static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst); +static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst, bool show_dyn_config); -static int config_write_cs7(struct vty *vty) +static int write_all_cs7(struct vty *vty, bool show_dyn_config) { struct osmo_ss7_instance *inst; llist_for_each_entry(inst, &osmo_ss7_instances, list) - write_one_cs7(vty, inst); + write_one_cs7(vty, inst, show_dyn_config); return 0; } +static int config_write_cs7(struct vty *vty) +{ + return write_all_cs7(vty, false); +} + DEFUN(show_cs7_user, show_cs7_user_cmd, "show cs7 instance <0-15> users", SHOW_STR CS7_STR INST_STR INST_STR "User Table\n") @@ -543,6 +548,14 @@ return CMD_SUCCESS; } +DEFUN(show_cs7_config, show_cs7_config_cmd, + "show cs7 config", + SHOW_STR CS7_STR "Currently running cs7 configuration") +{ + write_all_cs7(vty, true); + return CMD_SUCCESS; +} + /*********************************************************************** * Application Server Process @@ -728,11 +741,12 @@ return CMD_SUCCESS; } -static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp) +static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp, bool show_dyn_config) { int i; /* skip any dynamically created ASPs (e.g. auto-created at connect time) */ - if (asp->dyn_allocated || asp->simple_client_allocated) + if ((asp->dyn_allocated || asp->simple_client_allocated) + && !show_dyn_config) return; vty_out(vty, " asp %s %u %u %s%s", @@ -1025,13 +1039,14 @@ return CMD_SUCCESS; } -static void write_one_as(struct vty *vty, struct osmo_ss7_as *as) +static void write_one_as(struct vty *vty, struct osmo_ss7_as *as, bool show_dyn_config) { struct osmo_ss7_routing_key *rkey; unsigned int i; /* skip any dynamically allocated AS definitions */ - if (as->rkm_dyn_allocated || as->simple_client_allocated) + if ((as->rkm_dyn_allocated || as->simple_client_allocated) + && !show_dyn_config) return; vty_out(vty, " as %s %s%s", as->cfg.name, @@ -1043,7 +1058,8 @@ if (!asp) continue; /* skip any dynamically created ASPs (e.g. auto-created at connect time) */ - if (asp->dyn_allocated || asp->simple_client_allocated) + if ((asp->dyn_allocated || asp->simple_client_allocated) + && !show_dyn_config) continue; vty_out(vty, " asp %s%s", asp->cfg.name, VTY_NEWLINE); } @@ -1700,7 +1716,7 @@ * Common ***********************************************************************/ -static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst) +static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst, bool show_dyn_config) { struct osmo_ss7_asp *asp; struct osmo_ss7_as *as; @@ -1741,11 +1757,11 @@ /* first dump ASPs, as ASs reference them */ llist_for_each_entry(asp, &inst->asp_list, list) - write_one_asp(vty, asp); + write_one_asp(vty, asp, show_dyn_config); /* then dump ASPs, as routes reference them */ llist_for_each_entry(as, &inst->as_list, list) - write_one_as(vty, as); + write_one_as(vty, as, show_dyn_config); /* now dump everything that is relevent for the SG role */ if (cs7_role == CS7_ROLE_SG) { @@ -1880,6 +1896,7 @@ install_element_ve(&show_cs7_user_cmd); install_element_ve(&show_cs7_xua_cmd); + install_element_ve(&show_cs7_config_cmd); /* the mother of all VTY config nodes */ install_element(CONFIG_NODE, &cs7_instance_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 Gerrit-Change-Number: 17501 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 Mar 17 23:59:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Mar 2020 23:59:40 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... add common/chapters/cs7-config This will be used by the manuals of osmo-bsc, osmo-hnbgw, osmo-msc. Related: OS#2767 Change-Id: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 --- A common/chapters/cs7-config.adoc 1 file changed, 226 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/02/17502/1 diff --git a/common/chapters/cs7-config.adoc b/common/chapters/cs7-config.adoc new file mode 100644 index 0000000..61efad9 --- /dev/null +++ b/common/chapters/cs7-config.adoc @@ -0,0 +1,226 @@ +[[cs7_config]] +== Configure SCCP/M3UA + +All CNI programs using SCCP/M3UA act as client to connect to an STP instance. +The STP then routes SCCP messages between its clients, typically by +point-codes. + +For example, + +- OsmoMSC contacts an OsmoSTP and subscribes its point-code 0.23.1; +- then OsmoBSC also contacts the same OsmoSTP, subscribes with its own + point-code 1.23.3. +- Using these established links, OsmoBSC initiates an A-interface link by + directing a BSSAP RESET message to the MSC's point-code 0.23.1, +- and the RESET ACK response from the MSC is routed back to the BSC's + point-code 1.23.3. + +The details of SCCP/M3UA are configured in the 'cs7' section of the VTY +configuration. + +Osmocom programs automatically configure missing SCCP/M3UA configuration, by +assuming sane defaults. + +If no explicit `routing-key` is set, it may be determined at runtime by +negotiation with OsmoSTP -- see OsmoSTP manual chapter "Osmocom M3UA Routing +Key Management Extensions", regarding config option `accept-asp-connections +dynamic-permitted`. + +The complete active configuration of an Osmocom program can be obtained by the +VTY command `show cs7 config` (the usual `show running-config` omits +automatically configured items). Here is an example of OsmoMSC's default +configuration: + +---- +OsmoMSC> show cs7 config +cs7 instance 0 + point-code 0.23.1 + asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-OsmoMSC-A-Iu m3ua + asp asp-clnt-OsmoMSC-A-Iu + routing-key 2 0.23.1 +---- + +At the time of writing, SCCP/M3UA links involving Osmocom program are: + +- A-interface: OsmoBSC to OsmoMSC +- IuCS-interface: OsmoHNBGW to OsmoMSC +- IuPS-interface: OsmoHNBGW to OsmoSGSN + +=== Connect to STP Instance + +By default, an STP instance is assumed to listen on the default M3UA port +(2905) on the local host (127.0.0.1). + +Establishing an SCCP/M3UA link towards a remote STP instance can be configured +as: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + # IP address of the remote STP: + remote-ip 10.23.24.1 +---- + +Be aware that such an `asp` needs to be linked to an `as`, see <>. + +[[point_code_format]] +=== Point-Code Format + +Point-codes can be represented in various formats. For details, see OsmoSTP +manual, chapter "Point Codes". + +By default, Osmocom uses a point-code representation of 3.8.3, i.e. first digit +of 3 bit, second digit of 8 bit, and third digit of 3 bit. + +---- +cs7 instance 0 + point-code format 3 8 3 + point-code 0.23.1 +---- + +Often, point-codes are also represented as a single decimal number: + +---- +cs7 instance 0 + point-code format 24 + point-code 185 +---- + +It is also possible to use a dash as delimiter. + +---- +cs7 instance 0 + point-code delimiter dash + point-code 0-23-1 +---- + + +=== Local Point-Code + +Each CNI program on an SCCP/M3UA link typically has a local point-code, +configurable by: + +---- +cs7 instance 0 + point-code 7.65.4 +---- + +If an explicit routing context is configured, this point-code is repeated in +the `routing-key` configuration: + +---- +cs7 instance 0 + point-code 0.23.1 + as my-as m3ua + routing-key 2 0.23.1 +---- + +See also <>. + +=== Remote Point-Code + +Programs establishing communication across SCCP links need a remote SCCP +address, typically by point-code, to contact. + +For example, + +- OsmoBSC needs to know the MSC's point-code, to be able to establish the A-interface. +- OsmoHNBGW needs to know the MSC's point-code, to be able to establish the IuCS-interface. +- OsmoHNBGW needs to know the SGSN's point-code, to be able to establish the IuPS-interface. + +To maintain remote SCCP addresses, each `cs7` instance maintains an SCCP address book: + +---- +cs7 instance 0 + sccp-address my-entry + point-code 1.23.1 +---- + +This address book entry on its own has no effect. It is typically referenced by +specific configuration items depending on the individual programs. + +Examples: + +- An OsmoBSC configures the MSC's remote SCCP address: + +---- +cs7 instance 0 + sccp-address my-remote-msc + point-code 1.23.1 +msc 0 + msc-addr my-remote-msc +---- + +- An HNBGW configures both the remote MSC's and SGSN's SCCP addresses: + +---- +cs7 instance 0 + sccp-address my-msc + point-code 0.23.1 + sccp-address my-sgsn + point-code 0.23.2 +hnbgw + iucs + remote-addr my-msc + iups + remote-addr my-sgsn +---- + +Besides a point-code, an SCCP address can have several routing indicators: + +- PC: routing by point-code is the default for Osmocom. +- GT: routing by Global Title is configurable by `routing-indicator GT`. +- IP: routing by IP address is configurable by `routing-indicator IP`. + +In OsmoSTP, only routing by point-code is currently implemented. + +[[as_and_asp]] +=== AS and ASP + +Each CNI program needs an Application Server `as` and Application Server +Process `asp` configured on its `cs7` to be able to communicate on SCCP/M3UA. +An `asp` is part of an `as`. For details, see the OsmoSTP manual, chapters +"Application Server" and "Application Server Process". + +In Osmocom's `cs7`, any amount of `as` and `asp` can be configured by name, and +an `as` references the `asp` belonging to it by their names. In typical usage, +an Osmocom program will have exactly one `as` with one `asp`. + +For example: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + # where to reach the STP: + remote-ip 127.0.0.1 + sctp-role client + as my-as m3ua + asp my-asp +---- + +It is possible to configure only an `as` or only an `asp` explicitly -- a +missing entity will be configured automatically. However, be aware that when +both are configured manually, they need to be linked by name. For example, the +following configuration will *fail*, because `as` and `asp` are not linked: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + remote-ip 127.0.0.1 + as my-as m3ua + routing-key 2 0.23.1 +---- + +To *fix* above config, link the `asp` to an `as` by adding `asp my-asp`: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + remote-ip 127.0.0.1 + as my-as m3ua + asp my-asp + routing-key 2 0.23.1 +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 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 Mar 18 00:05:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:05:35 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... manual: add "Multiple Instances" section, akin to other manuals Related: OS#2767 Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 --- M doc/manuals/chapters/running.adoc 1 file changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/17503/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 995fd88..a680df4 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -40,3 +40,72 @@ *-r, --rf-ctl 'RFCTL'*:: Offer a Unix domain socket for RF control at the path/filename 'RFCTL' in the file system. + + +=== Multiple instances + +Running multiple instances of `osmo-bsc` on the same computer is possible if all +interfaces (VTY, CTRL) are separated using the appropriate configuration +options. The IP based interfaces are binding to local host by default. In order +to separate the processes, the user has to bind those services to specific but +different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +For the following links, OsmoBSC acts as a client and does not listen/bind to a +specific interface, and will hence not encounter conflicts for multiple instances +running on the same interface: + +- The SCCP/M3UA links are established by OsmoBSC contacting an STP. +- The MGCP link is established by OsmoMSC contacting an MGW. + +To run multiple OsmoBSC instances on the same A-interface (SCCP/M3UA), each BSC +has to configure a distinct point-code. See <>. + + +=== Configure primary links + +==== Configure SCCP/M3UA to connect to an MSC's _A_ interface + +OsmoBSC acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoBSC's SCCP link: + +---- +cs7 instance 0 + point-code 1.23.3 + asp asp-clnt-msc-0 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-msc-0 m3ua + asp asp-clnt-msc-0 + #routing-key 6 1.23.3 + sccp-address msc + routing-indicator PC + point-code 1.23.1 +msc 0 + msc-address msc +---- + +==== Configure MGCP to connect to an MGW + +OsmoBSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By +default, an MGW is expected to listen for MGCP clients on port 2427 on local +host (127.0.0.1). + +Here is an example configuration for a remote MGW: + +---- +msc 0 + mgw remote-ip 10.9.8.7 + mgw remote-port 2427 +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 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 Mar 18 00:05:36 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:05:36 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17504 ) Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... manual: add SCCP/M3UA section from common chapters Link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 --- M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/17504/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index a680df4..db1a9ee 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -96,6 +96,8 @@ msc-address msc ---- +This configuration is explained in detail in <>. + ==== Configure MGCP to connect to an MGW OsmoBSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index 26f49da..c518c96 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -16,6 +16,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/cs7-config.adoc[] + include::./common/chapters/bts.adoc[] include::{srcdir}/chapters/bts-examples.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 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 Mar 18 00:37:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:37:30 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... manual: add "Configuring Primary Links" and "Multiple instances" Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 --- M doc/manuals/chapters/running.adoc 1 file changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/05/17505/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 41909e2..25fa43a 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -35,3 +35,85 @@ Set the global log level for logging to stderr. This has mostly been deprecated by VTY based logging configuration, see <> for more information. + + +=== Multiple instances + +Running multiple instances of `osmo-hnbgw` on the same computer is possible if +all interfaces (VTY, CTRL, Iuh) are separated using the appropriate +configuration options. The IP based interfaces are binding to local host by +default. In order to separate the processes, the user has to bind those +services to specific but different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +The Iuh interface can be bound to an individual port: + +---- +hnbgw + iuh + local-ip 0.0.0.0 + local-port 29169 +---- + +For the following links, OsmoHNBGW acts as a client and does not listen/bind to a +specific interface, and will hence not encounter conflicts for multiple instances +running on the same interface: + +- The SCCP/M3UA links are established by OsmoHNBGW contacting an STP. + +To run multiple OsmoHNBGW instances on the same SCCP routing, each HNBGW has to +configure a distinct point-code. + + +=== Configuring Primary Links + +==== Configure SCCP/M3UA to connect to an MSC's _IuCS_ and an SGSN's _IuPS_ interface + +OsmoHNBGW acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoHNBGW's SCCP link: + +---- +cs7 instance 0 + point-code 0.23.5 + asp asp-clnt-OsmoHNBGW 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-OsmoHNBGW m3ua + asp asp-clnt-OsmoHNBGW + #routing-key 4 0.23.5 + sccp-address msc + routing-indicator PC + point-code 0.23.1 + sccp-address sgsn + routing-indicator PC + point-code 0.23.2 +hnbgw + iucs + remote-addr msc + iups + remote-addr sgsn +---- + +==== Configure RUA to accept Iuh connections from hNodeB + +OsmoHNBGW acts as server to accept Iuh connections from hNodeB devices. + +An example configuration for OsmoHNBGW's RUA server: + +---- +hnbgw + iuh + local-ip 10.9.8.7 + local-port 29169 +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 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 Mar 18 00:37:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:37:31 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... manual: link to new common cs7-config.adoc Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 --- M doc/manuals/chapters/running.adoc M doc/manuals/osmohnbgw-usermanual.adoc 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/06/17506/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 25fa43a..cc5fa4c 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -71,7 +71,7 @@ - The SCCP/M3UA links are established by OsmoHNBGW contacting an STP. To run multiple OsmoHNBGW instances on the same SCCP routing, each HNBGW has to -configure a distinct point-code. +configure a distinct point-code. See <>. === Configuring Primary Links @@ -105,6 +105,8 @@ remote-addr sgsn ---- +This configuration is explained in detail in <>. + ==== Configure RUA to accept Iuh connections from hNodeB OsmoHNBGW acts as server to accept Iuh connections from hNodeB devices. diff --git a/doc/manuals/osmohnbgw-usermanual.adoc b/doc/manuals/osmohnbgw-usermanual.adoc index 3f3c9c3..21faed7 100644 --- a/doc/manuals/osmohnbgw-usermanual.adoc +++ b/doc/manuals/osmohnbgw-usermanual.adoc @@ -22,6 +22,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/cs7-config.adoc[] + // include::{srcdir}/chapters/net.adoc[] // include::./common/chapters/control_if.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 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 Mar 18 00:39:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:39:15 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals 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/+/17503 to look at the new patch set (#2). Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... manual: add "Multiple Instances" section, akin to other manuals Related: OS#2767 Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 --- M doc/manuals/chapters/running.adoc 1 file changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/17503/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 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 Mar 18 00:39:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:39:15 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters 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/+/17504 to look at the new patch set (#2). Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... manual: add SCCP/M3UA section from common chapters Link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 --- M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/17504/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 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 Mar 18 00:43:55 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 00:43:55 +0000 Subject: Change in libosmo-sccp[master]: cs7 vty: add 'show cs7 config' 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/+/17501 to look at the new patch set (#2). Change subject: cs7 vty: add 'show cs7 config' ...................................................................... cs7 vty: add 'show cs7 config' When 'cs7' was added, it was generally possible to get the full automatic configuration spelled out by using 'show running-config'. Later, the vty was modified so that automatically configured parts were omitted. Since figuring out the 'cs7' configuration is far from trivial, it is very convenient to get the program's current configuration spelled out in detail, whether it is automatic or not. For this purpose, add a new 'show' command which simply calls the ss7 VTY's write function with a new switch to disable all omissions. Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 31 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/01/17501/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 Gerrit-Change-Number: 17501 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 Mar 18 01:03:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 01:03:00 +0000 Subject: Change in osmo-sgsn[master]: manual: explain IuPS, add SCCP/M3UA section from common chapters References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 ) Change subject: manual: explain IuPS, add SCCP/M3UA section from common chapters ...................................................................... manual: explain IuPS, add SCCP/M3UA section from common chapters Add 'cs7' default configuration, link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee --- M doc/manuals/chapters/configuration.adoc M doc/manuals/osmosgsn-usermanual.adoc 2 files changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/07/17507/1 diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index fd2d7ed..7d3072e 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -356,3 +356,23 @@ sgsn encryption GEA0 ---- + +=== Configure SCCP/M3UA to accept _IuPS_ links + +OsmoSGSN acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoSGSN's SCCP link: + +---- +cs7 instance 0 + point-code 0.23.4 + asp asp-clnt-OsmoSGSN 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-OsmoSGSN m3ua + asp asp-clnt-OsmoSGSN + routing-key 0 0.23.4 +---- + +This configuration is explained in detail in <>. diff --git a/doc/manuals/osmosgsn-usermanual.adoc b/doc/manuals/osmosgsn-usermanual.adoc index dea91a9..610704a 100644 --- a/doc/manuals/osmosgsn-usermanual.adoc +++ b/doc/manuals/osmosgsn-usermanual.adoc @@ -19,6 +19,8 @@ include::{srcdir}/chapters/configuration.adoc[] +include::./common/chapters/cs7-config.adoc[] + include::./common/chapters/gb.adoc[] include::./common/chapters/control_if.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee Gerrit-Change-Number: 17507 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 Mar 18 07:04:35 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 07:04:35 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC 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/+/17498 to look at the new patch set (#2). Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... cards.py: Added parsing of all the AIDs in the UICC Introduced a new member variable and a member function to Card class to fetch and store the AIDs present in UICC. And, this variable (a list) is populated by reading the EF 2f00 under MF 3f00 (function read_aids()). Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 --- M pySim/cards.py 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/17498/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 Gerrit-Change-Number: 17498 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 Mar 18 07:08:08 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 07:08:08 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC 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/+/17498 to look at the new patch set (#3). Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... cards.py: Added parsing of all the AIDs in the UICC Introduced a new member variable and a member function to Card class to fetch and store all the AIDs present in UICC. And, this variable (a list) is populated by reading the EF 2f00 under MF 3f00 (function read_aids()). Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 --- M pySim/cards.py 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/17498/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 Gerrit-Change-Number: 17498 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 Mar 18 09:56:33 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 09:56:33 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Abandoned Will refactor the code first and then address this -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 12 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 10:00:28 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:00:28 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has restored this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Restored -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 12 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-MessageType: restore -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 10:20:12 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:20:12 +0000 Subject: Change in pysim[master]: Added feature to parse USIM Service table (UST) In-Reply-To: References: Message-ID: herlesupreeth has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/16991 ) Change subject: Added feature to parse USIM Service table (UST) ...................................................................... Abandoned Will address this after refactoring the code -- To view, visit https://gerrit.osmocom.org/c/pysim/+/16991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6680e8c7f86326f72b98a33338e0dd5b58e55013 Gerrit-Change-Number: 16991 Gerrit-PatchSet: 12 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 10:21:04 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:21:04 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: herlesupreeth has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/17498 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Abandoned will re-submit after resolving local git mess -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0828f411e07a01464abed7fd05486e1a56603411 Gerrit-Change-Number: 17498 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 10:33:33 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:33:33 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... cards.py: Added parsing of all the AIDs in the UICC Introduced a new member variable and a member function to Card class to fetch and store the AIDs present in UICC. And, this variable (a list) is populated by reading the EF 2f00 under MF 3f00 (function read_aids()). Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a --- M pySim/cards.py 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/19/17519/1 diff --git a/pySim/cards.py b/pySim/cards.py index a872ee0..abac51a 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -32,6 +32,7 @@ def __init__(self, scc): self._scc = scc self._adm_chv_num = 4 + self._aids = [] def reset(self): self._scc.reset_card() @@ -168,6 +169,20 @@ return None + # Fetch all the AIDs present on UICC + def read_aids(self): + 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']) + for i in range(0, rec_cnt): + rec = self._scc.read_record(['3f00', '2f00'], 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]) + except Exception as e: + pass + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 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 Mar 18 10:38:09 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:38:09 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... pySim-read.py: Added card detection function like in pySim-prog.py This function is introduced to make use of Card class/Card subclasses in pySim-read.py. Also, an initial step towards refactoring of code. Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f --- M pySim-read.py 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/17520/1 diff --git a/pySim-read.py b/pySim-read.py index 55b43d7..1ee3c26 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -31,8 +31,27 @@ from pySim.ts_51_011 import EF, DF from pySim.commands import SimCardCommands +from pySim.cards import Card, _cards_classes from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn +def card_detect(scc): + + # Detect type if needed + card = None + ctypes = dict([(kls.name, kls) for kls in _cards_classes]) + + for kls in _cards_classes: + card = kls.autodetect(scc) + if card: + print("Autodetected card type: %s" % card.name) + card.reset() + break + + if card is None: + print("Autodetection failed") + + return card + def parse_options(): @@ -94,6 +113,9 @@ # Program the card print("Reading ...") + # Initialize Card object + card = card_detect(scc) or Card(scc) + # EF.ICCID (res, sw) = scc.read_binary(EF['ICCID']) if sw == '9000': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 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 Mar 18 10:50:29 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:50:29 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.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/+/17520 to look at the new patch set (#2). Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... pySim-read.py: Added card detection function like in pySim-prog.py This function is introduced to make use of Card class/Card subclasses in pySim-read.py. Also, an initial step towards refactoring of code. Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f --- M pySim-read.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 7 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/17520/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 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 Mar 18 10:58:16 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 10:58:16 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.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/+/17520 to look at the new patch set (#3). Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... pySim-read.py: Added card detection function like in pySim-prog.py This function is introduced to make use of Card class/Card subclasses in pySim-read.py. Also, an initial step towards refactoring of code. Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f --- M pySim-read.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 7 files changed, 32 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/17520/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 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 Mar 18 11:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 11:02:40 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read ICCID References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17521 ) Change subject: pySim-read.py: Use the method declared in cards.py to read ICCID ...................................................................... pySim-read.py: Use the method declared in cards.py to read ICCID Change-Id: I0dcda1ea617f3febe246b360b95887c04e5d2629 --- M pySim-read.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/21/17521/1 diff --git a/pySim-read.py b/pySim-read.py index 1ee3c26..5052f32 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -117,9 +117,9 @@ card = card_detect(scc) or Card(scc) # EF.ICCID - (res, sw) = scc.read_binary(EF['ICCID']) + (res, sw) = card.read_iccid() if sw == '9000': - print("ICCID: %s" % (dec_iccid(res),)) + print("ICCID: %s" % (res,)) else: print("ICCID: Can't read, response code = %s" % (sw,)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0dcda1ea617f3febe246b360b95887c04e5d2629 Gerrit-Change-Number: 17521 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 Mar 18 11:05:09 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 11:05:09 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read IMSI References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17522 ) Change subject: pySim-read.py: Use the method declared in cards.py to read IMSI ...................................................................... pySim-read.py: Use the method declared in cards.py to read IMSI Change-Id: I2709b040d956a3a2b9210aa78c82a6ccf482f761 --- M pySim-read.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/22/17522/1 diff --git a/pySim-read.py b/pySim-read.py index 5052f32..5899049 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -124,9 +124,9 @@ print("ICCID: Can't read, response code = %s" % (sw,)) # EF.IMSI - (res, sw) = scc.read_binary(['3f00', '7f20', '6f07']) + (res, sw) = card.read_imsi() if sw == '9000': - print("IMSI: %s" % (dec_imsi(res),)) + print("IMSI: %s" % (res,)) else: print("IMSI: Can't read, response code = %s" % (sw,)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2709b040d956a3a2b9210aa78c82a6ccf482f761 Gerrit-Change-Number: 17522 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 Mar 18 11:15:32 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 11:15:32 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Move parsing of GID1 to generic Card class Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/23/17523/1 diff --git a/pySim-read.py b/pySim-read.py index 5899049..e8d10c3 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -142,7 +142,7 @@ # EF.GID2 try: - (res, sw) = scc.read_binary(EF['GID2']) + (res, sw) = card.read_gid1() if sw == '9000': print("GID2: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index abac51a..12ac03d 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -145,6 +145,13 @@ data, sw = self._scc.update_binary(EF['SPN'], rpad(content, 32)) return sw + def read_gid1(self): + (res, sw) = self._scc.read_binary(EF['GID1']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 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 Mar 18 11:28:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 11:28:51 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Mar 2020 11:28: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 Mar 18 11:32:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 11:32:41 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: Why adding a cmdline option and not simply exit always? What's the point in allow running with a broken setup? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 11:32: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 Mar 18 11:34:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Mar 2020 11:34:33 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: > Patch Set 3: > > Why adding a cmdline option and not simply exit always? What's the point in allow running with a broken setup? It was requested by Neels in OS#3739. I'll ask him for comment. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 11:34: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 Wed Mar 18 11:56:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 11:56:44 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... Patch Set 1: Code-Review+1 (6 comments) https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc File common/chapters/cs7-config.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 63 PS1, Line 63: # IP address of the remote STP: We usually do use some kind of markers for this. It shows up in the pdf as (1) and then below the explanation. It'd be great also adding a line with "local-ip" (or however it's called) and stating it's optional, kernel deciding by default. https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 103 PS1, Line 103: Each CNI program on an SCCP/M3UA link typically has a local point-code, That's a bit strange from reader point of view. You first explain the different formats supported and then you explained what you already showed through the format. I'd make a lot more sense to first have the "Local Point-Code" section and perhaps also de "Remote Point-Code" one, and later the "Point-Code Format" one, which is basically a detailed explanation on how to set them. https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 138 PS1, Line 138: sccp-address my-entry my-entry-name? or my-entry-label https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 185 PS1, Line 185: An `asp` is part of an `as`. For details, see the OsmoSTP manual, chapters Not necessarily, an ASP can be used by several AS afair. So let's say the relation is not "AS 1 --- * ASP". That's why in VTY config the asp node is not inside the AS one, but separated, and only a reference to the ASP is used inside the AS node. https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 189 PS1, Line 189: an `as` references the `asp` belonging to it by their names. In typical usage, In typical simple/minimal setup We support now running with several ASPs per AS, for instance using traffic-node loadshare https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 204 PS1, Line 204: It is possible to configure only an `as` or only an `asp` explicitly -- a I'm not sure to understand this part here. I think you should simplymake clear before hand that AS*---*ASP and they must be linked, and you can then drop completely these paragraphs below. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 11:56: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 Wed Mar 18 12:01:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:01:24 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... Patch Set 1: Code-Review+1 (4 comments) https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc at 42 PS1, Line 42: Running multiple instances of `osmo-hnbgw` on the same computer is possible if same host? https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc at 73 PS1, Line 73: To run multiple OsmoHNBGW instances on the same SCCP routing, each HNBGW has to However, to run... https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc at 74 PS1, Line 74: configure a distinct point-code. See <
>. https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc at 94 PS1, Line 94: #routing-key 4 0.23.5 comment? -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:01: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 Wed Mar 18 12:02:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:02:23 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... Patch Set 1: "asciidoc: WARNING: osmohnbgw-usermanual.adoc: line 25: include file not found: /build/doc/manuals/common/chapters/cs7-config.adoc" -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:02: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 Mar 18 12:04:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:04:50 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... Patch Set 1: Should be fine once osmo-gsm-manuals is merged. Please add in TODO-RELEASE that next release will depend on "osmo-gsm-manuals > 0.3.0" -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:04: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 Wed Mar 18 12:05:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:05:55 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc at 47 PS2, Line 47: Running multiple instances of `osmo-bsc` on the same computer is possible if all host? Check the other gerrit patch, same comments should apply. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:05:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 12:06:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:06:25 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17504 ) Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... Patch Set 2: Add new dependency osmo-gsm-manuals > 0.3.0 in the TODO-RELEASE. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:06: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 Mar 18 12:08:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:08:26 +0000 Subject: Change in libosmo-sccp[master]: cs7 vty: add 'show cs7 config' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 ) Change subject: cs7 vty: add 'show cs7 config' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 Gerrit-Change-Number: 17501 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:08: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 Mar 18 12:08:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:08:56 +0000 Subject: Change in osmo-sgsn[master]: manual: explain IuPS, add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 ) Change subject: manual: explain IuPS, add SCCP/M3UA section from common chapters ...................................................................... Patch Set 1: State in TODO-RELEASE dependency osmo-gsm-manuals > 0.3.0 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee Gerrit-Change-Number: 17507 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 12:08: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 Wed Mar 18 12:11:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 12:11:16 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17493 ) Change subject: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Gerrit-Change-Number: 17493 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Mar 2020 12:11:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 14:06:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 14:06:25 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: > It was requested by Neels in OS#3739. I'll ask him for comment. It was just an idea. Consider that you have been using an old osmo-bsc.cfg for years, and it was working fine. There was one timeslot that had no codec it could use, but it didn't matter for your use case (lab test, whatever). Along comes the new osmo-bsc version and you are unable to run your setup anymore. Your lchan specialist is unreachable. Then it would be nice to just allow running osmo-bsc as it always did. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 14:06: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 Mar 18 14:09:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 14:09:56 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17491/3/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17491/3/src/osmo-bsc/osmo_bsc_main.c at 912 PS3, Line 912: LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check configuration!\n"); Add to this error message a hint to the new allow-unusable-timeslots option. If osmo-bsc is started by an automatically installed systemd service, it is quite inconvenient to do this by cmdline switch, so I would actually favor a VTY config option instead of a cmdline switch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 14:09:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 14:12:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 14:12:42 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17494/2/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg File doc/examples/osmo-bsc/osmo-bsc-minimal.cfg: https://gerrit.osmocom.org/c/osmo-bsc/+/17494/2/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg at 33 PS2, Line 33: codec-list fr1 wait, hr3 *can* be used on TCH/F! Why is osmo-bsc complaining? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Mar 2020 14:12: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 Wed Mar 18 14:21:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Mar 2020 14:21:03 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: Hmm, it seems before we exit for this error message, we also need a test that verifies that the error message is always accurate. If it has false positives, users will always use the allow-unusable-timeslots option and nothing is gained. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 14: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 Wed Mar 18 14:25:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 14:25:23 +0000 Subject: Change in osmo-pcu[master]: Use downlink BSSGP RA Cap IE References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17524 ) Change subject: Use downlink BSSGP RA Cap IE ...................................................................... Use downlink BSSGP RA Cap IE This commit is basically a revert of f4bb42459ca4f3e18f9ee3d3a27389b85c7692e8, which disabled the code. That commit claimed the SGSN may have providen inacurate or wrong data at the time, but then it should be fixed in the SGSN. Related: OS#1525, OS#3499 Change-Id: Ie36ae23203110018d4b5ae47591e0a64989e23a0 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/17524/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 63c0a6e..0be3b3d 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -26,6 +26,7 @@ #include #include #include +#include extern "C" { #include @@ -52,7 +53,6 @@ static void bvc_timeout(void *_priv); static int gprs_ns_reconnect(struct gprs_nsvc *nsvc); -#if 0 static int parse_ra_cap(struct tlv_parsed *tp, MS_Radio_Access_capability_t *rac) { bitvec *block; @@ -78,7 +78,6 @@ bitvec_free(block); return 0; } -#endif static int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) { @@ -92,9 +91,7 @@ uint8_t ms_class = 0; uint8_t egprs_ms_class = 0; int rc; -#if 0 MS_Radio_Access_capability_t rac; -#endif budh = (struct bssgp_ud_hdr *)msgb_bssgph(msg); tlli = ntohl(budh->tlli); @@ -128,7 +125,6 @@ } } -#if 0 /* Do not rely on this IE. TODO: make this configurable */ /* parse ms radio access capability */ if (parse_ra_cap(tp, &rac) >= 0) { /* Get the EGPRS class from the RA capability */ @@ -138,7 +134,6 @@ LOGP(DBSSGP, LOGL_DEBUG, "Got downlink MS class %d/%d\n", ms_class, egprs_ms_class); } -#endif /* get lifetime */ uint16_t delay_csec = 0xffff; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie36ae23203110018d4b5ae47591e0a64989e23a0 Gerrit-Change-Number: 17524 Gerrit-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 Mar 18 14:29:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 14:29:33 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: Thanks for explanation. IMHO it makes sense to simply exit after providing information. Let them fix their configs instead of having to find out after hours of fiddling around with system not working as expected. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Mar 2020 14:29: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 Wed Mar 18 14:39:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 14:39:06 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/17519/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17519/1/pySim/cards.py at 184 PS1, Line 184: pass Rather print("Can't read AIDs from SIM -- %s" % (str(e),)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 14:39: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 Mar 18 14:42:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 14:42:19 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok File pysim-testdata/Wavemobile-SIM.ok: https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 1 PS3, Line 1: (dev=3) huh, this is not supposed to be changed... https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 6 PS3, Line 6: 6a82 same here, any ideas why the response code changes? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 14:42:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 14:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 14:42:54 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read ICCID In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17521 ) Change subject: pySim-read.py: Use the method declared in cards.py to read ICCID ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0dcda1ea617f3febe246b360b95887c04e5d2629 Gerrit-Change-Number: 17521 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 14:42:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 14:43:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 14:43:03 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read IMSI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17522 ) Change subject: pySim-read.py: Use the method declared in cards.py to read IMSI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2709b040d956a3a2b9210aa78c82a6ccf482f761 Gerrit-Change-Number: 17522 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 14: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 Wed Mar 18 14:43:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 14:43:47 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 14: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 Wed Mar 18 14:59:03 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 14:59:03 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17519/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17519/1/pySim/cards.py at 184 PS1, Line 184: pass > Rather print("Can't read AIDs from SIM -- %s" % (str(e),)) Sure, I will do that -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Wed, 18 Mar 2020 14:59:03 +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 Mar 18 15:02:46 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 18 Mar 2020 15:02:46 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok File pysim-testdata/Wavemobile-SIM.ok: https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 1 PS3, Line 1: (dev=3) > huh, this is not supposed to be changed... One possible reason could be because I am creating an object of Card Subclass object (i.e. Wavemobile Card class) using the same scc object. In the Wavemobile Card subclass during the __init__() the CLA byte and the sel_ctrl is being overridden to 00 and 0004 respectively. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 15:02:46 +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 Mar 18 15:05:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 15:05:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 ) Change subject: pcu: Introduce TC_mt_ping_pong ...................................................................... pcu: Introduce TC_mt_ping_pong Change-Id: I0cbf4ac78e4c89f21b8c2b92eba1783667501e64 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/17525/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index ab412c4..a9f60cd 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1199,6 +1199,71 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); } +/* 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. + */ +testcase TC_mt_ping_pong() 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 OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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); + + 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; + } + + /* 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); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_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"); + mtc.stop; + } + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, 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)); +} + /* 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). */ @@ -1437,6 +1502,7 @@ execute( TC_t3169() ); execute( TC_t3193() ); execute( TC_mo_ping_pong() ); + execute( TC_mt_ping_pong() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); execute (TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cbf4ac78e4c89f21b8c2b92eba1783667501e64 Gerrit-Change-Number: 17525 Gerrit-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 Mar 18 15:05:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 15:05:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong_with_dl_racap References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 ) Change subject: pcu: Introduce TC_mt_ping_pong_with_dl_racap ...................................................................... pcu: Introduce TC_mt_ping_pong_with_dl_racap Allows checking how pcu parses MS RA Capabilities coming from SGSN. Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 89 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/17526/1 diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 3149e77..518ca80 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1091,6 +1091,58 @@ } } + private function f_presece_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { + if (istemplatekind(mscap_gprs, "omit")) { + return '0'B; + } + return '1'B; + } + private function f_presece_bit_MultislotCap_EGPRS_BSSGP(template (omit) MultislotCap_EGPRS_BSSGP mscap_egprs) return BIT1 { + if (istemplatekind(mscap_egprs, "omit")) { + return '0'B; + } + return '1'B; + } + template (value) MSRACapabilityValuesRecord_BSSGP ts_RaCapRec_BSSGP(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS_BSSGP mscap_gprs := omit, template (omit) MultislotCap_EGPRS_BSSGP 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_presece_bit_MultislotCap_GPRS_BSSGP(mscap_gprs), + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := omit, + presenceBitEgprsmulti := f_presece_bit_MultislotCap_EGPRS_BSSGP(mscap_egprs), + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := '0'B, + multislotCapdtmgprsmultislotsubclass := omit + } + }, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit + } + } + }, + presenceBitMSRACap := '0'B + }; + template QoS_Profile_V t_defaultQos := { peak_Bit_Rate := int2oct(80, 2), precedence := '000'B, @@ -1133,13 +1185,30 @@ cnSpecificDRXCycleLength := '0000'B } - template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu) := { + function ts_BSSGP_IE_MSRAcap_omit(template (omit) MSRadioAccessCapabilityV_BSSGP racap) return template (omit) MS_Radio_Access_Capability { + var template (omit) MS_Radio_Access_Capability ret; + if (istemplatekind(racap, "omit")) { + return omit; + } else { + ret := { + iEI := '00'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + mSRadioAccessCapabilityV_BSSGP := racap + } + return ret; + } + } + + template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := { pDU_BSSGP_DL_UNITDATA := { bssgpPduType := '00'O, tLLI_current := tlli, qoS_Profile := t_defaultQos, pDU_Lifetime := t_DefaultLifetime(65535), - mS_Radio_Access_Capability := omit, + mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap), priority := omit, dRX_Parameters := omit, iMSI := omit, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index a9f60cd..ad89c69 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1202,7 +1202,7 @@ /* 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. */ -testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { +private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1225,7 +1225,7 @@ 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)); + 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); @@ -1264,6 +1264,21 @@ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); } +testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { + f_TC_mt_ping_pong(omit); +} + +/* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS +/* information about the MS */ +testcase TC_mt_ping_pong_with_dl_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS_BSSGP mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + } ; + var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; + f_TC_mt_ping_pong(ms_racap); +} + /* 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). */ @@ -1503,6 +1518,7 @@ execute( TC_t3193() ); execute( TC_mo_ping_pong() ); execute( TC_mt_ping_pong() ); + execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); execute (TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787 Gerrit-Change-Number: 17526 Gerrit-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 Mar 18 19:34:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 19:34:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... pcu: Verify CodingScheme of received data blocks Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 76 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/17527/1 diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 8f9f2a5..89f54a2 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -41,6 +41,67 @@ return 0; } + type enumerated CodingScheme { + CS_1, + CS_2, + CS_3, + CS_4, + MCS_1, + MCS_2, + MCS_3, + MCS_4, + MCS_5, + MCS_6, + MCS_7, + MCS_8, + MCS_9 + //MCS5_7, ? + // MCS6_9 ? + } with { variant "FIELDLENGTH(2)" }; + + 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, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index ad89c69..2564617 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -419,12 +419,19 @@ } } -private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn) +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, ")"); + mtc.stop; + } } private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) @@ -475,7 +482,7 @@ } } -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 := ?) +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; @@ -1202,7 +1209,7 @@ /* 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. */ -private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit) runs on RAW_PCU_Test_CT { +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; @@ -1236,7 +1243,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, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); @@ -1265,7 +1272,8 @@ } testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { - f_TC_mt_ping_pong(omit); + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mt_ping_pong(omit, exp_cs_mcs); } /* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS @@ -1276,7 +1284,8 @@ gprsextendeddynalloccap := '0'B } ; var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; - f_TC_mt_ping_pong(ms_racap); + var CodingScheme exp_cs_mcs := CS_2; + f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); } /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-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 Mar 18 20:41:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 20:41:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527/1/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527/1/library/RLCMAC_Types.ttcn at 60 PS1, Line 60: variant "FIELDLENGTH(2)" If I understand correctly, you define a 2-bit enum. This is valid for CS1-4 (2 ** 2 => 4 encoding variants), but how would you encode the MCS variations? Maybe you need a separate enumerated type for MCS? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 20:41:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 18 21:51:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Mar 2020 21:51:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527/1/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527/1/library/RLCMAC_Types.ttcn at 60 PS1, Line 60: variant "FIELDLENGTH(2)" > If I understand correctly, you define a 2-bit enum. [?] or probably drop the with{} stuff alltogether. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 21:51:05 +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 Mar 18 21:56:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Mar 2020 21:56:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527/1/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527/1/library/RLCMAC_Types.ttcn at 60 PS1, Line 60: variant "FIELDLENGTH(2)" > or probably drop the with{} stuff alltogether. ACK. This looks more like a local enumerated type which is never being sent over the wire / air / whatever. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Mar 2020 21:56:26 +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 Mar 19 08:02:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:02:55 +0000 Subject: Change in osmo-pcu[master]: Use downlink BSSGP RA Cap IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17524 ) Change subject: Use downlink BSSGP RA Cap IE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie36ae23203110018d4b5ae47591e0a64989e23a0 Gerrit-Change-Number: 17524 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:02: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 Mar 19 08:03:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:03:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 ) Change subject: pcu: Introduce TC_mt_ping_pong ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cbf4ac78e4c89f21b8c2b92eba1783667501e64 Gerrit-Change-Number: 17525 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08: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 Mar 19 08:03:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:03:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong_with_dl_racap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 ) Change subject: pcu: Introduce TC_mt_ping_pong_with_dl_racap ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787 Gerrit-Change-Number: 17526 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:03: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 Mar 19 08:19:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:19:50 +0000 Subject: Change in simtrace2[master]: simtrace2_siff: getopt_long() returns int, not char References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/17528 ) Change subject: simtrace2_siff: getopt_long() returns int, not char ...................................................................... simtrace2_siff: getopt_long() returns int, not char This may be causing unwanted behavior while parsing the command line arguments, as reported by some Raspi users. Change-Id: I5b7db0795d16ab071e255c2c689e3b4872a933bb Related: OS#4223 --- M host/src/simtrace2-sniff.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/28/17528/1 diff --git a/host/src/simtrace2-sniff.c b/host/src/simtrace2-sniff.c index dfb6e7c..47d9e77 100644 --- a/host/src/simtrace2-sniff.c +++ b/host/src/simtrace2-sniff.c @@ -342,7 +342,7 @@ while (1) { int option_index = 0; - char c = getopt_long(argc, argv, "hi:kV:P:C:I:S:A:", opts, &option_index); + int c = getopt_long(argc, argv, "hi:kV:P:C:I:S:A:", opts, &option_index); if (c == -1) break; switch (c) { -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5b7db0795d16ab071e255c2c689e3b4872a933bb Gerrit-Change-Number: 17528 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 Mar 19 08:22:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:22:53 +0000 Subject: Change in simtrace2[master]: simtrace2_siff: getopt_long() returns int, not char In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17528 ) Change subject: simtrace2_siff: getopt_long() returns int, not char ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5b7db0795d16ab071e255c2c689e3b4872a933bb Gerrit-Change-Number: 17528 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:22:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:22:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:22:58 +0000 Subject: Change in simtrace2[master]: simtrace2_siff: getopt_long() returns int, not char In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/17528 ) Change subject: simtrace2_siff: getopt_long() returns int, not char ...................................................................... simtrace2_siff: getopt_long() returns int, not char This may be causing unwanted behavior while parsing the command line arguments, as reported by some Raspi users. Change-Id: I5b7db0795d16ab071e255c2c689e3b4872a933bb Related: OS#4223 --- M host/src/simtrace2-sniff.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/src/simtrace2-sniff.c b/host/src/simtrace2-sniff.c index dfb6e7c..47d9e77 100644 --- a/host/src/simtrace2-sniff.c +++ b/host/src/simtrace2-sniff.c @@ -342,7 +342,7 @@ while (1) { int option_index = 0; - char c = getopt_long(argc, argv, "hi:kV:P:C:I:S:A:", opts, &option_index); + int c = getopt_long(argc, argv, "hi:kV:P:C:I:S:A:", opts, &option_index); if (c == -1) break; switch (c) { -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/17528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5b7db0795d16ab071e255c2c689e3b4872a933bb Gerrit-Change-Number: 17528 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 Mar 19 08:40:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:40:50 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17494/2/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg File doc/examples/osmo-bsc/osmo-bsc-minimal.cfg: https://gerrit.osmocom.org/c/osmo-bsc/+/17494/2/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg at 33 PS2, Line 33: codec-list fr1 > wait, hr3 *can* be used on TCH/F! Why is osmo-bsc complaining? I think there is some confusion here. While AMR is the same codec on TCH/F and TCH/H on the actual codec side, in GSM signaling there is always a difference between "v3 on TCH/F" and "v3 on TCH/H'. So if on the A interface related configuration you are saying "HRv3 only", it is quite expected to be rejected on the BSSAP level. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 08:40:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Mar 19 08:42:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:42:38 +0000 Subject: Change in libosmo-sccp[master]: cs7 vty: add 'show cs7 config' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 ) Change subject: cs7 vty: add 'show cs7 config' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 Gerrit-Change-Number: 17501 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 08: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 Thu Mar 19 08:43:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:43:10 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17504 ) Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 08:43:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:46:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:46:39 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc at 91 PS2, Line 91: #routing-key 6 1.23.3 why do we have a commented-out line in the example config? How is the user to understand its significance? https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc at 102 PS2, Line 102: listen listen is a concept really only applicable to SOCK_STREAM sockets, which UDP is not. Might be better to phrase it like this (or similar): "By default, OsmoBSC expects a MGW to be bound to the port the IANA-registered default port for MGCP (2427) on localhost (127.0.0.1)." -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:46: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 Mar 19 08:46:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:46:52 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 08:46: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 Mar 19 08:48:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Mar 2020 08:48:03 +0000 Subject: Change in osmo-pcu[master]: Use downlink BSSGP RA Cap IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17524 ) Change subject: Use downlink BSSGP RA Cap IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie36ae23203110018d4b5ae47591e0a64989e23a0 Gerrit-Change-Number: 17524 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:48: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 Mar 19 08:52:12 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 08:52:12 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... Patch Set 3: It would be great to have your opinions on this, as this is one of the initial steps towards refactoring the code for pySim-read.py -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08: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 Thu Mar 19 08:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:53:20 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc File common/chapters/cs7-config.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 4 PS1, Line 4: All CNI programs using SCCP/M3UA act as client to connect to an STP instance. : The STP then routes SCCP messages between its clients, typically by : point-codes. "act as M3UA ASP role and SCTP client, expecting to connect to an STP/SGW implementing the M3UA SGW role as SCTP server". The STP/SGW then routes M3UA messages between its ASPs by point codes. I think we have to be careful not to conflate the Osmocom incarnation too mcuh with how the real world out there works, particularly for people who are not using OsmoSTP and/or OsmoMSC. https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 8 PS1, Line 8: For example, Fo example, in an all-osmocom minimal setup, https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 22 PS1, Line 22: assuming sane defaults. sane defaults for small/minimal all-osmocom installations, which may not be what you want in larger networks integrating with non-osmocom core network elements. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:53: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 Mar 19 08:54:13 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 08:54:13 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Patch Set 1: With this commit I would like to have the Card class to have the list of AIDs on the UICC which would be used in Card Subclass or in general Card class (if its not a known UICC). Any opinion on this would be really helpful -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:54:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:55:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:55:06 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Patch Set 1: Code-Review+1 agreeing with fixeria on the 'print' -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:55: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 Mar 19 08:57:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:57:09 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/pysim/+/17520/3/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17520/3/pySim-read.py at 37 PS3, Line 37: def card_detect(scc): doesn't it make sense to have the function once in some library and then use that libray from both programs? https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok File pysim-testdata/Wavemobile-SIM.ok: https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 6 PS3, Line 6: 6a82 > same here, any ideas why the response code changes? this doesn't look good. 6a82 is - AFAIR - the code for "you have entered the wrong PIN and now have 2 tries left? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:57:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:57:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:57:23 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read ICCID In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17521 ) Change subject: pySim-read.py: Use the method declared in cards.py to read ICCID ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0dcda1ea617f3febe246b360b95887c04e5d2629 Gerrit-Change-Number: 17521 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:57:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:57:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:57:35 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read IMSI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17522 ) Change subject: pySim-read.py: Use the method declared in cards.py to read IMSI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2709b040d956a3a2b9210aa78c82a6ccf482f761 Gerrit-Change-Number: 17522 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08: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 Mar 19 08:58:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:58:29 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/17523/1/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17523/1/pySim-read.py at 145 PS1, Line 145: (res, sw) = card.read_gid1() so the original code was reading GID2 and you're replacing it with reading gid1? I suppose this change should have happend in line 135, where GID1 is being read? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:58:29 +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 Mar 19 08:59:10 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 08:59:10 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok File pysim-testdata/Wavemobile-SIM.ok: https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 6 PS3, Line 6: 6a82 > this doesn't look good. [?] I believe 6a82 is like File not found, please correct me if i am wrong. Reference link : https://www.eftlab.com/knowledge-base/complete-list-of-apdu-responses/ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:59:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:59:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 08:59:14 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 19 Mar 2020 08:59:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 08:59:54 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 08:59:54 +0000 Subject: Change in pysim[master]: pySim-read.py: Added card detection function like in pySim-prog.py In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added card detection function like in pySim-prog.py ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17520/3/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17520/3/pySim-read.py at 37 PS3, Line 37: def card_detect(scc): > doesn't it make sense to have the function once in some library and then use that libray from both [?] I was thinking the same. Maybe utils could be the right place for this? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 08:59: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 Thu Mar 19 09:02:09 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 09:02:09 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17523/1/pySim-read.py File pySim-read.py: https://gerrit.osmocom.org/c/pysim/+/17523/1/pySim-read.py at 145 PS1, Line 145: (res, sw) = card.read_gid1() > so the original code was reading GID2 and you're replacing it with reading gid1? I suppose this cha [?] oops, that was good catch. My bad, i was supposed to replace the previous part where GID1 was concerned. I will correct this. (copy paste error) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 09:02:09 +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 Mar 19 09:05:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 09:05:28 +0000 Subject: Change in libosmocore[master]: dtx: add decoding for AMR-DTX frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17095 ) Change subject: dtx: add decoding for AMR-DTX frames ...................................................................... Patch Set 10: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_amr_dtx.c File src/coding/gsm0503_amr_dtx.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_amr_dtx.c at 228 PS10, Line 228: static inline bool detect_afs_sid_first(int *n_errors, int *n_bits_total, const ubit_t *ubits) I would argue you can remove all that explicit 'inline'. The functions are static anyway, and the compiler will figure out the inlining by itself. https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_coding.c File src/coding/gsm0503_coding.c: https://gerrit.osmocom.org/c/libosmocore/+/17095/10/src/coding/gsm0503_coding.c at 2203 PS10, Line 2203: if (*dtx == AFS_SID_UPDATE) style-wise, I would have used a switch (*dtx) here, but please don't change it now, just mentioning it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2bbdb39ea20461ca08b2e6f1a33532cb55cd5195 Gerrit-Change-Number: 17095 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 09:05: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 Thu Mar 19 09:14:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Mar 2020 09:14:44 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: fixeria has removed a vote from this change. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Removed Code-Review+1 by fixeria -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 09:33:08 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 09:33:08 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: Hello dexter, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17519 to look at the new patch set (#2). Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... cards.py: Added parsing of all the AIDs in the UICC Introduced a new member variable and a member function to Card class to fetch and store the AIDs present in UICC. And, this variable (a list) is populated by reading the EF 2f00 under MF 3f00 (function read_aids()). Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a --- M pySim/cards.py 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/19/17519/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 09:33:08 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 09:33:08 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17523 to look at the new patch set (#2). Change subject: Move parsing of GID1 to generic Card class ...................................................................... Move parsing of GID1 to generic Card class Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/23/17523/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 09:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Mar 2020 09:39:26 +0000 Subject: Change in osmocom-bb[master]: firmware/layer1: introduce experimental PDCH support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17495 ) Change subject: firmware/layer1: introduce experimental PDCH support ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I44531bbe8743c188cc5d4a6ca2a63000e41d6189 Gerrit-Change-Number: 17495 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 19 Mar 2020 09:39: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 Mar 19 09:40:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Mar 2020 09:40:25 +0000 Subject: Change in osmo-pcu[master]: Use downlink BSSGP RA Cap IE In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17524 ) Change subject: Use downlink BSSGP RA Cap IE ...................................................................... Use downlink BSSGP RA Cap IE This commit is basically a revert of f4bb42459ca4f3e18f9ee3d3a27389b85c7692e8, which disabled the code. That commit claimed the SGSN may have providen inacurate or wrong data at the time, but then it should be fixed in the SGSN. Related: OS#1525, OS#3499 Change-Id: Ie36ae23203110018d4b5ae47591e0a64989e23a0 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 63c0a6e..0be3b3d 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -26,6 +26,7 @@ #include #include #include +#include extern "C" { #include @@ -52,7 +53,6 @@ static void bvc_timeout(void *_priv); static int gprs_ns_reconnect(struct gprs_nsvc *nsvc); -#if 0 static int parse_ra_cap(struct tlv_parsed *tp, MS_Radio_Access_capability_t *rac) { bitvec *block; @@ -78,7 +78,6 @@ bitvec_free(block); return 0; } -#endif static int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) { @@ -92,9 +91,7 @@ uint8_t ms_class = 0; uint8_t egprs_ms_class = 0; int rc; -#if 0 MS_Radio_Access_capability_t rac; -#endif budh = (struct bssgp_ud_hdr *)msgb_bssgph(msg); tlli = ntohl(budh->tlli); @@ -128,7 +125,6 @@ } } -#if 0 /* Do not rely on this IE. TODO: make this configurable */ /* parse ms radio access capability */ if (parse_ra_cap(tp, &rac) >= 0) { /* Get the EGPRS class from the RA capability */ @@ -138,7 +134,6 @@ LOGP(DBSSGP, LOGL_DEBUG, "Got downlink MS class %d/%d\n", ms_class, egprs_ms_class); } -#endif /* get lifetime */ uint16_t delay_csec = 0xffff; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie36ae23203110018d4b5ae47591e0a64989e23a0 Gerrit-Change-Number: 17524 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 Thu Mar 19 09:53:55 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 09:53:55 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: Hello dexter, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17520 to look at the new patch set (#5). Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py This function is used to detect the card type and return Card class/Card subclasses object if its a know card or else None. Also, an initial step towards refactoring of code. Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f --- M pySim-prog.py M pySim-read.py M pySim/cards.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 9 files changed, 44 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/17520/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 10:05:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Mar 2020 10:05:13 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 10:05: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 Mar 19 10:31:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 10:31:28 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 2: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 10:31: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 Mar 19 10:31:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 10:31:33 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... osmo-bsc-minimal.cfg: fix codec-list All timeslots are configured for full rate, so the codec list must also have a full rate codec. Fix this error on startup: "Configuration contains mutually exclusive codec settings -- check configuration!" All other example configs don't have mutually exclusive codec settings. Related: OS#3739 Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg 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, but someone else must approve osmith: Looks good to me, approved Objections: neels: I would prefer this is not merged as is diff --git a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg index f2597b8..b8cd78d 100644 --- a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg @@ -30,4 +30,4 @@ e1_line 0 driver ipa msc 0 allow-emergency deny - codec-list hr3 + codec-list fr1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 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 Thu Mar 19 10:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 10:44:31 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: > Patch Set 3: > > Hmm, it seems before we exit for this error message, we also need a test that verifies that the error message is always accurate. If it has false positives, users will always use the allow-unusable-timeslots option and nothing is gained. Indeed there are no existing tests for the codec_pref.c code. I'll add tests as separate commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 10:44: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 Thu Mar 19 10:52:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 10:52:16 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 3: > Patch Set 3: > > > Patch Set 3: > > > > Hmm, it seems before we exit for this error message, we also need a test that verifies that the error message is always accurate. If it has false positives, users will always use the allow-unusable-timeslots option and nothing is gained. > > Indeed there are no existing tests for the codec_pref.c code. I'll add tests as separate commit. Correction, there is already such a test: https://git.osmocom.org/osmo-bsc/tree/tests/codec_pref -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 10:52: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 Thu Mar 19 11:27:01 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 11:27:01 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings 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/+/17491 to look at the new patch set (#4). Change subject: main: exit on mutually exclusive codecs settings ...................................................................... main: exit on mutually exclusive codecs settings Refuse to start with mutually exclusive codec settings, unless allow-unusable-timeslots is set in the network section of the config. The checks were already implemented and fill the error log if the config is invalid. Related: OS#3739 Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/17491/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 11:28:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 11:28:36 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17491/3/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17491/3/src/osmo-bsc/osmo_bsc_main.c at 912 PS3, Line 912: LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check configuration!\n"); > Add to this error message a hint to the new allow-unusable-timeslots option. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 11:28:36 +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 Mar 19 11:30:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Mar 2020 11:30:38 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings 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/+/17491 to look at the new patch set (#5). Change subject: main: exit on mutually exclusive codecs settings ...................................................................... main: exit on mutually exclusive codecs settings Refuse to start with mutually exclusive codec settings, unless allow-unusable-timeslots is set in the network section of the config. The checks were already implemented and fill the error log if the config is invalid. Related: OS#3739 Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/17491/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 13:14:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Mar 2020 13:14:39 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 5: sorry, I personally still fail to see why we really need to have a way to disable it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 13:14: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 Thu Mar 19 14:07:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:07:13 +0000 Subject: Change in libosmo-sccp[master]: don't use 'debug' log level in example configs References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 ) Change subject: don't use 'debug' log level in example configs ...................................................................... don't use 'debug' log level in example configs Related: OS#2577 Change-Id: I16807f827f958d48519871355115715b753edfcb --- M doc/examples/osmo-stp-multihome.cfg M doc/examples/osmo-stp.cfg 2 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/29/17529/1 diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index dcdc19e..5b0c84f 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -7,10 +7,10 @@ logging color 1 logging print category 1 logging timestamp 0 - logging level lss7 debug - logging level lsccp debug - logging level lsua debug - logging level lm3ua debug + logging level lss7 info + logging level lsccp info + logging level lsua info + logging level lm3ua info line vty no login ! diff --git a/doc/examples/osmo-stp.cfg b/doc/examples/osmo-stp.cfg index ed37672..1d683ea 100644 --- a/doc/examples/osmo-stp.cfg +++ b/doc/examples/osmo-stp.cfg @@ -7,10 +7,10 @@ logging color 1 logging print category 1 logging timestamp 0 - logging level lss7 debug - logging level lsccp debug - logging level lsua debug - logging level lm3ua debug + logging level lss7 info + logging level lsccp info + logging level lsua info + logging level lm3ua info line vty no login ! -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16807f827f958d48519871355115715b753edfcb Gerrit-Change-Number: 17529 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 Mar 19 14:10:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:10:41 +0000 Subject: Change in osmo-pcu[master]: csn1.c: Almost all of the logging is DEBUG, not NOTICE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17530 ) Change subject: csn1.c: Almost all of the logging is DEBUG, not NOTICE ...................................................................... csn1.c: Almost all of the logging is DEBUG, not NOTICE low-level text decodes of CSN.1 messages certainly are not NOTICEable events, but rather something used for debugging. Right now we get various text CSN.1 log output of osmo-pcu in it's default configuration. Despite all log levels being relatively high (NOTICE), we still see those messages as they simply are logged at the wrong level. Related: OS#2577 Change-Id: I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198 --- M src/csn1.c M tests/rlcmac/RLCMACTest.cpp 2 files changed, 107 insertions(+), 107 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/17530/1 diff --git a/src/csn1.c b/src/csn1.c index 6fab9a9..296bf6c 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -168,14 +168,14 @@ { pui8 = pui8DATA(data, pDescr->offset); *pui8 = bitvec_read_field(vector, readIndex, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); /* end add the bit value to protocol tree */ } else if(pDescr->may_be_null) { pui8 = pui8DATA(data, pDescr->offset); *pui8 = 0; - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -206,21 +206,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32; - LOGPC(DCSN1, LOGL_NOTICE, "%s = 0x%08x | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = 0x%08x | ", pDescr->sz , *pui32); } else { @@ -246,7 +246,7 @@ pui32 = pui32DATA(data, pDescr->offset); *pui32 = 0; } - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -268,21 +268,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8 + (guint8)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -311,7 +311,7 @@ guint8 ui8 = get_masked_bits8(vector, readIndex, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else {/* Maybe we should support more than 8 bits ? */ @@ -348,7 +348,7 @@ do { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += no_of_bits; } while (--nCount > 0); @@ -399,7 +399,7 @@ * but no bits shall be read from bitstream */ - LOGPC(DCSN1, LOGL_NOTICE, "%s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pui8); if (Status >= 0) @@ -433,7 +433,7 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, 8); pui8 = pui8DATA(data, pDescr->offset+ib); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else if (no_of_bits <= 64) @@ -443,7 +443,7 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, 8); pui8 = pui8DATA(data, pDescr->offset+ib); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else @@ -465,10 +465,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, ": End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, ": End %s | ", pDescr->sz); if (Status >= 0) { remaining_bits_len = arT.remaining_bits_len; @@ -509,7 +509,7 @@ descr[1].type = CSN_END; pui8 = pui8DATA(data, pDescr->offset); *pui8 = i; - LOGPC(DCSN1, LOGL_NOTICE, "Choice %s = %u | ", pDescr->sz , (unsigned)value); + LOGPC(DCSN1, LOGL_DEBUG, "Choice %s = %u | ", pDescr->sz , (unsigned)value); if (!pChoice->keep_bits) { bit_offset += no_of_bits; remaining_bits_len -= no_of_bits; @@ -553,13 +553,13 @@ guint8 length = bitvec_read_field(vector, readIndex, length_len); - LOGPC(DCSN1, LOGL_NOTICE, "%s length = %u | ", pDescr->sz , length); + LOGPC(DCSN1, LOGL_DEBUG, "%s length = %u | ", pDescr->sz , length); bit_offset += length_len; remaining_bits_len -= length_len; csnStreamInit(&arT, bit_offset, length > 0 ? length : remaining_bits_len); arT.direction = 1; - LOGPC(DCSN1, LOGL_NOTICE, "offset = %u | ", pDescr->offset); + LOGPC(DCSN1, LOGL_DEBUG, "offset = %u | ", pDescr->offset); Status = serialize(&arT, vector, readIndex, pvDATA(data, pDescr->offset)); if (Status >= 0) @@ -574,7 +574,7 @@ /* Skip bits not handled by serialize(), if any */ if (Status > 0) { - LOGPC(DCSN1, LOGL_NOTICE, "skipped = %d | ", Status); + LOGPC(DCSN1, LOGL_DEBUG, "skipped = %d | ", Status); *readIndex += Status; } @@ -631,7 +631,7 @@ /* script index to continue on, limited in case we do not have a power of 2 */ pDescr += (MIN(index + 1, count)); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); switch (pDescr->type) { /* get the right element of the union based on computed index */ @@ -644,7 +644,7 @@ { *pui8 = 0x01; } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); remaining_bits_len -= 1; bit_offset++; pDescr++; @@ -668,21 +668,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -711,21 +711,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8 + (guint8)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -754,7 +754,7 @@ guint8 ui8 = get_masked_bits8(vector, readIndex, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else { /* Maybe we should support more than 8 bits ? */ @@ -792,7 +792,7 @@ while (nCount > 0) { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += no_of_bits; nCount--; @@ -805,7 +805,7 @@ while (nCount > 0) { *pui16 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); pui16++; bit_offset += no_of_bits; nCount--; @@ -852,7 +852,7 @@ while (nCount--) /* Changed to handle length = 0. */ { - LOGPC(DCSN1, LOGL_NOTICE, "%s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pui8); if (Status >= 0) @@ -889,7 +889,7 @@ guint64 ui64 = bitvec_read_field(vector, readIndex, no_of_bits); pui64 = pui64DATA(data, pDescr->offset); *pui64 = ui64; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %lu | ", pDescr->sz , *pui64); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %lu | ", pDescr->sz , *pui64); } else { @@ -910,10 +910,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, " : End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : End %s | ", pDescr->sz); if (Status >= 0) { remaining_bits_len = arT.remaining_bits_len; @@ -955,7 +955,7 @@ } *pui8 = fExist; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pDescr++; bit_offset++; remaining_bits_len -= 1; @@ -998,7 +998,7 @@ *pui8 = fExist; remaining_bits_len -= 1; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); ++bit_offset; if (fExist == 0) @@ -1035,7 +1035,7 @@ /* the "regular" M_NEXT_EXIST_LH description element */ fExist = get_masked_bits8(vector, readIndex, bit_offset, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)fExist); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)fExist); *pui8++ = fExist; remaining_bits_len -= 1; @@ -1085,7 +1085,7 @@ if (nB1 > 0) { /* take care of the first byte - it will be right aligned */ *pui8 = bitvec_read_field(vector, readIndex, nB1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= nB1; bit_offset += nB1; /* (nB1 is no_of_bits Mod 8) */ @@ -1095,7 +1095,7 @@ while (no_of_bits > 0) { *pui8 = bitvec_read_field(vector, readIndex, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; } @@ -1139,14 +1139,14 @@ while (no_of_bits >= 8) { *pui8 = bitvec_read_field(vector, readIndex, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; } if (no_of_bits > 0) { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += no_of_bits; no_of_bits = 0; @@ -1161,7 +1161,7 @@ case CSN_PADDING_BITS: { /* Padding from here and to the end of message */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = ", pDescr->sz); if (remaining_bits_len > 0) { while (remaining_bits_len > 0) @@ -1169,13 +1169,13 @@ guint bits_to_handle = remaining_bits_len%8; if (bits_to_handle > 0) { - LOGPC(DCSN1, LOGL_NOTICE, "%d|", bitvec_get_uint(vector, bits_to_handle)); + LOGPC(DCSN1, LOGL_DEBUG, "%d|", bitvec_get_uint(vector, bits_to_handle)); remaining_bits_len -= bits_to_handle; bit_offset += bits_to_handle; } else if (bits_to_handle == 0) { - LOGPC(DCSN1, LOGL_NOTICE, "%d|", bitvec_get_uint(vector, 8)); + LOGPC(DCSN1, LOGL_DEBUG, "%d|", bitvec_get_uint(vector, 8)); remaining_bits_len -= 8; bit_offset += 8; } @@ -1217,7 +1217,7 @@ { readIndex -= 8; *pui8 = bitvec_read_field(vector, readIndex, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += 8; count--; @@ -1244,13 +1244,13 @@ while (existNextElement(vector, readIndex, Tag)) { /* tag control shows existence of next list elements */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = Exist | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = Exist | ", pDescr->sz); bit_offset++; remaining_bits_len--; /* extract and store no_of_bits long element from bitstream */ *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; remaining_bits_len -= no_of_bits; ElementCount++; @@ -1263,7 +1263,7 @@ bit_offset += no_of_bits; } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); /* existNextElement() returned FALSE, 1 bit consumed */ bit_offset++; remaining_bits_len--; @@ -1286,7 +1286,7 @@ while (existNextElement(vector, readIndex, Tag)) { /* tag control shows existence of next list elements */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = Exist | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = Exist | ", pDescr->sz); /* existNextElement() returned TRUE, 1 bit consumed */ bit_offset++; remaining_bits_len--; @@ -1316,7 +1316,7 @@ } } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); /* existNextElement() returned FALSE, 1 bit consumed */ remaining_bits_len--; @@ -1355,7 +1355,7 @@ { /* get data element */ ElementCount++; - LOGPC(DCSN1, LOGL_NOTICE, "%s { | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s { | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pui8); @@ -1377,7 +1377,7 @@ } /* control of next element's tag */ - LOGPC(DCSN1, LOGL_NOTICE, "%s } | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s } | ", pDescr->sz); EndOfList = !(existNextElement(vector, readIndex, Tag)); bit_offset++; @@ -1410,7 +1410,7 @@ return ProcessError(readIndex,"csnStreamDecoder FIXED value does not match", -1, pDescr); } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned int)ui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned int)ui32); remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; pDescr++; @@ -1478,12 +1478,12 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); /* end add the bit value to protocol tree */ } else if(pDescr->may_be_null) { - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -1512,19 +1512,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -1536,7 +1536,7 @@ } else if(pDescr->may_be_null) { - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -1557,19 +1557,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8 - (guint8)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); } else { @@ -1602,7 +1602,7 @@ guint8 ui8 = get_masked_bits8(vector, writeIndex, bit_offset, no_of_bits); *writeIndex -= no_of_bits; bitvec_write_field(vector, writeIndex, ui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else @@ -1639,7 +1639,7 @@ do { bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; @@ -1691,7 +1691,7 @@ * but no bits shall be read from bitstream */ - LOGPC(DCSN1, LOGL_NOTICE, "%s : | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s : | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pui8); if (Status >= 0) @@ -1725,7 +1725,7 @@ { pui8 = pui8DATA(data, pDescr->offset+ib); bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else if (no_of_bits <= 64) @@ -1734,7 +1734,7 @@ { pui8 = pui8DATA(data, pDescr->offset+ib); bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else @@ -1756,10 +1756,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, " : End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : End %s | ", pDescr->sz); if (Status >= 0) { @@ -1787,7 +1787,7 @@ pChoice += i; guint8 no_of_bits = pChoice->bits; guint8 value = pChoice->value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pChoice->descr.sz , (unsigned)value); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pChoice->descr.sz , (unsigned)value); bitvec_write_field(vector, writeIndex, value, no_of_bits); CSN_DESCR descr[2]; @@ -1835,7 +1835,7 @@ Status = serialize(&arT, vector, writeIndex, pvDATA(data, pDescr->offset)); bitvec_write_field(vector, &lengthIndex, *writeIndex - lengthIndex - length_len, length_len); - LOGPC(DCSN1, LOGL_NOTICE, "%s length = %u | ", pDescr->sz , (unsigned)(*writeIndex - lengthIndex)); + LOGPC(DCSN1, LOGL_DEBUG, "%s length = %u | ", pDescr->sz , (unsigned)(*writeIndex - lengthIndex)); if (Status >= 0) { @@ -1902,7 +1902,7 @@ /* script index to continue on, limited in case we do not have a power of 2 */ pDescr += (MIN(index + 1, count)); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)index); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)index); switch (pDescr->type) { /* get the right element of the union based on computed index */ @@ -1911,7 +1911,7 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); remaining_bits_len--; bit_offset++; pDescr++; @@ -1933,19 +1933,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -1973,19 +1973,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8 - (guint8)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); } else { @@ -2019,7 +2019,7 @@ guint8 ui8 = get_masked_bits8(vector, writeIndex, bit_offset, no_of_bits); *writeIndex -= no_of_bits; bitvec_write_field(vector, writeIndex, ui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else @@ -2056,7 +2056,7 @@ do { bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; @@ -2108,7 +2108,7 @@ * but no bits shall be read from bitstream */ - LOGPC(DCSN1, LOGL_NOTICE, "%s : | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s : | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pui8); if (Status >= 0) @@ -2139,13 +2139,13 @@ { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else if (no_of_bits <= 64) { pui64 = pui64DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui64, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %lu | ", pDescr->sz , *pui64); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %lu | ", pDescr->sz , *pui64); } else { @@ -2166,10 +2166,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, " : End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : End %s | ", pDescr->sz); if (Status >= 0) { remaining_bits_len = arT.remaining_bits_len; @@ -2214,7 +2214,7 @@ } writeIndex--; bitvec_write_field(vector, writeIndex, fExist, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz, (unsigned)fExist); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz, (unsigned)fExist); remaining_bits_len--; bit_offset++; pDescr++; @@ -2246,7 +2246,7 @@ bitvec_write_field(vector, writeIndex, *pui8, 1); fExist = *pui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); remaining_bits_len--; bit_offset++; @@ -2331,7 +2331,7 @@ if (nB1 > 0) { /* take care of the first byte - it will be right aligned */ bitvec_write_field(vector, writeIndex, *pui8, nB1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= nB1; bit_offset += nB1; /* (nB1 is no_of_bits Mod 8) */ @@ -2342,7 +2342,7 @@ while (no_of_bits > 0) { bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; remaining_bits_len -= 8; @@ -2389,14 +2389,14 @@ while (no_of_bits > 0) { bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; } if (nB1 > 0) { bitvec_write_field(vector, writeIndex, *pui8, nB1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= nB1; bit_offset += nB1; /* (nB1 is no_of_bits Mod 8) */ @@ -2412,7 +2412,7 @@ case CSN_PADDING_BITS: { /* Padding from here and to the end of message */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = ", pDescr->sz); guint8 filler = 0x2b; if (remaining_bits_len > 0) { @@ -2428,14 +2428,14 @@ */ guint8 fl = filler&(0xff>>(8-bits_to_handle + 1)); bitvec_write_field(vector, writeIndex, fl, bits_to_handle); - LOGPC(DCSN1, LOGL_NOTICE, "%u|", fl); + LOGPC(DCSN1, LOGL_DEBUG, "%u|", fl); remaining_bits_len -= bits_to_handle; bit_offset += bits_to_handle; } else if (bits_to_handle == 0) { bitvec_write_field(vector, writeIndex, filler, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%u|", filler); + LOGPC(DCSN1, LOGL_DEBUG, "%u|", filler); remaining_bits_len -= 8; bit_offset += 8; } @@ -2474,7 +2474,7 @@ while (count > 0) { bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += 8; remaining_bits_len -= 8; @@ -2502,13 +2502,13 @@ while (ElementCount > 0) { /* tag control shows existence of next list elements */ bitvec_write_field(vector, writeIndex, Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)Tag); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)Tag); bit_offset++; remaining_bits_len--; /* extract and store no_of_bits long element from bitstream */ bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; ElementCount--; @@ -2522,7 +2522,7 @@ } bitvec_write_field(vector, writeIndex, !Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); bit_offset++; remaining_bits_len--; @@ -2544,7 +2544,7 @@ while (ElementCount > 0) { /* tag control shows existence of next list elements */ bitvec_write_field(vector, writeIndex, Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)Tag); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)Tag); bit_offset++; remaining_bits_len--; @@ -2575,7 +2575,7 @@ } bitvec_write_field(vector, writeIndex, !Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); bit_offset++; pDescr++; @@ -2613,15 +2613,15 @@ if (ElementCount != ElementNum) { bitvec_write_field(vector, writeIndex, Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)Tag); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)Tag); bit_offset++; remaining_bits_len--; } ElementCount--; - LOGPC(DCSN1, LOGL_NOTICE, "%s { | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s { | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pui8); - LOGPC(DCSN1, LOGL_NOTICE, "%s } | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s } | ", pDescr->sz); if (Status >= 0) { /* successful completion */ pui8 += nSizeElement; /* -> to next */ @@ -2651,7 +2651,7 @@ { /* Verify the fixed bits */ guint8 no_of_bits = (guint8) pDescr->i; bitvec_write_field(vector, writeIndex, pDescr->offset, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)pDescr->offset); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)pDescr->offset); remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; pDescr++; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 63498ca..bd5da4c 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -284,7 +284,7 @@ { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); - log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,2:"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,1:"); log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); log_set_print_category_hex(osmo_stderr_target, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198 Gerrit-Change-Number: 17530 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 Mar 19 14:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Mar 2020 14:14:28 +0000 Subject: Change in libosmo-sccp[master]: don't use 'debug' log level in example configs In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 ) Change subject: don't use 'debug' log level in example configs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16807f827f958d48519871355115715b753edfcb Gerrit-Change-Number: 17529 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 19 Mar 2020 14: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 Thu Mar 19 14:15:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:15:28 +0000 Subject: Change in libosmo-sccp[master]: don't use 'debug' log level in example configs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 ) Change subject: don't use 'debug' log level in example configs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16807f827f958d48519871355115715b753edfcb Gerrit-Change-Number: 17529 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 14:15:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 14:15:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:15:31 +0000 Subject: Change in libosmo-sccp[master]: don't use 'debug' log level in example configs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 ) Change subject: don't use 'debug' log level in example configs ...................................................................... don't use 'debug' log level in example configs Related: OS#2577 Change-Id: I16807f827f958d48519871355115715b753edfcb --- M doc/examples/osmo-stp-multihome.cfg M doc/examples/osmo-stp.cfg 2 files changed, 8 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/examples/osmo-stp-multihome.cfg b/doc/examples/osmo-stp-multihome.cfg index dcdc19e..5b0c84f 100644 --- a/doc/examples/osmo-stp-multihome.cfg +++ b/doc/examples/osmo-stp-multihome.cfg @@ -7,10 +7,10 @@ logging color 1 logging print category 1 logging timestamp 0 - logging level lss7 debug - logging level lsccp debug - logging level lsua debug - logging level lm3ua debug + logging level lss7 info + logging level lsccp info + logging level lsua info + logging level lm3ua info line vty no login ! diff --git a/doc/examples/osmo-stp.cfg b/doc/examples/osmo-stp.cfg index ed37672..1d683ea 100644 --- a/doc/examples/osmo-stp.cfg +++ b/doc/examples/osmo-stp.cfg @@ -7,10 +7,10 @@ logging color 1 logging print category 1 logging timestamp 0 - logging level lss7 debug - logging level lsccp debug - logging level lsua debug - logging level lm3ua debug + logging level lss7 info + logging level lsccp info + logging level lsua info + logging level lm3ua info line vty no login ! -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I16807f827f958d48519871355115715b753edfcb Gerrit-Change-Number: 17529 Gerrit-PatchSet: 2 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 Thu Mar 19 14:42:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:42:50 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 14: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 Thu Mar 19 14:43:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:43:16 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 14:43: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 Mar 19 14:43:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:43:49 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 14:43: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 Mar 19 14:45:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 14:45:43 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok File pysim-testdata/Wavemobile-SIM.ok: https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 6 PS3, Line 6: 6a82 > I believe 6a82 is like File not found, please correct me if i am wrong. [?] thanks for finding the correct interpretation of the code. However, it's still not clear to me why we had 9404 before and now 6a82... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 14:45:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria 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 Thu Mar 19 14:47:01 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 14:47:01 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 5: > sorry, I personally still fail to see why we really need to have a way to disable it. I am repeating myself: to allow users to still run their old config without having to dive into lchan details. Or simply by choice: maybe you want to modify codec settings without having to adjust lchans all the time. And maybe because the check has false positives. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 14:47: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 Mar 19 14:50:04 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 14:50:04 +0000 Subject: Change in osmo-bsc[master]: osmo-bsc-minimal.cfg: fix codec-list In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17494 ) Change subject: osmo-bsc-minimal.cfg: fix codec-list ...................................................................... Patch Set 2: But still osmo-bsc has code selecting a TCH/F lchan in case a TCH/H is not available? Until now I thought that would merely use the wider lchan but still the same TCH/H codec? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iddac13c7d644ed57b6d9e6a57d23d88c01bd8b8e Gerrit-Change-Number: 17494 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 14:50:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 14:53:20 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 14:53:20 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 14:53: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 Mar 19 15:22:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Mar 2020 15:22:18 +0000 Subject: Change in osmo-pcu[master]: csn1.c: Almost all of the logging is DEBUG, not NOTICE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17530 ) Change subject: csn1.c: Almost all of the logging is DEBUG, not NOTICE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198 Gerrit-Change-Number: 17530 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 15:22: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 Mar 19 15:35:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 15:35:41 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc File common/chapters/cs7-config.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 63 PS1, Line 63: # IP address of the remote STP: > We usually do use some kind of markers for this. [?] Yes, but that makes it hard to copy-paste the config examples... https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502/1/common/chapters/cs7-config.adoc at 204 PS1, Line 204: It is possible to configure only an `as` or only an `asp` explicitly -- a > I'm not sure to understand this part here. [?] I meant to say that you can omit configuration of either one, so that it will be configured automatically... will tweak -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 15:35: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 Mar 19 15:56:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Mar 2020 15:56:03 +0000 Subject: Change in osmo-pcu[master]: csn1.c: Almost all of the logging is DEBUG, not NOTICE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17530 ) Change subject: csn1.c: Almost all of the logging is DEBUG, not NOTICE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198 Gerrit-Change-Number: 17530 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 15: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 Thu Mar 19 16:03:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 16:03:47 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 5: > sorry, I personally still fail to see why we really need to have a way to disable it. likewise. Not sure what the motivation is there -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Mar 2020 16:03: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 Mar 19 16:04:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Mar 2020 16:04:05 +0000 Subject: Change in osmo-pcu[master]: csn1.c: Almost all of the logging is DEBUG, not NOTICE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17530 ) Change subject: csn1.c: Almost all of the logging is DEBUG, not NOTICE ...................................................................... csn1.c: Almost all of the logging is DEBUG, not NOTICE low-level text decodes of CSN.1 messages certainly are not NOTICEable events, but rather something used for debugging. Right now we get various text CSN.1 log output of osmo-pcu in it's default configuration. Despite all log levels being relatively high (NOTICE), we still see those messages as they simply are logged at the wrong level. Related: OS#2577 Change-Id: I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198 --- M src/csn1.c M tests/rlcmac/RLCMACTest.cpp 2 files changed, 107 insertions(+), 107 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/csn1.c b/src/csn1.c index 6fab9a9..296bf6c 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -168,14 +168,14 @@ { pui8 = pui8DATA(data, pDescr->offset); *pui8 = bitvec_read_field(vector, readIndex, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); /* end add the bit value to protocol tree */ } else if(pDescr->may_be_null) { pui8 = pui8DATA(data, pDescr->offset); *pui8 = 0; - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -206,21 +206,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32; - LOGPC(DCSN1, LOGL_NOTICE, "%s = 0x%08x | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = 0x%08x | ", pDescr->sz , *pui32); } else { @@ -246,7 +246,7 @@ pui32 = pui32DATA(data, pDescr->offset); *pui32 = 0; } - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -268,21 +268,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8 + (guint8)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -311,7 +311,7 @@ guint8 ui8 = get_masked_bits8(vector, readIndex, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else {/* Maybe we should support more than 8 bits ? */ @@ -348,7 +348,7 @@ do { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += no_of_bits; } while (--nCount > 0); @@ -399,7 +399,7 @@ * but no bits shall be read from bitstream */ - LOGPC(DCSN1, LOGL_NOTICE, "%s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pui8); if (Status >= 0) @@ -433,7 +433,7 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, 8); pui8 = pui8DATA(data, pDescr->offset+ib); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else if (no_of_bits <= 64) @@ -443,7 +443,7 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, 8); pui8 = pui8DATA(data, pDescr->offset+ib); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else @@ -465,10 +465,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, ": End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, ": End %s | ", pDescr->sz); if (Status >= 0) { remaining_bits_len = arT.remaining_bits_len; @@ -509,7 +509,7 @@ descr[1].type = CSN_END; pui8 = pui8DATA(data, pDescr->offset); *pui8 = i; - LOGPC(DCSN1, LOGL_NOTICE, "Choice %s = %u | ", pDescr->sz , (unsigned)value); + LOGPC(DCSN1, LOGL_DEBUG, "Choice %s = %u | ", pDescr->sz , (unsigned)value); if (!pChoice->keep_bits) { bit_offset += no_of_bits; remaining_bits_len -= no_of_bits; @@ -553,13 +553,13 @@ guint8 length = bitvec_read_field(vector, readIndex, length_len); - LOGPC(DCSN1, LOGL_NOTICE, "%s length = %u | ", pDescr->sz , length); + LOGPC(DCSN1, LOGL_DEBUG, "%s length = %u | ", pDescr->sz , length); bit_offset += length_len; remaining_bits_len -= length_len; csnStreamInit(&arT, bit_offset, length > 0 ? length : remaining_bits_len); arT.direction = 1; - LOGPC(DCSN1, LOGL_NOTICE, "offset = %u | ", pDescr->offset); + LOGPC(DCSN1, LOGL_DEBUG, "offset = %u | ", pDescr->offset); Status = serialize(&arT, vector, readIndex, pvDATA(data, pDescr->offset)); if (Status >= 0) @@ -574,7 +574,7 @@ /* Skip bits not handled by serialize(), if any */ if (Status > 0) { - LOGPC(DCSN1, LOGL_NOTICE, "skipped = %d | ", Status); + LOGPC(DCSN1, LOGL_DEBUG, "skipped = %d | ", Status); *readIndex += Status; } @@ -631,7 +631,7 @@ /* script index to continue on, limited in case we do not have a power of 2 */ pDescr += (MIN(index + 1, count)); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); switch (pDescr->type) { /* get the right element of the union based on computed index */ @@ -644,7 +644,7 @@ { *pui8 = 0x01; } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); remaining_bits_len -= 1; bit_offset++; pDescr++; @@ -668,21 +668,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -711,21 +711,21 @@ guint8 ui8 = bitvec_read_field(vector, readIndex, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8 + (guint8)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { guint16 ui16 = bitvec_read_field(vector, readIndex, no_of_bits); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { guint32 ui32 = bitvec_read_field(vector, readIndex, no_of_bits); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32 + (guint16)pDescr->descr.value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -754,7 +754,7 @@ guint8 ui8 = get_masked_bits8(vector, readIndex, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else { /* Maybe we should support more than 8 bits ? */ @@ -792,7 +792,7 @@ while (nCount > 0) { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += no_of_bits; nCount--; @@ -805,7 +805,7 @@ while (nCount > 0) { *pui16 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); pui16++; bit_offset += no_of_bits; nCount--; @@ -852,7 +852,7 @@ while (nCount--) /* Changed to handle length = 0. */ { - LOGPC(DCSN1, LOGL_NOTICE, "%s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pui8); if (Status >= 0) @@ -889,7 +889,7 @@ guint64 ui64 = bitvec_read_field(vector, readIndex, no_of_bits); pui64 = pui64DATA(data, pDescr->offset); *pui64 = ui64; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %lu | ", pDescr->sz , *pui64); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %lu | ", pDescr->sz , *pui64); } else { @@ -910,10 +910,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, " : End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : End %s | ", pDescr->sz); if (Status >= 0) { remaining_bits_len = arT.remaining_bits_len; @@ -955,7 +955,7 @@ } *pui8 = fExist; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pDescr++; bit_offset++; remaining_bits_len -= 1; @@ -998,7 +998,7 @@ *pui8 = fExist; remaining_bits_len -= 1; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); ++bit_offset; if (fExist == 0) @@ -1035,7 +1035,7 @@ /* the "regular" M_NEXT_EXIST_LH description element */ fExist = get_masked_bits8(vector, readIndex, bit_offset, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)fExist); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)fExist); *pui8++ = fExist; remaining_bits_len -= 1; @@ -1085,7 +1085,7 @@ if (nB1 > 0) { /* take care of the first byte - it will be right aligned */ *pui8 = bitvec_read_field(vector, readIndex, nB1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= nB1; bit_offset += nB1; /* (nB1 is no_of_bits Mod 8) */ @@ -1095,7 +1095,7 @@ while (no_of_bits > 0) { *pui8 = bitvec_read_field(vector, readIndex, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; } @@ -1139,14 +1139,14 @@ while (no_of_bits >= 8) { *pui8 = bitvec_read_field(vector, readIndex, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; } if (no_of_bits > 0) { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += no_of_bits; no_of_bits = 0; @@ -1161,7 +1161,7 @@ case CSN_PADDING_BITS: { /* Padding from here and to the end of message */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = ", pDescr->sz); if (remaining_bits_len > 0) { while (remaining_bits_len > 0) @@ -1169,13 +1169,13 @@ guint bits_to_handle = remaining_bits_len%8; if (bits_to_handle > 0) { - LOGPC(DCSN1, LOGL_NOTICE, "%d|", bitvec_get_uint(vector, bits_to_handle)); + LOGPC(DCSN1, LOGL_DEBUG, "%d|", bitvec_get_uint(vector, bits_to_handle)); remaining_bits_len -= bits_to_handle; bit_offset += bits_to_handle; } else if (bits_to_handle == 0) { - LOGPC(DCSN1, LOGL_NOTICE, "%d|", bitvec_get_uint(vector, 8)); + LOGPC(DCSN1, LOGL_DEBUG, "%d|", bitvec_get_uint(vector, 8)); remaining_bits_len -= 8; bit_offset += 8; } @@ -1217,7 +1217,7 @@ { readIndex -= 8; *pui8 = bitvec_read_field(vector, readIndex, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += 8; count--; @@ -1244,13 +1244,13 @@ while (existNextElement(vector, readIndex, Tag)) { /* tag control shows existence of next list elements */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = Exist | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = Exist | ", pDescr->sz); bit_offset++; remaining_bits_len--; /* extract and store no_of_bits long element from bitstream */ *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; remaining_bits_len -= no_of_bits; ElementCount++; @@ -1263,7 +1263,7 @@ bit_offset += no_of_bits; } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); /* existNextElement() returned FALSE, 1 bit consumed */ bit_offset++; remaining_bits_len--; @@ -1286,7 +1286,7 @@ while (existNextElement(vector, readIndex, Tag)) { /* tag control shows existence of next list elements */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = Exist | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = Exist | ", pDescr->sz); /* existNextElement() returned TRUE, 1 bit consumed */ bit_offset++; remaining_bits_len--; @@ -1316,7 +1316,7 @@ } } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %d | ", pDescr->sz , bitvec_get_uint(vector, 1)); /* existNextElement() returned FALSE, 1 bit consumed */ remaining_bits_len--; @@ -1355,7 +1355,7 @@ { /* get data element */ ElementCount++; - LOGPC(DCSN1, LOGL_NOTICE, "%s { | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s { | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamDecoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, readIndex, pui8); @@ -1377,7 +1377,7 @@ } /* control of next element's tag */ - LOGPC(DCSN1, LOGL_NOTICE, "%s } | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s } | ", pDescr->sz); EndOfList = !(existNextElement(vector, readIndex, Tag)); bit_offset++; @@ -1410,7 +1410,7 @@ return ProcessError(readIndex,"csnStreamDecoder FIXED value does not match", -1, pDescr); } - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned int)ui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned int)ui32); remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; pDescr++; @@ -1478,12 +1478,12 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); /* end add the bit value to protocol tree */ } else if(pDescr->may_be_null) { - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -1512,19 +1512,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -1536,7 +1536,7 @@ } else if(pDescr->may_be_null) { - LOGPC(DCSN1, LOGL_NOTICE, "%s = NULL | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = NULL | ", pDescr->sz); } else { @@ -1557,19 +1557,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8 - (guint8)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); } else { @@ -1602,7 +1602,7 @@ guint8 ui8 = get_masked_bits8(vector, writeIndex, bit_offset, no_of_bits); *writeIndex -= no_of_bits; bitvec_write_field(vector, writeIndex, ui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else @@ -1639,7 +1639,7 @@ do { bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; @@ -1691,7 +1691,7 @@ * but no bits shall be read from bitstream */ - LOGPC(DCSN1, LOGL_NOTICE, "%s : | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s : | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pui8); if (Status >= 0) @@ -1725,7 +1725,7 @@ { pui8 = pui8DATA(data, pDescr->offset+ib); bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else if (no_of_bits <= 64) @@ -1734,7 +1734,7 @@ { pui8 = pui8DATA(data, pDescr->offset+ib); bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s[%u] = %u | ", pDescr->sz , ib, (unsigned)*pui8); } } else @@ -1756,10 +1756,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, " : End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : End %s | ", pDescr->sz); if (Status >= 0) { @@ -1787,7 +1787,7 @@ pChoice += i; guint8 no_of_bits = pChoice->bits; guint8 value = pChoice->value; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pChoice->descr.sz , (unsigned)value); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pChoice->descr.sz , (unsigned)value); bitvec_write_field(vector, writeIndex, value, no_of_bits); CSN_DESCR descr[2]; @@ -1835,7 +1835,7 @@ Status = serialize(&arT, vector, writeIndex, pvDATA(data, pDescr->offset)); bitvec_write_field(vector, &lengthIndex, *writeIndex - lengthIndex - length_len, length_len); - LOGPC(DCSN1, LOGL_NOTICE, "%s length = %u | ", pDescr->sz , (unsigned)(*writeIndex - lengthIndex)); + LOGPC(DCSN1, LOGL_DEBUG, "%s length = %u | ", pDescr->sz , (unsigned)(*writeIndex - lengthIndex)); if (Status >= 0) { @@ -1902,7 +1902,7 @@ /* script index to continue on, limited in case we do not have a power of 2 */ pDescr += (MIN(index + 1, count)); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)index); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)index); switch (pDescr->type) { /* get the right element of the union based on computed index */ @@ -1911,7 +1911,7 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); remaining_bits_len--; bit_offset++; pDescr++; @@ -1933,19 +1933,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui16); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui16); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else { @@ -1973,19 +1973,19 @@ { pui8 = pui8DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui8 - (guint8)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(*pui8 - (guint8)pDescr->descr.value)); } else if (no_of_bits <= 16) { pui16 = pui16DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui16 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned short)(*pui16 - (guint16)pDescr->descr.value)); } else if (no_of_bits <= 32) { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32 - (guint16)pDescr->descr.value, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned int)(*pui32 - (guint16)pDescr->descr.value)); } else { @@ -2019,7 +2019,7 @@ guint8 ui8 = get_masked_bits8(vector, writeIndex, bit_offset, no_of_bits); *writeIndex -= no_of_bits; bitvec_write_field(vector, writeIndex, ui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); } else @@ -2056,7 +2056,7 @@ do { bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; @@ -2108,7 +2108,7 @@ * but no bits shall be read from bitstream */ - LOGPC(DCSN1, LOGL_NOTICE, "%s : | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s : | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pui8); if (Status >= 0) @@ -2139,13 +2139,13 @@ { pui32 = pui32DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui32, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , *pui32); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , *pui32); } else if (no_of_bits <= 64) { pui64 = pui64DATA(data, pDescr->offset); bitvec_write_field(vector, writeIndex, *pui64, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %lu | ", pDescr->sz , *pui64); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %lu | ", pDescr->sz , *pui64); } else { @@ -2166,10 +2166,10 @@ { gint16 Status; csnStream_t arT = *ar; - LOGPC(DCSN1, LOGL_NOTICE, " : %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : %s | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pvDATA(data, pDescr->offset)); - LOGPC(DCSN1, LOGL_NOTICE, " : End %s | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, " : End %s | ", pDescr->sz); if (Status >= 0) { remaining_bits_len = arT.remaining_bits_len; @@ -2214,7 +2214,7 @@ } writeIndex--; bitvec_write_field(vector, writeIndex, fExist, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz, (unsigned)fExist); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz, (unsigned)fExist); remaining_bits_len--; bit_offset++; pDescr++; @@ -2246,7 +2246,7 @@ bitvec_write_field(vector, writeIndex, *pui8, 1); fExist = *pui8; - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); remaining_bits_len--; bit_offset++; @@ -2331,7 +2331,7 @@ if (nB1 > 0) { /* take care of the first byte - it will be right aligned */ bitvec_write_field(vector, writeIndex, *pui8, nB1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= nB1; bit_offset += nB1; /* (nB1 is no_of_bits Mod 8) */ @@ -2342,7 +2342,7 @@ while (no_of_bits > 0) { bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; remaining_bits_len -= 8; @@ -2389,14 +2389,14 @@ while (no_of_bits > 0) { bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= 8; } if (nB1 > 0) { bitvec_write_field(vector, writeIndex, *pui8, nB1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; no_of_bits -= nB1; bit_offset += nB1; /* (nB1 is no_of_bits Mod 8) */ @@ -2412,7 +2412,7 @@ case CSN_PADDING_BITS: { /* Padding from here and to the end of message */ - LOGPC(DCSN1, LOGL_NOTICE, "%s = ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s = ", pDescr->sz); guint8 filler = 0x2b; if (remaining_bits_len > 0) { @@ -2428,14 +2428,14 @@ */ guint8 fl = filler&(0xff>>(8-bits_to_handle + 1)); bitvec_write_field(vector, writeIndex, fl, bits_to_handle); - LOGPC(DCSN1, LOGL_NOTICE, "%u|", fl); + LOGPC(DCSN1, LOGL_DEBUG, "%u|", fl); remaining_bits_len -= bits_to_handle; bit_offset += bits_to_handle; } else if (bits_to_handle == 0) { bitvec_write_field(vector, writeIndex, filler, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%u|", filler); + LOGPC(DCSN1, LOGL_DEBUG, "%u|", filler); remaining_bits_len -= 8; bit_offset += 8; } @@ -2474,7 +2474,7 @@ while (count > 0) { bitvec_write_field(vector, writeIndex, *pui8, 8); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; bit_offset += 8; remaining_bits_len -= 8; @@ -2502,13 +2502,13 @@ while (ElementCount > 0) { /* tag control shows existence of next list elements */ bitvec_write_field(vector, writeIndex, Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)Tag); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)Tag); bit_offset++; remaining_bits_len--; /* extract and store no_of_bits long element from bitstream */ bitvec_write_field(vector, writeIndex, *pui8, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)*pui8); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; ElementCount--; @@ -2522,7 +2522,7 @@ } bitvec_write_field(vector, writeIndex, !Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); bit_offset++; remaining_bits_len--; @@ -2544,7 +2544,7 @@ while (ElementCount > 0) { /* tag control shows existence of next list elements */ bitvec_write_field(vector, writeIndex, Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)Tag); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)Tag); bit_offset++; remaining_bits_len--; @@ -2575,7 +2575,7 @@ } bitvec_write_field(vector, writeIndex, !Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); bit_offset++; pDescr++; @@ -2613,15 +2613,15 @@ if (ElementCount != ElementNum) { bitvec_write_field(vector, writeIndex, Tag, 1); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)Tag); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)Tag); bit_offset++; remaining_bits_len--; } ElementCount--; - LOGPC(DCSN1, LOGL_NOTICE, "%s { | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s { | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); Status = csnStreamEncoder(&arT, (const CSN_DESCR*)pDescr->descr.ptr, vector, writeIndex, pui8); - LOGPC(DCSN1, LOGL_NOTICE, "%s } | ", pDescr->sz); + LOGPC(DCSN1, LOGL_DEBUG, "%s } | ", pDescr->sz); if (Status >= 0) { /* successful completion */ pui8 += nSizeElement; /* -> to next */ @@ -2651,7 +2651,7 @@ { /* Verify the fixed bits */ guint8 no_of_bits = (guint8) pDescr->i; bitvec_write_field(vector, writeIndex, pDescr->offset, no_of_bits); - LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)pDescr->offset); + LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)pDescr->offset); remaining_bits_len -= no_of_bits; bit_offset += no_of_bits; pDescr++; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 63498ca..bd5da4c 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -284,7 +284,7 @@ { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); osmo_init_logging2(ctx, &gprs_log_info); - log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,2:"); + log_parse_category_mask(osmo_stderr_target, "DPCU,3:DLGLOBAL,1:DRLCMACDATA,2:DCSN1,1:"); log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); log_set_print_category_hex(osmo_stderr_target, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198 Gerrit-Change-Number: 17530 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 Thu Mar 19 17:32:55 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 19 Mar 2020 17:32:55 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok File pysim-testdata/Wavemobile-SIM.ok: https://gerrit.osmocom.org/c/pysim/+/17520/3/pysim-testdata/Wavemobile-SIM.ok at 6 PS3, Line 6: 6a82 > thanks for finding the correct interpretation of the code. [?] Previously when scc object was used for reading SIM parameters the value of CLA byte and sel_ctrl was a0 and 0000 (typically UICC containing SIM only), but with the new addition of card detection Wavemobile Card subclass object is initialized in which CLA byte and sel_ctrl are overriden to 00 and 0004 (typically UICC containing SIM+USIM atleast). This could be the reason, although I am not 100% sure. As per the reference link above for error codes 9404 - FID not found, record not found or comparison pattern not found 6a82 - File not found (More precise reason than 9404 error code) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 5 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Mar 2020 17:32:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria 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 Thu Mar 19 18:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 18:00:51 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config 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-manuals/+/17502 to look at the new patch set (#2). Change subject: add common/chapters/cs7-config ...................................................................... add common/chapters/cs7-config This will be used by the manuals of osmo-bsc, osmo-hnbgw, osmo-msc, osmo-sgsn. Related: OS#2767 Change-Id: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 --- A common/chapters/cs7-config.adoc 1 file changed, 293 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/02/17502/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 19 18:01:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 18:01:49 +0000 Subject: Change in libosmo-sccp[master]: cs7 vty: add 'show cs7 config' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 ) Change subject: cs7 vty: add 'show cs7 config' ...................................................................... cs7 vty: add 'show cs7 config' When 'cs7' was added, it was generally possible to get the full automatic configuration spelled out by using 'show running-config'. Later, the vty was modified so that automatically configured parts were omitted. Since figuring out the 'cs7' configuration is far from trivial, it is very convenient to get the program's current configuration spelled out in detail, whether it is automatic or not. For this purpose, add a new 'show' command which simply calls the ss7 VTY's write function with a new switch to disable all omissions. Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 31 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_ss7_vty.c b/src/osmo_ss7_vty.c index 2931fb9..9a2f8bb 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -202,18 +202,23 @@ return CMD_SUCCESS; } -static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst); +static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst, bool show_dyn_config); -static int config_write_cs7(struct vty *vty) +static int write_all_cs7(struct vty *vty, bool show_dyn_config) { struct osmo_ss7_instance *inst; llist_for_each_entry(inst, &osmo_ss7_instances, list) - write_one_cs7(vty, inst); + write_one_cs7(vty, inst, show_dyn_config); return 0; } +static int config_write_cs7(struct vty *vty) +{ + return write_all_cs7(vty, false); +} + DEFUN(show_cs7_user, show_cs7_user_cmd, "show cs7 instance <0-15> users", SHOW_STR CS7_STR INST_STR INST_STR "User Table\n") @@ -543,6 +548,14 @@ return CMD_SUCCESS; } +DEFUN(show_cs7_config, show_cs7_config_cmd, + "show cs7 config", + SHOW_STR CS7_STR "Currently running cs7 configuration") +{ + write_all_cs7(vty, true); + return CMD_SUCCESS; +} + /*********************************************************************** * Application Server Process @@ -728,11 +741,12 @@ return CMD_SUCCESS; } -static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp) +static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp, bool show_dyn_config) { int i; /* skip any dynamically created ASPs (e.g. auto-created at connect time) */ - if (asp->dyn_allocated || asp->simple_client_allocated) + if ((asp->dyn_allocated || asp->simple_client_allocated) + && !show_dyn_config) return; vty_out(vty, " asp %s %u %u %s%s", @@ -1025,13 +1039,14 @@ return CMD_SUCCESS; } -static void write_one_as(struct vty *vty, struct osmo_ss7_as *as) +static void write_one_as(struct vty *vty, struct osmo_ss7_as *as, bool show_dyn_config) { struct osmo_ss7_routing_key *rkey; unsigned int i; /* skip any dynamically allocated AS definitions */ - if (as->rkm_dyn_allocated || as->simple_client_allocated) + if ((as->rkm_dyn_allocated || as->simple_client_allocated) + && !show_dyn_config) return; vty_out(vty, " as %s %s%s", as->cfg.name, @@ -1043,7 +1058,8 @@ if (!asp) continue; /* skip any dynamically created ASPs (e.g. auto-created at connect time) */ - if (asp->dyn_allocated || asp->simple_client_allocated) + if ((asp->dyn_allocated || asp->simple_client_allocated) + && !show_dyn_config) continue; vty_out(vty, " asp %s%s", asp->cfg.name, VTY_NEWLINE); } @@ -1700,7 +1716,7 @@ * Common ***********************************************************************/ -static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst) +static void write_one_cs7(struct vty *vty, struct osmo_ss7_instance *inst, bool show_dyn_config) { struct osmo_ss7_asp *asp; struct osmo_ss7_as *as; @@ -1741,11 +1757,11 @@ /* first dump ASPs, as ASs reference them */ llist_for_each_entry(asp, &inst->asp_list, list) - write_one_asp(vty, asp); + write_one_asp(vty, asp, show_dyn_config); /* then dump ASPs, as routes reference them */ llist_for_each_entry(as, &inst->as_list, list) - write_one_as(vty, as); + write_one_as(vty, as, show_dyn_config); /* now dump everything that is relevent for the SG role */ if (cs7_role == CS7_ROLE_SG) { @@ -1880,6 +1896,7 @@ install_element_ve(&show_cs7_user_cmd); install_element_ve(&show_cs7_xua_cmd); + install_element_ve(&show_cs7_config_cmd); /* the mother of all VTY config nodes */ install_element(CONFIG_NODE, &cs7_instance_cmd); diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index a7fe492..9bafb02 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -2,6 +2,7 @@ ... !show cs7 show cs7 instance <0-15> users show cs7 (sua|m3ua|ipa) [<0-65534>] + show cs7 config show cs7 instance <0-15> asp show cs7 instance <0-15> as (active|all|m3ua|sua) show cs7 instance <0-15> sccp addressbook @@ -16,6 +17,7 @@ ... !show cs7 show cs7 instance <0-15> users show cs7 (sua|m3ua|ipa) [<0-65534>] + show cs7 config show cs7 instance <0-15> asp show cs7 instance <0-15> as (active|all|m3ua|sua) show cs7 instance <0-15> sccp addressbook @@ -35,6 +37,7 @@ sua SCCP User Adaptation m3ua MTP3 User Adaptation ipa IPA Multiplex (SCCP Lite) + config Currently running cs7 configuration ss7_asp_vty_test# show cs7 m3ua ? [<0-65534>] Port Number -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I84707561a6f54851c5599c39ea9bf1d971a2a1d7 Gerrit-Change-Number: 17501 Gerrit-PatchSet: 3 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 Thu Mar 19 19:16:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Mar 2020 19:16:02 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not ... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17531 ) Change subject: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host ...................................................................... osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host osmo-gsm-tester.git/contrib/jenkins-build-srslte.sh cannot be used because there's a need to split the fetch step from the build step. That's because we want to fetch in the host (in order to use host's user ssh key for potential private repos) while still building inside the docker container, where we have all the dependencies (and where the binaries are going to be run afterwards by osmo-gsm-tester). During the changes above it was also noticed that /tmp/trial on the host got its UID+GID changed (because we switch user inside the container to downscale privileges). Fix it by chown'ing the directory back to the host user's UID+GID. Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16 --- M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 2 files changed, 81 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/31/17531/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index c114222..58768c4 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -1,11 +1,20 @@ #!/bin/sh -# This docket env allows running a typical osmo-gsm-tester setup with a main +# This docker env allows running a typical osmo-gsm-tester setup with a main # unit (ogt-master) running osmo-gsm-tester process, and using another docker # container as a remote host where to run child processes. # -# Trial directory must be set in the parent host's /tmp/trial path, which will -# then be mounted to ogt-master and used my osmo-gsm-tester. +# Trial directory to use may be placed in the container's host /tmp/trial path, +# which will then be mounted to ogt-master and used my osmo-gsm-tester. +# If no inst is detected, then jenkins.sh will attempt to fetch the sources in +# the host system (so that host's user ssh keys are potentially available) under +# /tmp/trial, and the inst is then later built inside the container. +# Several env vars are available to tweak where to fetch from. +# SRS_LTE_BRANCH: The srsLTE.git branch to fetch. +# SRS_LTE_REPO_PREFIX: The URL & prefix patch from where to clone the srsLTe.git +# repo. +# SRS_LTE_REPO_NAME: The srsLTE.git repo name, usually "srsLTE", but known to +# have different names on some forks. # # osmo-gsm-tester parameters and suites are passed to osmo-gsm-tester.sh in same # directory as this script using environment variable OSMO_GSM_TESTER_OPTS. @@ -14,6 +23,35 @@ # osmo-gsm-tester last run can be found as usual under the trial directory # (/tmp/trial/last_run). +TRIAL_DIR="/tmp/trial" + +SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} +SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} +SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME:-srsLTE} +have_repo_srslte() { + echo "srsLTE inst not provided, fetching it now and it will be build in container" + if [ -d "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" ]; then + git fetch -C ${TRIAL_DIR}/${SRS_LTE_REPO_NAME} + else + mkdir -p ${TRIAL_DIR} + git clone "${SRS_LTE_REPO_PREFIX}/${SRS_LTE_REPO_NAME}" "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" + fi + # Figure out whether we need to prepend origin/ to find branches in upstream. + # Doing this allows using git hashes instead of a branch name. + if git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" rev-parse "origin/$SRS_LTE_BRANCH"; then + SRS_LTE_BRANCH="origin/$SRS_LTE_BRANCH" + fi + + git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" checkout -B build_branch "$SRS_LTE_BRANCH" + rm -rf "${TRIAL_DIR:?}/${SRS_LTE_REPO_NAME}/*" + git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" reset --hard "$SRS_LTE_BRANCH" +} + +# If srsLTE trial not provided by user, fetch srsLTE git repo and let the container build it: +if [ "x$(ls ${TRIAL_DIR}/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then + have_repo_srslte +fi + . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ @@ -51,8 +89,11 @@ --network $NET_NAME \ --ip 172.18.50.2 \ -v $VOL_BASE_DIR/ogt-master:/data \ - -v /tmp/trial:/tmp/trial \ + -v "${TRIAL_DIR}:/tmp/trial" \ -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ + -e "SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME}" \ + -e "HOST_USER_ID=$(id -u)" \ + -e "HOST_GROUP_ID=$(id -g)" \ --name ${BUILD_TAG}-ogt-master \ $REPO_USER/osmo-gsm-tester diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index 975e4e5..bd8a659 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -11,4 +11,39 @@ ip addr add 172.18.50.9/24 dev eth0 ip addr add 172.18.50.10/24 dev eth0 -su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins +build_srslte() { + git_repo_dir="/tmp/trial/${SRS_LTE_REPO_NAME}" + if [ ! -d "$git_repo_dir" ]; then + echo "No external trial nor git repo provided for srsLTE!" + exit 1 + fi + pushd "/tmp/trial" + rm -rf inst && mkdir inst + rm -rf build && mkdir build && cd build || exit 1 + cmake -DCMAKE_INSTALL_PREFIX="../inst/" "${git_repo_dir}" + set +x; echo; echo; set -x + make "-j$(nproc)" + set +x; echo; echo; set -x + make install + this="srslte.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" + tar="${this}.tgz" + tar czf "/tmp/trial/$tar" -C "/tmp/trial/inst" . + cd "/tmp/trial/" && md5sum "$tar" >>checksums.md5 + popd +} + +# Build srsLTE.git if not provided by host system: +if [ "x$(ls /tmp/trial/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then + build_srslte +fi + +# Make trial dir avaialable to jenkins user inside container: +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=$? + +# Make trial dir again owned by user running the container: +chown -R "${HOST_USER_ID}:${HOST_GROUP_ID}" /tmp/trial/ + +exit $rc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16 Gerrit-Change-Number: 17531 Gerrit-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 Mar 19 23:44:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 23:44:50 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals 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/+/17503 to look at the new patch set (#3). Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... manual: add "Multiple Instances" section, akin to other manuals Related: OS#2767 Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 --- M doc/manuals/chapters/running.adoc 1 file changed, 71 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/17503/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Thu Mar 19 23:44:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 23:44:51 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCPlite section References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17532 ) Change subject: manual: add SCCPlite section ...................................................................... manual: add SCCPlite section Change-Id: I8eddc47353d6afd756865321a9e97f6cee4ce2d7 --- M doc/manuals/chapters/running.adoc 1 file changed, 32 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/17532/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index f160ba1..bdc517a 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -73,7 +73,9 @@ === Configure primary links -==== Configure SCCP/M3UA to connect to an MSC's _A_ interface +==== Connect to an MSC's _A_ interface + +===== Configure SCCP/M3UA (AoIP) OsmoBSC acts as client to contact an STP instance and establish an SCCP/M3UA link. @@ -100,6 +102,35 @@ This configuration is explained in detail in <>. +===== Configure SCCPlite + +Traditionally, OsmoBSC implemented only an SCCPlite based A-interface, an +ad-hoc standard encapsulating BSSAP in an IPA Multiplex. Since 2017, OsmoBSC +supports primarily a proper 3GPP compliant SCCP/M3UA A-interface known as AoIP, +by a new libosmo-sigtran implementation. In 2018, SCCPlite compatibility was +added to libosmo-sigtran, re-enabling the option of using an SCCPlite based +A-interface. For details, see the OsmoSTP manual, chapter "IPA / SCCPlite +backwards compatibility". + +Here is an example configuration of OsmoBSC for SCCPlite, assuming the BSC at +point-code 1.23.3 and an SCCPlite MSC listening on 127.0.0.1:5000 with own +point-code 0.23.1: + +---- +cs7 instance 0 + point-code 1.23.3 + asp asp-clnt-msc-0 5000 0 ipa + remote-ip 127.0.0.1 + as as-clnt-msc-0 ipa + asp asp-clnt-msc-0 + routing-key 0 1.23.3 + point-code override dpc 0.23.1 + sccp-address remote_msc + point-code 0.23.1 +msc 0 + msc-addr remote_msc +---- + ==== Configure MGCP to connect to an MGW OsmoBSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8eddc47353d6afd756865321a9e97f6cee4ce2d7 Gerrit-Change-Number: 17532 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 Mar 19 23:57:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 19 Mar 2020 23:57:30 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals 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/+/17503 to look at the new patch set (#4). Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... manual: add "Multiple Instances" section, akin to other manuals Related: OS#2767 Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 --- M doc/manuals/chapters/running.adoc 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/17503/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 4 Gerrit-Owner: neels 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 Mar 20 09:40:50 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Fri, 20 Mar 2020 09:40:50 +0000 Subject: Change in osmo-gsm-tester[master]: uncomment legacy scheduler params in enb.conf.templ References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 ) Change subject: uncomment legacy scheduler params in enb.conf.templ ...................................................................... uncomment legacy scheduler params in enb.conf.templ Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/33/17533/1 diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index d28d255..bd4ad11 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -146,8 +146,8 @@ #pdsch_mcs = -1 #pdsch_max_mcs = -1 #pusch_mcs = -1 -pusch_max_mcs = 16 -nof_ctrl_symbols = 3 +#pusch_max_mcs = 16 +#nof_ctrl_symbols = 3 ##################################################################### # eMBMS configuration options -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c Gerrit-Change-Number: 17533 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 09:40:50 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Fri, 20 Mar 2020 09:40:50 +0000 Subject: Change in osmo-gsm-tester[master]: fix lookup table for maximum DL/UL rate for srsENB References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17534 ) Change subject: fix lookup table for maximum DL/UL rate for srsENB ...................................................................... fix lookup table for maximum DL/UL rate for srsENB Change-Id: Ieb027eaf5d8f4d774d0e29207f7a3b75dec6ee5b --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 11 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/34/17534/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 14e2db4..940665e 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -254,20 +254,19 @@ return 2 def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB in TM1 - max_phy_rate_tm1_dl = { 6 : 2.3e6, - 15 : 8e6, - 25 : 16e6, + # The max rate for a single UE per PRB configuration in TM1 + max_phy_rate_tm1_dl = { 6 : 3.5e6, + 15 : 11e6, + 25 : 18e6, 50 : 36e6, - 75 : 54e6, + 75 : 55e6, 100 : 75e6 } - # TODO: proper values for this table: - max_phy_rate_tm1_ul = { 6 : 0.23e6, - 15 : 0.8e6, - 25 : 1.6e6, - 50 : 3.6e6, - 75 : 5.4e6, - 100 : 7.5e6 } + 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: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieb027eaf5d8f4d774d0e29207f7a3b75dec6ee5b Gerrit-Change-Number: 17534 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 09:40:50 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Fri, 20 Mar 2020 09:40:50 +0000 Subject: Change in osmo-gsm-tester[master]: relax max_rate for iperf UL/DL tests References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17535 ) Change subject: relax max_rate for iperf UL/DL tests ...................................................................... relax max_rate for iperf UL/DL tests Change-Id: Ia243156931918d5ab013c64c37823bc2e400798e --- M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/17535/1 diff --git a/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py index c98251b..38a3891 100755 --- a/suites/4g/iperf3_dl.py +++ b/suites/4g/iperf3_dl.py @@ -44,6 +44,6 @@ print_results(iperf3cli.get_results(), iperf3srv.get_results()) max_rate = enb.ue_max_rate(downlink=True) -res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='dl_brate', criterion='gt') +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/suites/4g/iperf3_ul.py b/suites/4g/iperf3_ul.py index fe963a9..f467696 100755 --- a/suites/4g/iperf3_ul.py +++ b/suites/4g/iperf3_ul.py @@ -44,6 +44,6 @@ print_results(iperf3cli.get_results(), iperf3srv.get_results()) max_rate = enb.ue_max_rate(downlink=False) -res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='ul_brate', criterion='gt') +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/+/17535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia243156931918d5ab013c64c37823bc2e400798e Gerrit-Change-Number: 17535 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 09:40:51 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Fri, 20 Mar 2020 09:40:51 +0000 Subject: Change in osmo-gsm-tester[master]: add srsue class member to pass additional cmd line args References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 ) Change subject: add srsue class member to pass additional cmd line args ...................................................................... add srsue class member to pass additional cmd line args Change-Id: I969fb7f34a865218e39563844de273cf5587e3ee --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/17536/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index f725587..1ae7c12 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -75,6 +75,7 @@ self.remote_metrics_file = None self.enable_pcap = False self.suite_run = suite_run + self.additional_args = "" 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)) @@ -164,7 +165,8 @@ '--gw.netns=' + self.netns(), '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, - '--general.metrics_csv_filename=' + self.remote_metrics_file) + '--general.metrics_csv_filename=' + self.remote_metrics_file, + self.additional_args) self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I969fb7f34a865218e39563844de273cf5587e3ee Gerrit-Change-Number: 17536 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 09:40:51 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Fri, 20 Mar 2020 09:40:51 +0000 Subject: Change in osmo-gsm-tester[master]: make sure to only use a single PHY thread when running with ZMQ References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537 ) Change subject: make sure to only use a single PHY thread when running with ZMQ ...................................................................... make sure to only use a single PHY thread when running with ZMQ Change-Id: Ib7c7c0ff4c2d83cc51cca9a630921470a2084850 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/17537/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 940665e..20cf3c3 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -150,10 +150,9 @@ '--enb_files.sib_config=' + self.remote_config_sib_file, '--enb_files.rr_config=' + self.remote_config_rr_file, '--enb_files.drb_config=' + self.remote_config_drb_file, - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file) + '--pcap.filename=' + self.remote_pcap_file, + '--expert.nof_phy_threads=1' if self._conf.get('rf_dev_type') == 'zmq' else '') self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 1ae7c12..8d5cbda 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -161,11 +161,11 @@ #'strace', '-ff', args = (remote_binary, self.remote_config_file, - '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file, + '--phy.nof_phy_threads=1' if self._conf.get('rf_dev_type') == 'zmq' else '', self.additional_args) self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), args) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib7c7c0ff4c2d83cc51cca9a630921470a2084850 Gerrit-Change-Number: 17537 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 09:40:51 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Fri, 20 Mar 2020 09:40:51 +0000 Subject: Change in osmo-gsm-tester[master]: log srsUE/srsENB cmd line args before launching References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538 ) Change subject: log srsUE/srsENB cmd line args before launching ...................................................................... log srsUE/srsENB cmd line args before launching Change-Id: I9e18595433e883b37323e94c43f17162f011bc00 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/17538/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 20cf3c3..9a75714 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -154,6 +154,8 @@ '--pcap.filename=' + self.remote_pcap_file, '--expert.nof_phy_threads=1' if self._conf.get('rf_dev_type') == 'zmq' else '') + self.log('Using args: %s' % ' '.join([str(elem) for elem in args])) + self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) self.process.launch() diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 8d5cbda..c86ab3e 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -168,6 +168,8 @@ '--phy.nof_phy_threads=1' if self._conf.get('rf_dev_type') == 'zmq' else '', self.additional_args) + self.log('Using args: %s' % ' '.join([str(elem) for elem in args])) + self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) self.suite_run.remember_to_stop(self.process) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9e18595433e883b37323e94c43f17162f011bc00 Gerrit-Change-Number: 17538 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 12:18:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Mar 2020 12:18:46 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... scheduler: always call ul handler on nope ind When a nope indication is received from the TRX normally a separate handler (.nope_fn) is called. It turned out that calling the ul handler (.ul_fn) on nope indications is the usual case, so lets remove the .nope_fn member and call the ul handler whenever we get nope indications from the trx. Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Related: OS#4461 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c 2 files changed, 2 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/17539/1 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index aa2d6e9..4959853 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -31,8 +31,6 @@ trx_sched_dl_func *dl_fn; /*! \brief function to call when burst received from PHY */ trx_sched_ul_func *ul_fn; - /*! \brief function to call when NOPE.ind received from PHY */ - trx_sched_ul_func *nope_fn; /*! \brief channel flags, see TRX_CHAN_FLAG_* */ uint8_t flags; }; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index e8df537..39bb9a4 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -365,7 +365,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCHTH_0] = { .name = "SACCH/TH(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -377,7 +376,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCHTH_1] = { .name = "SACCH/TH(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -389,7 +387,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_0] = { .name = "SACCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -401,7 +398,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_1] = { .name = "SACCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -413,7 +409,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_2] = { .name = "SACCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -425,7 +420,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH4_3] = { .name = "SACCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -437,7 +431,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_0] = { .name = "SACCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -449,7 +442,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_1] = { .name = "SACCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -461,7 +453,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_2] = { .name = "SACCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -473,7 +464,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_3] = { .name = "SACCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -485,7 +475,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_4] = { .name = "SACCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -497,7 +486,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_5] = { .name = "SACCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -509,7 +497,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_6] = { .name = "SACCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -521,7 +508,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_SACCH8_7] = { .name = "SACCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -533,7 +519,6 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, - .nope_fn = rx_data_fn, }, [TRXC_PDTCH] = { .name = "PDTCH", /* 3GPP TS 05.02, sections 3.2.4, 3.3.2.4 */ @@ -1391,9 +1376,9 @@ l1cs->last_tdma_fn = bi->fn; l1cs->proc_tdma_fs++; - /* handle NOPE indications (if the handler is present) */ + /* handle NOPE indications (if an ul handler is present) */ if (bi->flags & TRX_BI_F_NOPE_IND) { - func = trx_chan_desc[chan].nope_fn; + func = trx_chan_desc[chan].ul_fn; if (!func) return 0; return func(l1t, chan, bid, bi); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 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 Mar 20 12:37:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 12:37:04 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c at 1369 PS1, Line 1369: func Presence of the Uplink handler is already checked here. https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c at 1381 PS1, Line 1381: func = trx_chan_desc[chan].ul_fn; : if (!func) : return 0; so you don't need this check at all, just call it :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 20 Mar 2020 12:37: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 Mar 20 12:49:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 12:49:09 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c at 1381 PS1, Line 1381: func = trx_chan_desc[chan].ul_fn; : if (!func) : return 0; > so you don't need this check at all, just call it :) Moreover, NOPE.ind contains no burst, so bi->burst_len is 0 and bi->burst is not initialized. You either need to make sure that all Uplink handlers can deal with that (AFAIK, only rx_data_fn does), or do memset(bi->burst, 0x00, GSM_BURST_LEN); bi->burst_len = GSM_BURST_LEN here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 20 Mar 2020 12:49:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 12:50:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 12:50:23 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c at 1381 PS1, Line 1381: func = trx_chan_desc[chan].ul_fn; : if (!func) : return 0; > Moreover, NOPE.ind contains no burst, so bi->burst_len is 0 and bi->burst is not initialized. [?] And of course it does not make sense to pass a NOPE.ind to the RACH handler - rx_rach_fn. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 20 Mar 2020 12:50:23 +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 Mar 20 12:52:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 12:52:28 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/17539/1/src/common/scheduler.c at 1381 PS1, Line 1381: func = trx_chan_desc[chan].ul_fn; : if (!func) : return 0; > And of course it does not make sense to pass a NOPE.ind to the RACH handler - rx_rach_fn. + TRXC_PTCCH, it's basically RACH on Uplink. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 20 Mar 2020 12:52:28 +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 Mar 20 15:19:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 15:19:32 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: Just wondering, do you keep in mind compatibility with TRXDv0 (which doesn't have NOPE.ind afaik) when working on this? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 15:19:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 16:04:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:04:42 +0000 Subject: Change in osmo-gsm-tester[master]: add srsue class member to pass additional cmd line args In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 ) Change subject: add srsue class member to pass additional cmd line args ...................................................................... Patch Set 1: Code-Review-2 (1 comment) I don't understand this commit. You are simply adding a class member but not using it anywhere? What's the intention? use it from tests? from scenarios? If it's to be used directly for tests, better add a public API for that, we don't usually touch class instance attributes from outside. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536/1/src/osmo_gsm_tester/srs_ue.py File src/osmo_gsm_tester/srs_ue.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536/1/src/osmo_gsm_tester/srs_ue.py at 169 PS1, Line 169: self.additional_args) You need to add the same also for the start_locally() function, see line 205 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I969fb7f34a865218e39563844de273cf5587e3ee Gerrit-Change-Number: 17536 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:04: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 Mar 20 16:07:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:07:21 +0000 Subject: Change in osmo-gsm-tester[master]: uncomment legacy scheduler params in enb.conf.templ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 ) Change subject: uncomment legacy scheduler params in enb.conf.templ ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533/1//COMMIT_MSG at 7 PS1, Line 7: uncomment legacy scheduler params in enb.conf.templ Please bear in mind osmo-gsm-tester has lots of different parts, some of them being totally unrelated, so if possible add some reference to the susbsytem you are modifying with your patch at the start of the line followed by colon. For instance: "srsenb.conf.tmpl: uncomment legacy scheduler params" or "templates: uncomment legacy scheduler params in srsenb.conf.templ" or "srsenb: uncomment legacy scheduler params in srsenb.conf.tmpl" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c Gerrit-Change-Number: 17533 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:07: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 Fri Mar 20 16:07:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:07:25 +0000 Subject: Change in osmo-gsm-tester[master]: fix lookup table for maximum DL/UL rate for srsENB In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17534 ) Change subject: fix lookup table for maximum DL/UL rate for srsENB ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieb027eaf5d8f4d774d0e29207f7a3b75dec6ee5b Gerrit-Change-Number: 17534 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:07: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 Mar 20 16:07:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:07:30 +0000 Subject: Change in osmo-gsm-tester[master]: relax max_rate for iperf UL/DL tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17535 ) Change subject: relax max_rate for iperf UL/DL tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia243156931918d5ab013c64c37823bc2e400798e Gerrit-Change-Number: 17535 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:07: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 Mar 20 16:09:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:09:50 +0000 Subject: Change in osmo-gsm-tester[master]: make sure to only use a single PHY thread when running with ZMQ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537 ) Change subject: make sure to only use a single PHY thread when running with ZMQ ...................................................................... Patch Set 1: Code-Review-2 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537/1/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537/1/src/osmo_gsm_tester/srs_enb.py at 155 PS1, Line 155: '--expert.nof_phy_threads=1' if self._conf.get('rf_dev_type') == 'zmq' else '') Apply it for start_locally() too. I think it actually makes sense to remove it from here and apply it directly on the config template file to avoid having to duplicate it in start_locally(). https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537/1/src/osmo_gsm_tester/srs_ue.py File src/osmo_gsm_tester/srs_ue.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537/1/src/osmo_gsm_tester/srs_ue.py at 168 PS1, Line 168: '--phy.nof_phy_threads=1' if self._conf.get('rf_dev_type') == 'zmq' else '', Same as per srs_enb.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib7c7c0ff4c2d83cc51cca9a630921470a2084850 Gerrit-Change-Number: 17537 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:09:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 16:10:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:10:53 +0000 Subject: Change in osmo-gsm-tester[master]: uncomment legacy scheduler params in enb.conf.templ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 ) Change subject: uncomment legacy scheduler params in enb.conf.templ ...................................................................... Patch Set 1: Code-Review-2 Actually setting -2 because the commit description is totally misleading. You are commenting, not uncommenting right? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c Gerrit-Change-Number: 17533 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16: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 Mar 20 16:12:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:12:29 +0000 Subject: Change in osmo-gsm-tester[master]: log srsUE/srsENB cmd line args before launching In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538 ) Change subject: log srsUE/srsENB cmd line args before launching ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538/1/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538/1/src/osmo_gsm_tester/srs_enb.py at 157 PS1, Line 157: self.log('Using args: %s' % ' '.join([str(elem) for elem in args])) Not sure if it's really worthy, you should see already the args if you enable debug "-l dbg", and you'll be always able to see it under the log file which is generated with debug output. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9e18595433e883b37323e94c43f17162f011bc00 Gerrit-Change-Number: 17538 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:12: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 Fri Mar 20 16:15:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:15:24 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17531 ) Change subject: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16 Gerrit-Change-Number: 17531 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16:15: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 Mar 20 16:15:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:15:48 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17531 ) Change subject: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16 Gerrit-Change-Number: 17531 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 16: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 Fri Mar 20 16:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 16:15:51 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not ... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17531 ) Change subject: osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host ...................................................................... osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host osmo-gsm-tester.git/contrib/jenkins-build-srslte.sh cannot be used because there's a need to split the fetch step from the build step. That's because we want to fetch in the host (in order to use host's user ssh key for potential private repos) while still building inside the docker container, where we have all the dependencies (and where the binaries are going to be run afterwards by osmo-gsm-tester). During the changes above it was also noticed that /tmp/trial on the host got its UID+GID changed (because we switch user inside the container to downscale privileges). Fix it by chown'ing the directory back to the host user's UID+GID. Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16 --- M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 2 files changed, 81 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index c114222..58768c4 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -1,11 +1,20 @@ #!/bin/sh -# This docket env allows running a typical osmo-gsm-tester setup with a main +# This docker env allows running a typical osmo-gsm-tester setup with a main # unit (ogt-master) running osmo-gsm-tester process, and using another docker # container as a remote host where to run child processes. # -# Trial directory must be set in the parent host's /tmp/trial path, which will -# then be mounted to ogt-master and used my osmo-gsm-tester. +# Trial directory to use may be placed in the container's host /tmp/trial path, +# which will then be mounted to ogt-master and used my osmo-gsm-tester. +# If no inst is detected, then jenkins.sh will attempt to fetch the sources in +# the host system (so that host's user ssh keys are potentially available) under +# /tmp/trial, and the inst is then later built inside the container. +# Several env vars are available to tweak where to fetch from. +# SRS_LTE_BRANCH: The srsLTE.git branch to fetch. +# SRS_LTE_REPO_PREFIX: The URL & prefix patch from where to clone the srsLTe.git +# repo. +# SRS_LTE_REPO_NAME: The srsLTE.git repo name, usually "srsLTE", but known to +# have different names on some forks. # # osmo-gsm-tester parameters and suites are passed to osmo-gsm-tester.sh in same # directory as this script using environment variable OSMO_GSM_TESTER_OPTS. @@ -14,6 +23,35 @@ # osmo-gsm-tester last run can be found as usual under the trial directory # (/tmp/trial/last_run). +TRIAL_DIR="/tmp/trial" + +SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} +SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} +SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME:-srsLTE} +have_repo_srslte() { + echo "srsLTE inst not provided, fetching it now and it will be build in container" + if [ -d "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" ]; then + git fetch -C ${TRIAL_DIR}/${SRS_LTE_REPO_NAME} + else + mkdir -p ${TRIAL_DIR} + git clone "${SRS_LTE_REPO_PREFIX}/${SRS_LTE_REPO_NAME}" "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" + fi + # Figure out whether we need to prepend origin/ to find branches in upstream. + # Doing this allows using git hashes instead of a branch name. + if git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" rev-parse "origin/$SRS_LTE_BRANCH"; then + SRS_LTE_BRANCH="origin/$SRS_LTE_BRANCH" + fi + + git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" checkout -B build_branch "$SRS_LTE_BRANCH" + rm -rf "${TRIAL_DIR:?}/${SRS_LTE_REPO_NAME}/*" + git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" reset --hard "$SRS_LTE_BRANCH" +} + +# If srsLTE trial not provided by user, fetch srsLTE git repo and let the container build it: +if [ "x$(ls ${TRIAL_DIR}/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then + have_repo_srslte +fi + . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ @@ -51,8 +89,11 @@ --network $NET_NAME \ --ip 172.18.50.2 \ -v $VOL_BASE_DIR/ogt-master:/data \ - -v /tmp/trial:/tmp/trial \ + -v "${TRIAL_DIR}:/tmp/trial" \ -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ + -e "SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME}" \ + -e "HOST_USER_ID=$(id -u)" \ + -e "HOST_GROUP_ID=$(id -g)" \ --name ${BUILD_TAG}-ogt-master \ $REPO_USER/osmo-gsm-tester diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index 975e4e5..bd8a659 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -11,4 +11,39 @@ ip addr add 172.18.50.9/24 dev eth0 ip addr add 172.18.50.10/24 dev eth0 -su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins +build_srslte() { + git_repo_dir="/tmp/trial/${SRS_LTE_REPO_NAME}" + if [ ! -d "$git_repo_dir" ]; then + echo "No external trial nor git repo provided for srsLTE!" + exit 1 + fi + pushd "/tmp/trial" + rm -rf inst && mkdir inst + rm -rf build && mkdir build && cd build || exit 1 + cmake -DCMAKE_INSTALL_PREFIX="../inst/" "${git_repo_dir}" + set +x; echo; echo; set -x + make "-j$(nproc)" + set +x; echo; echo; set -x + make install + this="srslte.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" + tar="${this}.tgz" + tar czf "/tmp/trial/$tar" -C "/tmp/trial/inst" . + cd "/tmp/trial/" && md5sum "$tar" >>checksums.md5 + popd +} + +# Build srsLTE.git if not provided by host system: +if [ "x$(ls /tmp/trial/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then + build_srslte +fi + +# Make trial dir avaialable to jenkins user inside container: +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=$? + +# Make trial dir again owned by user running the container: +chown -R "${HOST_USER_ID}:${HOST_GROUP_ID}" /tmp/trial/ + +exit $rc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16 Gerrit-Change-Number: 17531 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 Fri Mar 20 17:46:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 17:46:41 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Use non 'inst' name as target install dir, and remov... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17540 ) Change subject: osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived ...................................................................... osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived osmo-gsm-tester uses also the "inst/" directory, so using that name to install from cmake is not a good idea here, since they will end up in the same directory under /tmp/trial/inst. Also, make sure the temporary install dst directory is removed after creating the archive, since at that point is no longer needed. Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 --- M osmo-gsm-tester/osmo-gsm-tester-master.sh 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/40/17540/1 diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index bd8a659..1636482 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -18,16 +18,17 @@ exit 1 fi pushd "/tmp/trial" - rm -rf inst && mkdir inst + rm -rf sysroot && mkdir sysroot rm -rf build && mkdir build && cd build || exit 1 - cmake -DCMAKE_INSTALL_PREFIX="../inst/" "${git_repo_dir}" + cmake -DCMAKE_INSTALL_PREFIX="../sysroot/" "${git_repo_dir}" set +x; echo; echo; set -x make "-j$(nproc)" set +x; echo; echo; set -x make install this="srslte.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" - tar czf "/tmp/trial/$tar" -C "/tmp/trial/inst" . + tar czf "/tmp/trial/$tar" -C "/tmp/trial/sysroot" . + rm -rf "/tmp/trial/sysroot" cd "/tmp/trial/" && md5sum "$tar" >>checksums.md5 popd } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 Gerrit-Change-Number: 17540 Gerrit-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 Mar 20 17:46:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 17:46:41 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow changing host's trial directory References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17541 ) Change subject: osmo-gsm-tester: Allow changing host's trial directory ...................................................................... osmo-gsm-tester: Allow changing host's trial directory It's set to /tmp/trial by default for convenience, since it's a temporary directory and easy to remember and to access. Still, let's give the opportunity to change it (if user wants it to be stored in persistent data or if has low amounts of non-persistent memory). Change-Id: I2a7ea361c6156c97bd8d2d94cf1b6856344d4d9f --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/41/17541/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 58768c4..4a3859f 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -23,7 +23,7 @@ # osmo-gsm-tester last run can be found as usual under the trial directory # (/tmp/trial/last_run). -TRIAL_DIR="/tmp/trial" +TRIAL_DIR="${TRIAL_DIR:-/tmp/trial}" SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a7ea361c6156c97bd8d2d94cf1b6856344d4d9f Gerrit-Change-Number: 17541 Gerrit-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 Mar 20 18:18:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:18:06 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Use non 'inst' name as target install dir, and remov... In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/17540 ) Change subject: osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived ...................................................................... osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived osmo-gsm-tester uses also the "inst/" directory, so using that name to install from cmake is not a good idea here, since they will end up in the same directory under /tmp/trial/inst. Also, make sure the temporary install dst directory is removed after creating the archive, since at that point is no longer needed. Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 --- M osmo-gsm-tester/osmo-gsm-tester-master.sh 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/40/17540/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 Gerrit-Change-Number: 17540 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 Mar 20 18:18:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:18:06 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Print colored run output succes/failure References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17542 ) Change subject: osmo-gsm-tester: Print colored run output succes/failure ...................................................................... osmo-gsm-tester: Print colored run output succes/failure This way one can quickly see if osmo-gsm-tester run fine or an issue ocurred and logs need to be checked. Change-Id: I0b267889f403fc1505f9dd859568bc15a120dd81 --- M osmo-gsm-tester/jenkins.sh 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/42/17542/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 4a3859f..529ea3d 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -96,9 +96,19 @@ -e "HOST_GROUP_ID=$(id -g)" \ --name ${BUILD_TAG}-ogt-master \ $REPO_USER/osmo-gsm-tester +rc=$? echo Stopping containers docker container kill ${BUILD_TAG}-ogt-slave network_remove collect_logs + +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color +if [ $rc -eq 0 ]; then + echo -e "${GREEN}SUCCESS${NC}" +else + echo -e "${RED}FAILED ($rc)${NC}" +fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b267889f403fc1505f9dd859568bc15a120dd81 Gerrit-Change-Number: 17542 Gerrit-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 Mar 20 18:25:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:25:34 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Use non 'inst' name as target install dir, and remov... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17540 ) Change subject: osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 Gerrit-Change-Number: 17540 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 18:25:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 18:25:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:25:38 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow changing host's trial directory In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17541 ) Change subject: osmo-gsm-tester: Allow changing host's trial directory ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a7ea361c6156c97bd8d2d94cf1b6856344d4d9f Gerrit-Change-Number: 17541 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 18:25:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 18:25:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:25:42 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Print colored run output succes/failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17542 ) Change subject: osmo-gsm-tester: Print colored run output succes/failure ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b267889f403fc1505f9dd859568bc15a120dd81 Gerrit-Change-Number: 17542 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 18:25: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 Mar 20 18:25:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:25:46 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Use non 'inst' name as target install dir, and remov... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17540 ) Change subject: osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived ...................................................................... osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived osmo-gsm-tester uses also the "inst/" directory, so using that name to install from cmake is not a good idea here, since they will end up in the same directory under /tmp/trial/inst. Also, make sure the temporary install dst directory is removed after creating the archive, since at that point is no longer needed. Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 --- M osmo-gsm-tester/osmo-gsm-tester-master.sh 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index bd8a659..059fae7 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -18,17 +18,19 @@ exit 1 fi pushd "/tmp/trial" - rm -rf inst && mkdir inst + rm -rf sysroot && mkdir sysroot rm -rf build && mkdir build && cd build || exit 1 - cmake -DCMAKE_INSTALL_PREFIX="../inst/" "${git_repo_dir}" + cmake -DCMAKE_INSTALL_PREFIX="../sysroot/" "${git_repo_dir}" set +x; echo; echo; set -x make "-j$(nproc)" set +x; echo; echo; set -x make install + cd .. this="srslte.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" - tar czf "/tmp/trial/$tar" -C "/tmp/trial/inst" . - cd "/tmp/trial/" && md5sum "$tar" >>checksums.md5 + tar czf "/tmp/trial/$tar" -C "/tmp/trial/sysroot" . + rm -rf build sysroot + md5sum "$tar" >>checksums.md5 popd } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4 Gerrit-Change-Number: 17540 Gerrit-PatchSet: 2 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 Fri Mar 20 18:25:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:25:46 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Allow changing host's trial directory In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17541 ) Change subject: osmo-gsm-tester: Allow changing host's trial directory ...................................................................... osmo-gsm-tester: Allow changing host's trial directory It's set to /tmp/trial by default for convenience, since it's a temporary directory and easy to remember and to access. Still, let's give the opportunity to change it (if user wants it to be stored in persistent data or if has low amounts of non-persistent memory). Change-Id: I2a7ea361c6156c97bd8d2d94cf1b6856344d4d9f --- 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 58768c4..4a3859f 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -23,7 +23,7 @@ # osmo-gsm-tester last run can be found as usual under the trial directory # (/tmp/trial/last_run). -TRIAL_DIR="/tmp/trial" +TRIAL_DIR="${TRIAL_DIR:-/tmp/trial}" SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a7ea361c6156c97bd8d2d94cf1b6856344d4d9f Gerrit-Change-Number: 17541 Gerrit-PatchSet: 2 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 Fri Mar 20 18:25:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 18:25:46 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Print colored run output succes/failure In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17542 ) Change subject: osmo-gsm-tester: Print colored run output succes/failure ...................................................................... osmo-gsm-tester: Print colored run output succes/failure This way one can quickly see if osmo-gsm-tester run fine or an issue ocurred and logs need to be checked. Change-Id: I0b267889f403fc1505f9dd859568bc15a120dd81 --- M osmo-gsm-tester/jenkins.sh 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 4a3859f..529ea3d 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -96,9 +96,19 @@ -e "HOST_GROUP_ID=$(id -g)" \ --name ${BUILD_TAG}-ogt-master \ $REPO_USER/osmo-gsm-tester +rc=$? echo Stopping containers docker container kill ${BUILD_TAG}-ogt-slave network_remove collect_logs + +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color +if [ $rc -eq 0 ]; then + echo -e "${GREEN}SUCCESS${NC}" +else + echo -e "${RED}FAILED ($rc)${NC}" +fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b267889f403fc1505f9dd859568bc15a120dd81 Gerrit-Change-Number: 17542 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 Fri Mar 20 18:50:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 18:50:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 ) Change subject: pcu: Introduce TC_mt_ping_pong ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cbf4ac78e4c89f21b8c2b92eba1783667501e64 Gerrit-Change-Number: 17525 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 18:50:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 18:55:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 18:55:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong_with_dl_racap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 ) Change subject: pcu: Introduce TC_mt_ping_pong_with_dl_racap ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787 Gerrit-Change-Number: 17526 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Mar 2020 18:55: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 Mar 20 19:01:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 19:01:22 +0000 Subject: Change in osmo-bts[master]: scheduler: always call ul handler on nope ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17539 ) Change subject: scheduler: always call ul handler on nope ind ...................................................................... Patch Set 1: > Patch Set 1: > > Just wondering, do you keep in mind compatibility with TRXDv0 (which doesn't have NOPE.ind afaik) when working on this? Well, we don't break anything. This is just an optional feature. If the transceiver does not send NOPE indications, osmo-bts-trx would compensate lost bursts itself (with some delay though). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ice45d5986610d9bcef2a7e41f0a395ec779e3928 Gerrit-Change-Number: 17539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 19:01:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 19:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:04:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks 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/+/17527 to look at the new patch set (#2). Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... pcu: Verify CodingScheme of received data blocks Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 76 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/17527/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 19:04:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:04:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 ) Change subject: pcu: Introduce TC_mt_ping_pong ...................................................................... pcu: Introduce TC_mt_ping_pong Change-Id: I0cbf4ac78e4c89f21b8c2b92eba1783667501e64 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 66 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index ab412c4..a9f60cd 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1199,6 +1199,71 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_fn); } +/* 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. + */ +testcase TC_mt_ping_pong() 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 OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + + /* 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); + + 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; + } + + /* 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); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(dl_block.data.mac_hdr.hdr_ext.tfi, ack_nack_desc), 0, sched_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"); + mtc.stop; + } + ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + if (not ok) { + setverdict(fail, "Immediate Assignment not an Uplink TBF"); + mtc.stop; + } + + /* Send one UL block and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, 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)); +} + /* 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). */ @@ -1437,6 +1502,7 @@ execute( TC_t3169() ); execute( TC_t3193() ); execute( TC_mo_ping_pong() ); + execute( TC_mt_ping_pong() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); execute (TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cbf4ac78e4c89f21b8c2b92eba1783667501e64 Gerrit-Change-Number: 17525 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 Mar 20 19:04:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:04:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mt_ping_pong_with_dl_racap In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 ) Change subject: pcu: Introduce TC_mt_ping_pong_with_dl_racap ...................................................................... pcu: Introduce TC_mt_ping_pong_with_dl_racap Allows checking how pcu parses MS RA Capabilities coming from SGSN. Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 89 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 3149e77..518ca80 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1091,6 +1091,58 @@ } } + private function f_presece_bit_MultislotCap_GPRS_BSSGP(template (omit) MultislotCap_GPRS_BSSGP mscap_gprs) return BIT1 { + if (istemplatekind(mscap_gprs, "omit")) { + return '0'B; + } + return '1'B; + } + private function f_presece_bit_MultislotCap_EGPRS_BSSGP(template (omit) MultislotCap_EGPRS_BSSGP mscap_egprs) return BIT1 { + if (istemplatekind(mscap_egprs, "omit")) { + return '0'B; + } + return '1'B; + } + template (value) MSRACapabilityValuesRecord_BSSGP ts_RaCapRec_BSSGP(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS_BSSGP mscap_gprs := omit, template (omit) MultislotCap_EGPRS_BSSGP 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_presece_bit_MultislotCap_GPRS_BSSGP(mscap_gprs), + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := omit, + presenceBitEgprsmulti := f_presece_bit_MultislotCap_EGPRS_BSSGP(mscap_egprs), + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := '0'B, + multislotCapdtmgprsmultislotsubclass := omit + } + }, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit + } + } + }, + presenceBitMSRACap := '0'B + }; + template QoS_Profile_V t_defaultQos := { peak_Bit_Rate := int2oct(80, 2), precedence := '000'B, @@ -1133,13 +1185,30 @@ cnSpecificDRXCycleLength := '0000'B } - template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu) := { + function ts_BSSGP_IE_MSRAcap_omit(template (omit) MSRadioAccessCapabilityV_BSSGP racap) return template (omit) MS_Radio_Access_Capability { + var template (omit) MS_Radio_Access_Capability ret; + if (istemplatekind(racap, "omit")) { + return omit; + } else { + ret := { + iEI := '00'O, + ext := '1'B, + lengthIndicator := { + length1 := 1 + }, + mSRadioAccessCapabilityV_BSSGP := racap + } + return ret; + } + } + + template PDU_BSSGP ts_BSSGP_DL_UD(GprsTlli tlli, octetstring pdu, template (omit) MSRadioAccessCapabilityV_BSSGP racap := omit) := { pDU_BSSGP_DL_UNITDATA := { bssgpPduType := '00'O, tLLI_current := tlli, qoS_Profile := t_defaultQos, pDU_Lifetime := t_DefaultLifetime(65535), - mS_Radio_Access_Capability := omit, + mS_Radio_Access_Capability := ts_BSSGP_IE_MSRAcap_omit(racap), priority := omit, dRX_Parameters := omit, iMSI := omit, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index a9f60cd..ad89c69 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1202,7 +1202,7 @@ /* 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. */ -testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { +private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1225,7 +1225,7 @@ 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)); + 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); @@ -1264,6 +1264,21 @@ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); } +testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { + f_TC_mt_ping_pong(omit); +} + +/* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS +/* information about the MS */ +testcase TC_mt_ping_pong_with_dl_racap() runs on RAW_PCU_Test_CT { + var MultislotCap_GPRS_BSSGP mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + } ; + var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; + f_TC_mt_ping_pong(ms_racap); +} + /* 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). */ @@ -1503,6 +1518,7 @@ execute( TC_t3193() ); execute( TC_mo_ping_pong() ); execute( TC_mt_ping_pong() ); + execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); execute (TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787 Gerrit-Change-Number: 17526 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 Mar 20 19:06:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Mar 2020 19:06:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 19:06:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 19:38:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:38:00 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test-ranap.c: Fix wrong printf format References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17543 ) Change subject: tests/hnb-test-ranap.c: Fix wrong printf format ...................................................................... tests/hnb-test-ranap.c: Fix wrong printf format Catched by compiler: hnb-test-ranap.c:76:44: warning: format ?%d? expects argument of type ?int?, but argument 3 has type ?RANAP_CN_DomainIndicator_t? {aka ?long int?} [-Wformat=] Change-Id: Ie4cd6a36fd0e9a871a1815d600e8a321a3d2a208 --- M src/tests/hnb-test-ranap.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/43/17543/1 diff --git a/src/tests/hnb-test-ranap.c b/src/tests/hnb-test-ranap.c index e7c9871..517e1a3 100644 --- a/src/tests/hnb-test-ranap.c +++ b/src/tests/hnb-test-ranap.c @@ -73,7 +73,7 @@ ranap_msg->msg.pagingIEs.permanentNAS_UE_ID.choice.iMSI.size); } else imsi[0] = '\0'; - printf("rx Paging: presence=%hx domain=%d IMSI=%s\n", + printf("rx Paging: presence=%hx domain=%ld IMSI=%s\n", ranap_msg->msg.pagingIEs.presenceMask, ranap_msg->msg.pagingIEs.cN_DomainIndicator, imsi -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie4cd6a36fd0e9a871a1815d600e8a321a3d2a208 Gerrit-Change-Number: 17543 Gerrit-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 Mar 20 19:38:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:38:01 +0000 Subject: Change in osmo-iuh[master]: tests/test-ranap.c: Fix wrong printf format References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17544 ) Change subject: tests/test-ranap.c: Fix wrong printf format ...................................................................... tests/test-ranap.c: Fix wrong printf format Caught by compiler: test-ranap.c:54:30: warning: format ?%u? expects argument of type ?unsigned int?, but argument 2 has type ?RANAP_MaxBitrate_t? {aka ?long int?} [-Wformat=] test-ranap.c:78:30: warning: format ?%u? expects argument of type ?unsigned int?, but argument 2 has type ?RANAP_CauseMisc_t? {aka ?long int?} [-Wformat=] Change-Id: Icc4e81beaa35e13aea3adfed983016c78b730061 --- M src/tests/test-ranap.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/44/17544/1 diff --git a/src/tests/test-ranap.c b/src/tests/test-ranap.c index 05be874..423f992 100644 --- a/src/tests/test-ranap.c +++ b/src/tests/test-ranap.c @@ -51,7 +51,7 @@ fprintf(stderr, "Failed\n"); return; } - printf("Encoded MaxBitRate %u to %s\n", mbr, osmo_hexdump(buf, rv.encoded/8)); + printf("Encoded MaxBitRate %ld to %s\n", mbr, osmo_hexdump(buf, rv.encoded/8)); } static void test_aper_causemisc(uint32_t inp, uint8_t exp_enc) @@ -75,7 +75,7 @@ /* test re-decoding */ aper_decode(NULL, &asn_DEF_RANAP_Cause, &c_dec, buf, 1, 0, 0); - printf("Decoded Cause Misc=%u\n", c_dec->choice.misc); + printf("Decoded Cause Misc=%ld\n", c_dec->choice.misc); OSMO_ASSERT(c_dec->present == RANAP_Cause_PR_misc); OSMO_ASSERT(c_dec->choice.misc == inp); ASN_STRUCT_FREE(asn_DEF_RANAP_Cause, c_dec); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icc4e81beaa35e13aea3adfed983016c78b730061 Gerrit-Change-Number: 17544 Gerrit-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 Mar 20 19:38:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:38:01 +0000 Subject: Change in osmo-iuh[master]: Fix compiler warning on signedness of char ptr using OCTET_STRING_fro... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17545 ) Change subject: Fix compiler warning on signedness of char ptr using OCTET_STRING_fromBuf() ...................................................................... Fix compiler warning on signedness of char ptr using OCTET_STRING_fromBuf() rua_msg_factory.c:19:48: warning: pointer targets in passing argument 2 of ?OCTET_STRING_fromBuf? differ in signedness [-Wpointer-sign] Change-Id: Ie0a2e8e11902dc56720ff8121edde0e148fa587a --- M src/hnbgw_hnbap.c M src/rua_msg_factory.c 2 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/45/17545/1 diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c index 2d67219..c118774 100644 --- a/src/hnbgw_hnbap.c +++ b/src/hnbgw_hnbap.c @@ -194,10 +194,10 @@ ue_id->choice.tMSILAI.tMSI.size * 8 - ue_id->choice.tMSILAI.tMSI.bits_unused); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.lAI.pLMNID, - ue_id->choice.tMSILAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.tMSILAI.lAI.pLMNID.buf, ue_id->choice.tMSILAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.lAI.lAC, - ue_id->choice.tMSILAI.lAI.lAC.buf, + (const char *)ue_id->choice.tMSILAI.lAI.lAC.buf, ue_id->choice.tMSILAI.lAI.lAC.size); break; @@ -227,13 +227,13 @@ ue_id->choice.pTMSIRAI.pTMSI.size * 8 - ue_id->choice.pTMSIRAI.pTMSI.bits_unused); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.lAI.pLMNID, - ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.lAI.lAC, - ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.rAC, - ue_id->choice.pTMSIRAI.rAI.rAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.rAC.buf, ue_id->choice.pTMSIRAI.rAI.rAC.size); break; @@ -312,10 +312,10 @@ - ue_id->choice.tMSILAI.tMSI.bits_unused); tmsi = *(uint32_t*)accept.uE_Identity.choice.tMSILAI.tMSI.buf; OCTET_STRING_fromBuf(&accept.uE_Identity.choice.tMSILAI.lAI.pLMNID, - ue_id->choice.tMSILAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.tMSILAI.lAI.pLMNID.buf, ue_id->choice.tMSILAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&accept.uE_Identity.choice.tMSILAI.lAI.lAC, - ue_id->choice.tMSILAI.lAI.lAC.buf, + (const char *)ue_id->choice.tMSILAI.lAI.lAC.buf, ue_id->choice.tMSILAI.lAI.lAC.size); break; @@ -326,13 +326,13 @@ - ue_id->choice.pTMSIRAI.pTMSI.bits_unused); tmsi = *(uint32_t*)accept.uE_Identity.choice.pTMSIRAI.pTMSI.buf; OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.lAI.pLMNID, - ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.lAI.lAC, - ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size); OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.rAC, - ue_id->choice.pTMSIRAI.rAI.rAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.rAC.buf, ue_id->choice.pTMSIRAI.rAI.rAC.size); break; diff --git a/src/rua_msg_factory.c b/src/rua_msg_factory.c index 268f6ac..7a6bebd 100644 --- a/src/rua_msg_factory.c +++ b/src/rua_msg_factory.c @@ -16,7 +16,7 @@ int rc; memset(&ies, 0, sizeof(ies)); - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); msgb_free(inmsg); memset(&out, 0, sizeof(out)); @@ -53,7 +53,7 @@ ies.cN_DomainIndicator = RUA_CN_DomainIndicator_cs_domain; asn1_u24_to_bitstring(&ies.context_ID, &ctxidbuf, context_id); ies.establishment_Cause = RUA_Establishment_Cause_normal_call; - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); msgb_free(inmsg); memset(&out, 0, sizeof(out)); @@ -89,7 +89,7 @@ else ies.cN_DomainIndicator = RUA_CN_DomainIndicator_cs_domain; asn1_u24_to_bitstring(&ies.context_ID, &ctxidbuf, context_id); - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); msgb_free(inmsg); memset(&out, 0, sizeof(out)); @@ -130,7 +130,7 @@ ies.cause.choice.radioNetwork = RUA_CauseRadioNetwork_normal; if (inmsg && inmsg->data&& msgb_length(inmsg)) { ies.presenceMask |= DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT; - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); } msgb_free(inmsg); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie0a2e8e11902dc56720ff8121edde0e148fa587a Gerrit-Change-Number: 17545 Gerrit-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 Mar 20 19:38:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 19:38:01 +0000 Subject: Change in osmo-iuh[master]: hnbgw_vty.c: Drop unusued variables References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17546 ) Change subject: hnbgw_vty.c: Drop unusued variables ...................................................................... hnbgw_vty.c: Drop unusued variables Change-Id: Ic7f730c9f51384006e471b5e8452f5821b458bbf --- M src/hnbgw_vty.c 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/46/17546/1 diff --git a/src/hnbgw_vty.c b/src/hnbgw_vty.c index 84a5f01..f2e51d4 100644 --- a/src/hnbgw_vty.c +++ b/src/hnbgw_vty.c @@ -116,11 +116,10 @@ { struct osmo_ss7_route *rt; struct osmo_ss7_instance *ss7 = osmo_sccp_get_ss7(g_hnb_gw->sccp.client); - int i; #define GUARD(STR) \ STR ? STR : "", \ STR ? ":" : "" - + vty_out(vty, "IuCS: %s <->", osmo_sccp_user_name(g_hnb_gw->sccp.cnlink->sccp_user)); vty_out(vty, " %s%s%s%s", @@ -223,7 +222,6 @@ DEFUN(show_one_hnb, show_one_hnb_cmd, "show hnb NAME ", SHOW_STR "Display information about a HNB") { struct hnb_context *hnb; - int found = 0; const char *identity_info = argv[0]; if (llist_empty(&g_hnb_gw->hnb_list)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic7f730c9f51384006e471b5e8452f5821b458bbf Gerrit-Change-Number: 17546 Gerrit-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 Mar 20 21:23:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:23:49 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test-ranap.c: Fix wrong printf format In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17543 ) Change subject: tests/hnb-test-ranap.c: Fix wrong printf format ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie4cd6a36fd0e9a871a1815d600e8a321a3d2a208 Gerrit-Change-Number: 17543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Mar 2020 21: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 Mar 20 21:23:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:23:59 +0000 Subject: Change in osmo-iuh[master]: tests/test-ranap.c: Fix wrong printf format In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17544 ) Change subject: tests/test-ranap.c: Fix wrong printf format ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icc4e81beaa35e13aea3adfed983016c78b730061 Gerrit-Change-Number: 17544 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Mar 2020 21:23: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 Mar 20 21:24:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:24:18 +0000 Subject: Change in osmo-iuh[master]: Fix compiler warning on signedness of char ptr using OCTET_STRING_fro... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17545 ) Change subject: Fix compiler warning on signedness of char ptr using OCTET_STRING_fromBuf() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie0a2e8e11902dc56720ff8121edde0e148fa587a Gerrit-Change-Number: 17545 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Mar 2020 21:24: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 Mar 20 21:24:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:24:32 +0000 Subject: Change in osmo-iuh[master]: hnbgw_vty.c: Drop unusued variables In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17546 ) Change subject: hnbgw_vty.c: Drop unusued variables ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic7f730c9f51384006e471b5e8452f5821b458bbf Gerrit-Change-Number: 17546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Mar 2020 21:24: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 Mar 20 21:24:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:24:35 +0000 Subject: Change in osmo-iuh[master]: tests/hnb-test-ranap.c: Fix wrong printf format In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17543 ) Change subject: tests/hnb-test-ranap.c: Fix wrong printf format ...................................................................... tests/hnb-test-ranap.c: Fix wrong printf format Catched by compiler: hnb-test-ranap.c:76:44: warning: format ?%d? expects argument of type ?int?, but argument 3 has type ?RANAP_CN_DomainIndicator_t? {aka ?long int?} [-Wformat=] Change-Id: Ie4cd6a36fd0e9a871a1815d600e8a321a3d2a208 --- M src/tests/hnb-test-ranap.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/tests/hnb-test-ranap.c b/src/tests/hnb-test-ranap.c index e7c9871..517e1a3 100644 --- a/src/tests/hnb-test-ranap.c +++ b/src/tests/hnb-test-ranap.c @@ -73,7 +73,7 @@ ranap_msg->msg.pagingIEs.permanentNAS_UE_ID.choice.iMSI.size); } else imsi[0] = '\0'; - printf("rx Paging: presence=%hx domain=%d IMSI=%s\n", + printf("rx Paging: presence=%hx domain=%ld IMSI=%s\n", ranap_msg->msg.pagingIEs.presenceMask, ranap_msg->msg.pagingIEs.cN_DomainIndicator, imsi -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie4cd6a36fd0e9a871a1815d600e8a321a3d2a208 Gerrit-Change-Number: 17543 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 Mar 20 21:24:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:24:36 +0000 Subject: Change in osmo-iuh[master]: tests/test-ranap.c: Fix wrong printf format In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17544 ) Change subject: tests/test-ranap.c: Fix wrong printf format ...................................................................... tests/test-ranap.c: Fix wrong printf format Caught by compiler: test-ranap.c:54:30: warning: format ?%u? expects argument of type ?unsigned int?, but argument 2 has type ?RANAP_MaxBitrate_t? {aka ?long int?} [-Wformat=] test-ranap.c:78:30: warning: format ?%u? expects argument of type ?unsigned int?, but argument 2 has type ?RANAP_CauseMisc_t? {aka ?long int?} [-Wformat=] Change-Id: Icc4e81beaa35e13aea3adfed983016c78b730061 --- M src/tests/test-ranap.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/tests/test-ranap.c b/src/tests/test-ranap.c index 05be874..423f992 100644 --- a/src/tests/test-ranap.c +++ b/src/tests/test-ranap.c @@ -51,7 +51,7 @@ fprintf(stderr, "Failed\n"); return; } - printf("Encoded MaxBitRate %u to %s\n", mbr, osmo_hexdump(buf, rv.encoded/8)); + printf("Encoded MaxBitRate %ld to %s\n", mbr, osmo_hexdump(buf, rv.encoded/8)); } static void test_aper_causemisc(uint32_t inp, uint8_t exp_enc) @@ -75,7 +75,7 @@ /* test re-decoding */ aper_decode(NULL, &asn_DEF_RANAP_Cause, &c_dec, buf, 1, 0, 0); - printf("Decoded Cause Misc=%u\n", c_dec->choice.misc); + printf("Decoded Cause Misc=%ld\n", c_dec->choice.misc); OSMO_ASSERT(c_dec->present == RANAP_Cause_PR_misc); OSMO_ASSERT(c_dec->choice.misc == inp); ASN_STRUCT_FREE(asn_DEF_RANAP_Cause, c_dec); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Icc4e81beaa35e13aea3adfed983016c78b730061 Gerrit-Change-Number: 17544 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 Mar 20 21:24:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:24:36 +0000 Subject: Change in osmo-iuh[master]: Fix compiler warning on signedness of char ptr using OCTET_STRING_fro... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17545 ) Change subject: Fix compiler warning on signedness of char ptr using OCTET_STRING_fromBuf() ...................................................................... Fix compiler warning on signedness of char ptr using OCTET_STRING_fromBuf() rua_msg_factory.c:19:48: warning: pointer targets in passing argument 2 of ?OCTET_STRING_fromBuf? differ in signedness [-Wpointer-sign] Change-Id: Ie0a2e8e11902dc56720ff8121edde0e148fa587a --- M src/hnbgw_hnbap.c M src/rua_msg_factory.c 2 files changed, 14 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c index 2d67219..c118774 100644 --- a/src/hnbgw_hnbap.c +++ b/src/hnbgw_hnbap.c @@ -194,10 +194,10 @@ ue_id->choice.tMSILAI.tMSI.size * 8 - ue_id->choice.tMSILAI.tMSI.bits_unused); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.lAI.pLMNID, - ue_id->choice.tMSILAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.tMSILAI.lAI.pLMNID.buf, ue_id->choice.tMSILAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.tMSILAI.lAI.lAC, - ue_id->choice.tMSILAI.lAI.lAC.buf, + (const char *)ue_id->choice.tMSILAI.lAI.lAC.buf, ue_id->choice.tMSILAI.lAI.lAC.size); break; @@ -227,13 +227,13 @@ ue_id->choice.pTMSIRAI.pTMSI.size * 8 - ue_id->choice.pTMSIRAI.pTMSI.bits_unused); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.lAI.pLMNID, - ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.lAI.lAC, - ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size); OCTET_STRING_fromBuf(&reject.uE_Identity.choice.pTMSIRAI.rAI.rAC, - ue_id->choice.pTMSIRAI.rAI.rAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.rAC.buf, ue_id->choice.pTMSIRAI.rAI.rAC.size); break; @@ -312,10 +312,10 @@ - ue_id->choice.tMSILAI.tMSI.bits_unused); tmsi = *(uint32_t*)accept.uE_Identity.choice.tMSILAI.tMSI.buf; OCTET_STRING_fromBuf(&accept.uE_Identity.choice.tMSILAI.lAI.pLMNID, - ue_id->choice.tMSILAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.tMSILAI.lAI.pLMNID.buf, ue_id->choice.tMSILAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&accept.uE_Identity.choice.tMSILAI.lAI.lAC, - ue_id->choice.tMSILAI.lAI.lAC.buf, + (const char *)ue_id->choice.tMSILAI.lAI.lAC.buf, ue_id->choice.tMSILAI.lAI.lAC.size); break; @@ -326,13 +326,13 @@ - ue_id->choice.pTMSIRAI.pTMSI.bits_unused); tmsi = *(uint32_t*)accept.uE_Identity.choice.pTMSIRAI.pTMSI.buf; OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.lAI.pLMNID, - ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.buf, ue_id->choice.pTMSIRAI.rAI.lAI.pLMNID.size); OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.lAI.lAC, - ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.lAI.lAC.buf, ue_id->choice.pTMSIRAI.rAI.lAI.lAC.size); OCTET_STRING_fromBuf(&accept.uE_Identity.choice.pTMSIRAI.rAI.rAC, - ue_id->choice.pTMSIRAI.rAI.rAC.buf, + (const char *)ue_id->choice.pTMSIRAI.rAI.rAC.buf, ue_id->choice.pTMSIRAI.rAI.rAC.size); break; diff --git a/src/rua_msg_factory.c b/src/rua_msg_factory.c index 268f6ac..7a6bebd 100644 --- a/src/rua_msg_factory.c +++ b/src/rua_msg_factory.c @@ -16,7 +16,7 @@ int rc; memset(&ies, 0, sizeof(ies)); - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); msgb_free(inmsg); memset(&out, 0, sizeof(out)); @@ -53,7 +53,7 @@ ies.cN_DomainIndicator = RUA_CN_DomainIndicator_cs_domain; asn1_u24_to_bitstring(&ies.context_ID, &ctxidbuf, context_id); ies.establishment_Cause = RUA_Establishment_Cause_normal_call; - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); msgb_free(inmsg); memset(&out, 0, sizeof(out)); @@ -89,7 +89,7 @@ else ies.cN_DomainIndicator = RUA_CN_DomainIndicator_cs_domain; asn1_u24_to_bitstring(&ies.context_ID, &ctxidbuf, context_id); - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); msgb_free(inmsg); memset(&out, 0, sizeof(out)); @@ -130,7 +130,7 @@ ies.cause.choice.radioNetwork = RUA_CauseRadioNetwork_normal; if (inmsg && inmsg->data&& msgb_length(inmsg)) { ies.presenceMask |= DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT; - OCTET_STRING_fromBuf(&ies.ranaP_Message, inmsg->data, msgb_length(inmsg)); + OCTET_STRING_fromBuf(&ies.ranaP_Message, (const char *)inmsg->data, msgb_length(inmsg)); } msgb_free(inmsg); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ie0a2e8e11902dc56720ff8121edde0e148fa587a Gerrit-Change-Number: 17545 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 Mar 20 21:24:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:24:36 +0000 Subject: Change in osmo-iuh[master]: hnbgw_vty.c: Drop unusued variables In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17546 ) Change subject: hnbgw_vty.c: Drop unusued variables ...................................................................... hnbgw_vty.c: Drop unusued variables Change-Id: Ic7f730c9f51384006e471b5e8452f5821b458bbf --- M src/hnbgw_vty.c 1 file changed, 1 insertion(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/hnbgw_vty.c b/src/hnbgw_vty.c index 84a5f01..f2e51d4 100644 --- a/src/hnbgw_vty.c +++ b/src/hnbgw_vty.c @@ -116,11 +116,10 @@ { struct osmo_ss7_route *rt; struct osmo_ss7_instance *ss7 = osmo_sccp_get_ss7(g_hnb_gw->sccp.client); - int i; #define GUARD(STR) \ STR ? STR : "", \ STR ? ":" : "" - + vty_out(vty, "IuCS: %s <->", osmo_sccp_user_name(g_hnb_gw->sccp.cnlink->sccp_user)); vty_out(vty, " %s%s%s%s", @@ -223,7 +222,6 @@ DEFUN(show_one_hnb, show_one_hnb_cmd, "show hnb NAME ", SHOW_STR "Display information about a HNB") { struct hnb_context *hnb; - int found = 0; const char *identity_info = argv[0]; if (llist_empty(&g_hnb_gw->hnb_list)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic7f730c9f51384006e471b5e8452f5821b458bbf Gerrit-Change-Number: 17546 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 Mar 20 21:25:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:25:47 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 20 Mar 2020 21:25:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 20 21:25:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Mar 2020 21:25:50 +0000 Subject: Change in osmo-bsc[master]: main: exit on mutually exclusive codecs settings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17491 ) Change subject: main: exit on mutually exclusive codecs settings ...................................................................... main: exit on mutually exclusive codecs settings Refuse to start with mutually exclusive codec settings, unless allow-unusable-timeslots is set in the network section of the config. The checks were already implemented and fill the error log if the config is invalid. Related: OS#3739 Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 3 files changed, 28 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 040e36d..5afc2cf 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1608,6 +1608,9 @@ /* Remote BSS Cell Identifier Lists */ struct neighbor_ident_list *neighbor_bss_cells; + + /* Don't refuse to start with mutually exclusive codec settings */ + bool allow_unusable_timeslots; }; struct gsm_audio_support { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index dd157c0..39adb21 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1092,6 +1092,9 @@ meas_scenario, VTY_NEWLINE); } + if (gsmnet->allow_unusable_timeslots) + vty_out(vty, " allow-unusable-timeslots%s", VTY_NEWLINE); + return CMD_SUCCESS; } @@ -5209,6 +5212,17 @@ return osmo_tdef_vty_set_cmd(vty, net->T_defs, argv); } +DEFUN(cfg_net_allow_unusable_timeslots, cfg_net_allow_unusable_timeslots_cmd, + "allow-unusable-timeslots", + "Don't refuse to start with mutually exclusive codec settings\n") +{ + struct gsm_network *net = gsmnet_from_vty(vty); + net->allow_unusable_timeslots = true; + LOGP(DMSC, LOGL_ERROR, "Configuration contains 'allow-unusable-timeslots'. OsmoBSC will start up even if the" + " configuration has unusable codec settings!\n"); + return CMD_SUCCESS; +} + extern int bsc_vty_init_extra(void); int bsc_vty_init(struct gsm_network *network) @@ -5254,6 +5268,7 @@ install_element(GSMNET_NODE, &cfg_net_meas_feed_dest_cmd); install_element(GSMNET_NODE, &cfg_net_meas_feed_scenario_cmd); install_element(GSMNET_NODE, &cfg_net_timer_cmd); + install_element(GSMNET_NODE, &cfg_net_allow_unusable_timeslots_cmd); install_element_ve(&bsc_show_net_cmd); install_element_ve(&show_bts_cmd); diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 66310b3..bf68c9b 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -902,8 +902,16 @@ } rc = check_codec_pref(&bsc_gsmnet->bsc_data->mscs); - if (rc < 0) - LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check configuration!\n"); + if (rc < 0) { + LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check" + " configuration!\n"); + if (!bsc_gsmnet->allow_unusable_timeslots) { + LOGP(DMSC, LOGL_ERROR, "You should really fix that! However, you can prevent OsmoBSC from" + " stopping here by setting 'allow-unusable-timeslots' in the 'network'" + " section of the config.\n"); + exit(1); + } + } llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { if (osmo_bsc_msc_init(msc) != 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3ccfc3b0a8641400cb97a23b24d7ed92d2ad25cd Gerrit-Change-Number: 17491 Gerrit-PatchSet: 5 Gerrit-Owner: osmith 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 Mar 20 23:00:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Mar 2020 23:00:27 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: free allocated bitvectors References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17547 ) Change subject: tests/RLCMACTest: free allocated bitvectors ...................................................................... tests/RLCMACTest: free allocated bitvectors Change-Id: I6d1e93cb1a07a7bf05483dbc877105a86a17829b --- M tests/rlcmac/RLCMACTest.cpp 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/47/17547/1 diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index bd5da4c..e62d6e4 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -278,6 +278,9 @@ printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); rc = decode_gsm_ra_cap(bv_dec, &data); printf("decode_gsm_ra_cap() returns %d\n", rc); + + bitvec_free(bv_dec); + bitvec_free(bv_enc); } int main(int argc, char *argv[]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6d1e93cb1a07a7bf05483dbc877105a86a17829b Gerrit-Change-Number: 17547 Gerrit-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 Mar 21 00:08:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 21 Mar 2020 00:08:11 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: free allocated bitvectors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17547 ) Change subject: tests/RLCMACTest: free allocated bitvectors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6d1e93cb1a07a7bf05483dbc877105a86a17829b Gerrit-Change-Number: 17547 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 21 Mar 2020 00:08: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 Mar 21 00:27:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 00:27:00 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: Several fixes and improvements to RAcap tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17549 ) Change subject: tests/RLCMACTest: Several fixes and improvements to RAcap tests ...................................................................... tests/RLCMACTest: Several fixes and improvements to RAcap tests It was recently discovered that the Racap value used for testRAcap was actually malformed (it was taken from a TTCN3 test). It had the presence bit for "EGPRS multislot class" set but no struct was put after it. So let's move that malformed value to a new test named testMalformedRAcap(). Since it doesn't make sense trying to re-encode or do similar things with an initially malformed value, let's drop all those parts in this new test. For the old testRAcap() test, use a new bitstream this time with the "EGPRS multoslot class" struct set inside (class 3). Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 --- M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 91 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/49/17549/1 diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index e62d6e4..6529d4d 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -219,12 +219,79 @@ void testRAcap(void *test_ctx) { + printf("*** %s ***\n", __func__); + MS_Radio_Access_capability_t data; + memset(&data, 0, sizeof(data)); + bitvec *bv_dec = bitvec_alloc(23, test_ctx); + bitvec *bv_enc = bitvec_alloc(23, test_ctx); + unsigned int len_dec, len_enc; + int rc; +/* +MS RA capability 1 + 0001 .... = Access Technology Type: GSM E --note that GSM E covers GSM P (1) + .... 0011 011. .... = Length in bits: 0x1b (27) + ...0 01.. RF Power Capability, GMSK Power Class: Not specified (1) + A5 Bits: Same values apply for parameters as in the immediately preceding Access capabilities field within this IE (0) + .... ...1 = Controlled early Classmark Sending: Implemented + 0... .... = Pseudo Synchronisation: Not Present + .0.. .... = Voice Group Call Service: no VGCS capability or no notifications wanted + ..0. .... = Voice Broadcast Service: no VBS capability or no notifications wanted + ...1 .... = Multislot capability struct: Present + HSCSD multislot class: Bits are not available (0) + SMS_VALUE (Switch-Measure-Switch): Bits are not available (0) + ECSD multislot class: Bits are not available (0) + DTM GPRS Multi Slot Class: Bits are not available (0) + .... ..00 011. .... = GPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) + ...0 .... = GPRS Extended Dynamic Allocation Capability: Not Implemented + .... ...0 0011 .... = EGPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) + .... 0... = EGPRS Extended Dynamic Allocation Capability: Not Implemented +*/ + bitvec_unhex(bv_dec, "1365146230"); + + printf("=== Test decoding of MS RA Capability ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); + OSMO_ASSERT(rc == 0); + + /* Make sure there's 1 value (currently fails due to failed decoding) */ + OSMO_ASSERT(data.Count_MS_RA_capability_value == 1); + + /* Make sure GPRS / EGPRS multislot class is parsed correctly */ + printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); + printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); + + /* Test encoding of decoded MS RA Capability */ + printf("=== Test encoding of MS RA Capability ===\n"); + rc = encode_gsm_ra_cap(bv_enc, &data); + printf("encode_gsm_ra_cap() returns %d\n", rc); + + bv_dec->cur_bit = 4; + len_dec = bitvec_get_uint(bv_dec, 7); + bv_enc->cur_bit = 4; + len_enc = bitvec_get_uint(bv_enc, 7); + + /* NOTE: vector2 is expected to be different because there is actually no + * way to distinguish between NULL and 0 in MS_Radio_Access_capability_t. + * The difference is in length indicator: 27 bits vs 65 bits. */ + printf("vector1 (len_ind=%u) = %s\n", len_dec, osmo_hexdump(bv_dec->data, bv_dec->data_len)); + printf("vector2 (len_ind=%u) = %s\n", len_enc, osmo_hexdump(bv_enc->data, bv_enc->data_len)); + + /* Mangle the length indicator (set it to 21) */ + unsigned int writeIndex = 4; + rc = bitvec_write_field(bv_dec, &writeIndex, 21, 7); + OSMO_ASSERT(rc == 0); + + /* Make sure decoding attempt fails */ + printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); + printf("decode_gsm_ra_cap() returns %d\n", rc); +} + +void testMalformedRAcap(void *test_ctx) +{ printf("*** %s ***\n", __func__); MS_Radio_Access_capability_t data; memset(&data, 0, sizeof(data)); bitvec *bv_dec = bitvec_alloc(23, test_ctx); - bitvec *bv_enc = bitvec_alloc(23, test_ctx); - unsigned int len_dec, len_enc; int rc; /* MS RA capability 1 @@ -239,48 +306,26 @@ ...1 .... = Multislot capability struct: Present .... ..00 011. .... = GPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) ...0 .... = GPRS Extended Dynamic Allocation Capability: Not Implemented + + It doesn't show up in wireshark's tree above because specific parser is + used, but this RA Cap bitstream has Exist_EGPRS_multislot_class = 1 but + it provides no struct with the expected data (malformed, generated + erroneusly through TTCN3). The CSN.1 dceoder should ideally return an + error here, but it doesn't (it returns a >0 value which we convert to 0 + in decode_gsm_ra_cap()). */ bitvec_unhex(bv_dec, "13a5146200"); printf("=== Test decoding of MS RA Capability ===\n"); rc = decode_gsm_ra_cap(bv_dec, &data); + printf("decode_gsm_ra_cap() returns %d\n", rc); OSMO_ASSERT(rc == 0); - /* Make sure there's 1 value (currently fails due to failed decoding) */ + /* For sake of completeness, check if the decoder could find 1 value + before failing to decode it */ OSMO_ASSERT(data.Count_MS_RA_capability_value == 1); - /* Make sure GPRS / EGPRS multislot class is parsed correctly */ - printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); - printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); - - /* Test encoding of decoded MS RA Capability */ - printf("=== Test encoding of MS RA Capability ===\n"); - rc = encode_gsm_ra_cap(bv_enc, &data); - printf("encode_gsm_ra_cap() returns %d\n", rc); - - bv_dec->cur_bit = 4; - len_dec = bitvec_get_uint(bv_dec, 7); - bv_enc->cur_bit = 4; - len_enc = bitvec_get_uint(bv_enc, 7); - - /* NOTE: vector2 is expected to be different because there is actually no - * way to distinguish between NULL and 0 in MS_Radio_Access_capability_t. - * The difference is in length indicator: 29 bits vs 65 bits. */ - printf("vector1 (len_ind=%u) = %s\n", len_dec, osmo_hexdump(bv_dec->data, bv_dec->data_len)); - printf("vector2 (len_ind=%u) = %s\n", len_enc, osmo_hexdump(bv_enc->data, bv_enc->data_len)); - - /* Mangle the length indicator (set it to 21) */ - unsigned int writeIndex = 4; - rc = bitvec_write_field(bv_dec, &writeIndex, 21, 7); - OSMO_ASSERT(rc == 0); - - /* Make sure decoding attempt fails */ - printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); - rc = decode_gsm_ra_cap(bv_dec, &data); - printf("decode_gsm_ra_cap() returns %d\n", rc); - bitvec_free(bv_dec); - bitvec_free(bv_enc); } int main(int argc, char *argv[]) @@ -300,5 +345,6 @@ testRlcMacUplink(ctx); testCsnLeftAlignedVarBmpBounds(ctx); testRAcap(ctx); + testMalformedRAcap(ctx); talloc_free(ctx); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 13418ee..4434d9b 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -32,8 +32,10 @@ DCSN1 INFO csnStreamDecoder (type=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=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=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 = 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 } | -DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec -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 = 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 = 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 } | +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 } | +DRLCMACDATA NOTICE Got 145 remaining bits unhandled by decoder at the end of bitvec +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 } | DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) 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 } | +DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 89e07ec..ffcaeb3 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -134,10 +134,13 @@ *** testRAcap *** === Test decoding of MS RA Capability === GPRS multislot class = 3 -EGPRS multislot class = 0 +EGPRS multislot class = 3 === Test encoding of MS RA Capability === encode_gsm_ra_cap() returns -5 -vector1 (len_ind=29) = 13 a5 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -vector2 (len_ind=65) = 18 25 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector1 (len_ind=27) = 13 65 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector2 (len_ind=65) = 18 25 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 === Test decoding of a malformed vector (short length indicator) === decode_gsm_ra_cap() returns -5 +*** testMalformedRAcap *** +=== Test decoding of MS RA Capability === +decode_gsm_ra_cap() returns 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 Gerrit-Change-Number: 17549 Gerrit-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 Mar 21 00:57:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 00:57:33 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Reproduce and fix stack smashing bug receiving RA cap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17548 ) Change subject: rlcmac: Reproduce and fix stack smashing bug receiving RA cap ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 00:57: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 Mar 21 01:03:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 01:03:24 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: free allocated bitvectors In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17547 ) Change subject: tests/RLCMACTest: free allocated bitvectors ...................................................................... tests/RLCMACTest: free allocated bitvectors Change-Id: I6d1e93cb1a07a7bf05483dbc877105a86a17829b --- M tests/rlcmac/RLCMACTest.cpp 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index bd5da4c..e62d6e4 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -278,6 +278,9 @@ printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); rc = decode_gsm_ra_cap(bv_dec, &data); printf("decode_gsm_ra_cap() returns %d\n", rc); + + bitvec_free(bv_dec); + bitvec_free(bv_enc); } int main(int argc, char *argv[]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6d1e93cb1a07a7bf05483dbc877105a86a17829b Gerrit-Change-Number: 17547 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 Sat Mar 21 01:45:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 21 Mar 2020 01:45:37 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Reproduce and fix stack smashing bug receiving RA cap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17548 ) Change subject: rlcmac: Reproduce and fix stack smashing bug receiving RA cap ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17548/3/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17548/3/src/gsm_rlcmac.h at 1230 PS3, Line 1230: ABSOLUTE_MAX_BANDS BTW, where this limitation is coming from? Any spec. references? I see 15 different bands in AccessTechnology_t. What if a phone would send us 4? OsmoPCU would crash again :/ https://gerrit.osmocom.org/c/osmo-pcu/+/17548/3/tests/rlcmac/RLCMACTest.cpp File tests/rlcmac/RLCMACTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17548/3/tests/rlcmac/RLCMACTest.cpp at 457 PS3, Line 457: decoding of MS RA Capability Please concretise that this is multi-RAT (or multi-band) MS RA Capability. Otherwise the logs are looking confusing: === Test decoding of MS RA Capability === ... === Test decoding of MS RA Capability === ... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 21 Mar 2020 01:45: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 Sat Mar 21 10:31:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 10:31:56 +0000 Subject: Change in libosmocore[master]: sim: card_fs_usim.c: Fix FID of EF.EXT4 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17550 ) Change subject: sim: card_fs_usim.c: Fix FID of EF.EXT4 ...................................................................... sim: card_fs_usim.c: Fix FID of EF.EXT4 The 3GPP spec document also contains this error at one point, and it seems I copied it from there :/ Change-Id: I7ad9f491c06f6540747b77017678ee37e6a1550d --- M src/sim/card_fs_usim.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/17550/1 diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index 9e9fc87..3b33c0f 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -161,7 +161,7 @@ "Key for hidden phone book entries"), EF_LIN_FIX_N(0x6F4D, SFI_NONE, "EF.BDN", F_OPTIONAL, 15, 32, "Barred Dialling Numbers"), - EF_LIN_FIX_N(0x6F4E, SFI_NONE, "EF.EXT4", F_OPTIONAL, 13, 13, + EF_LIN_FIX_N(0x6F55, SFI_NONE, "EF.EXT4", F_OPTIONAL, 13, 13, "Extension 4"), EF_LIN_FIX_N(0x6F58, SFI_NONE, "EF.CMI", F_OPTIONAL, 2, 16, "Comparison Method Information"), -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7ad9f491c06f6540747b77017678ee37e6a1550d Gerrit-Change-Number: 17550 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 Mar 21 10:31:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 10:31:57 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Use stderr for error messages References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17551 ) Change subject: osmo-sim-test: Use stderr for error messages ...................................................................... osmo-sim-test: Use stderr for error messages Change-Id: I8f36b07b8601af2b0d54d95c3c6374d6c54bafd1 --- M utils/osmo-sim-test.c 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/51/17551/1 diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 27de0bc..2bf83fa 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -326,25 +326,25 @@ msg = select_file(chan, fid); if (!msg) { - printf("Unable to select file\n"); + fprintf(stderr, "Unable to select file\n"); return -EIO; } printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); if (msgb_apdu_sw(msg) != 0x9000) { - printf("status 0x%04x selecting file\n", msgb_apdu_sw(msg)); + fprintf(stderr, "status 0x%04x selecting file\n", msgb_apdu_sw(msg)); goto out; } if (g_class != 0xA0) { rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0); if (rc < 0) { - printf("Unable to parse FCP: %s\n", msgb_hexdump(msg)); + fprintf(stderr, "Unable to parse FCP: %s\n", msgb_hexdump(msg)); goto out; } if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_DESC) || TLVP_LEN(&tp, UICC_FCP_T_FILE_DESC) < 2) { - printf("No file descriptor present ?!?\n"); + fprintf(stderr, "No file descriptor present ?!?\n"); goto out; } @@ -355,12 +355,12 @@ } if (rc < 0) { - printf("Unable to decode File Descriptor\n"); + fprintf(stderr, "Unable to decode File Descriptor\n"); goto out; } if (ffdd.type != TYPE_EF) { - printf("File Type != EF\n"); + fprintf(stderr, "File Type != EF\n"); goto out; } @@ -384,7 +384,7 @@ i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); printf("File size: %d bytes\n", i); } else { - printf("Can not determine file size, invalid EF-type!\n"); + fprintf(stderr, "Can not determine file size, invalid EF-type!\n"); goto out; } for (offset = 0; offset < i-1; ) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f36b07b8601af2b0d54d95c3c6374d6c54bafd1 Gerrit-Change-Number: 17551 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 Mar 21 10:31:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 10:31:58 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: don't print SW in successful case of dump_file() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17552 ) Change subject: osmo-sim-test: don't print SW in successful case of dump_file() ...................................................................... osmo-sim-test: don't print SW in successful case of dump_file() Change-Id: Ie5a58a89052400d76a8607a2e0063917385beb25 --- M utils/osmo-sim-test.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/52/17552/1 diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 2bf83fa..4c704f6 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -329,7 +329,6 @@ fprintf(stderr, "Unable to select file\n"); return -EIO; } - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); if (msgb_apdu_sw(msg) != 0x9000) { fprintf(stderr, "status 0x%04x selecting file\n", msgb_apdu_sw(msg)); goto out; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie5a58a89052400d76a8607a2e0063917385beb25 Gerrit-Change-Number: 17552 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 Mar 21 13:17:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 13:17:11 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Optionally dump card files to host filesystem References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17553 ) Change subject: osmo-sim-test: Optionally dump card files to host filesystem ...................................................................... osmo-sim-test: Optionally dump card files to host filesystem Using the new '--output-dir' command line argument, the user can instruct osmo-sim-test to dump the file content to a local directory. osmo-sim-test will create one sub-directory per DF, and create a text file for each EF. The contents of the text files are a hexdump of the contents. Transparent EF are dumped as one line of hex, while linear fixed EF are dumped as one record per line, i.e. the number of lines corresponds to the number of records. Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c --- M utils/osmo-sim-test.c 1 file changed, 96 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/17553/1 diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 4c704f6..a6ecfcf 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -1,5 +1,5 @@ /* libosmosim test application - currently simply dumps a USIM */ -/* (C) 2012 by Harald Welte +/* (C) 2012-2020 by Harald Welte * All Rights Reserved * * This program is free software; you can redistribute it and/or modify @@ -25,6 +25,12 @@ #include #include +#include +#include +#include +#include +#include + #include #include #include @@ -34,6 +40,7 @@ /* FIXME: this needs to be moved to card_fs_uicc.c */ static uint8_t g_class = 0x00; /* UICC/USIM */ +static const char *g_output_dir; /* 11.1.1 */ static struct msgb *_select_file(struct osim_chan_hdl *st, uint8_t p1, uint8_t p2, @@ -317,13 +324,15 @@ return NULL; } -static int dump_file(struct osim_chan_hdl *chan, uint16_t fid) +static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid) { struct tlv_parsed tp; struct osim_fcp_fd_decoded ffdd; struct msgb *msg, *rmsg; int rc, i, offset; + FILE *f_data = NULL; + /* Select the file */ msg = select_file(chan, fid); if (!msg) { fprintf(stderr, "Unable to select file\n"); @@ -363,23 +372,41 @@ goto out; } + if (g_output_dir) { + f_data = fopen(short_name, "w"); + if (!f_data) { + fprintf(stderr, "Couldn't create '%s': %s\n", short_name, strerror(errno)); + goto out; + } + } + printf("EF type: %u\n", ffdd.ef_type); switch (ffdd.ef_type) { case EF_TYPE_RECORD_FIXED: for (i = 0; i < ffdd.num_rec; i++) { + const char *hex; rmsg = read_record_nr(chan, i+1, ffdd.rec_len); - if (!rmsg) + if (!rmsg) { + if (f_data) + fclose(f_data); return -EIO; + } printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); - printf("Rec %03u: %s\n", i+1, - osmo_hexdump(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg))); + + hex = osmo_hexdump_nospc(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg)); + printf("Rec %03u: %s\n", i+1, hex); + if (f_data) + fprintf(f_data, "%s\n", hex); } break; case EF_TYPE_TRANSP: if (g_class != 0xA0) { - if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) + if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) { + if (f_data) + fclose(f_data); goto out; + } i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); printf("File size: %d bytes\n", i); } else { @@ -389,12 +416,18 @@ for (offset = 0; offset < i-1; ) { uint16_t remain_len = i - offset; uint16_t read_len = OSMO_MIN(remain_len, 256); + const char *hex; rmsg = read_binary(chan, offset, read_len); - if (!rmsg) + if (!rmsg) { + if (f_data) + fclose(f_data); return -EIO; + } offset += read_len; - printf("Content: %s\n", - osmo_hexdump(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg))); + hex = osmo_hexdump_nospc(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg)); + printf("Content: %s\n", hex); + if (f_data) + fprintf(f_data, "%s", hex); } break; default: @@ -402,8 +435,11 @@ } out: + if (f_data) + fclose(f_data); msgb_free(msg); return -EINVAL; + } static void print_help(void) @@ -423,10 +459,11 @@ const struct option long_options[] = { { "help", 0, 0, 'h' }, { "reader-num", 1, 0, 'n' }, + { "output-dir", 1, 0, 'o' }, {0,0,0,0} }; - c = getopt_long(argc, argv, "hn:", + c = getopt_long(argc, argv, "hn:o:", long_options, &option_index); if (c == -1) break; @@ -439,6 +476,9 @@ case 'n': readernum = atoi(optarg); break; + case 'o': + g_output_dir = optarg; + break; default: exit(2); break; @@ -452,6 +492,22 @@ } +static void mkdir_and_chdir(const char *name, mode_t mode) +{ + int rc; + rc = mkdir(name, mode); + if (rc < 0) { + fprintf(stderr, "Cannot create '%s': %s\n", name, strerror(errno)); + exit(24); + } + rc = chdir(name); + if (rc < 0) { + fprintf(stderr, "Cannot change to just-created '%s': %s\n", name, strerror(errno)); + exit(24); + } +} + + static void iterate_fs(struct osim_chan_hdl *chan) { const struct osim_file_desc *prev_cwd; @@ -460,6 +516,8 @@ /* iterate over all files in current working directory */ llist_for_each_entry(ofd, &chan->cwd->child_list, list) { struct msgb *m; + char prev_dir[PATH_MAX]; + printf("\n\n================ %s (%s) ==================\n", ofd->short_name, ofd->long_name); @@ -477,12 +535,22 @@ /* the select above has just changed into this directory */ prev_cwd = chan->cwd; chan->cwd = ofd; + if (g_output_dir) { + if (!getcwd(prev_dir, sizeof(prev_dir))) { + fprintf(stderr, "Cannot determine cwd: %s\n", strerror(errno)); + exit(23); + continue; + } + mkdir_and_chdir(ofd->short_name, 0750); + } iterate_fs(chan); /* "pop" the directory from the stack */ chan->cwd = prev_cwd; + if (g_output_dir) + OSMO_ASSERT(chdir("..") == 0); break; default: - dump_file(chan, ofd->fid); + dump_file(chan, ofd->short_name, ofd->fid); break; } } @@ -498,6 +566,22 @@ handle_options(argc, argv); + if (g_output_dir) { + int rc; + rc = mkdir(g_output_dir, 0750); + if (rc < 0) { + fprintf(stderr, "Cannot create directory '%s': %s\n", g_output_dir, + strerror(errno)); + exit(5); + } + rc = chdir(g_output_dir); + if (rc < 0) { + fprintf(stderr, "Cannot change to just-created directory '%s': %s\n", + g_output_dir, strerror(errno)); + exit(5); + } + } + reader = osim_reader_open(OSIM_READER_DRV_PCSC, readernum, "", NULL); if (!reader) exit(1); @@ -521,6 +605,7 @@ /* normal file */ dump_fcp_template_msg(msg); msgb_free(msg); + mkdir_and_chdir("ADF_USIM", 0750); } msg = select_file(chan, 0x6fc5); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c Gerrit-Change-Number: 17553 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 Mar 21 13:17:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 13:17:11 +0000 Subject: Change in libosmocore[master]: sim: add osim_file_desc_find_aid() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17554 ) Change subject: sim: add osim_file_desc_find_aid() ...................................................................... sim: add osim_file_desc_find_aid() Change-Id: I80468c8c4f4590c262019f42285e8d8fd3444f7f --- M TODO-RELEASE M include/osmocom/sim/sim.h M src/sim/core.c 3 files changed, 21 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/54/17554/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 329e217..4145300 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,4 +7,5 @@ # 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 -gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param \ No newline at end of file +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() diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 8eb3f11..5440d85 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -243,6 +243,9 @@ osim_file_desc_find_name(struct osim_file_desc *parent, const char *name); struct osim_file_desc * +osim_file_desc_find_aid(struct osim_file_desc *parent, const uint8_t *aid, uint8_t aid_len); + +struct osim_file_desc * osim_file_desc_find_fid(struct osim_file_desc *parent, uint16_t fid); struct osim_file_desc * diff --git a/src/sim/core.c b/src/sim/core.c index b93633c..4360ff1 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -187,6 +187,22 @@ } struct osim_file_desc * +osim_file_desc_find_aid(struct osim_file_desc *parent, const uint8_t *aid, uint8_t aid_len) +{ + struct osim_file_desc *ofd; + llist_for_each_entry(ofd, &parent->child_list, list) { + if (ofd->type != TYPE_ADF) + continue; + if (aid_len > ofd->df_name_len) + continue; + if (!memcmp(ofd->df_name, aid, aid_len)) { + return ofd; + } + } + return NULL; +} + +struct osim_file_desc * osim_file_desc_find_fid(struct osim_file_desc *parent, uint16_t fid) { struct osim_file_desc *ofd; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I80468c8c4f4590c262019f42285e8d8fd3444f7f Gerrit-Change-Number: 17554 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 Mar 21 13:17:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 13:17:12 +0000 Subject: Change in libosmocore[master]: sim: re-structure how we support cards + applications References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17555 ) Change subject: sim: re-structure how we support cards + applications ...................................................................... sim: re-structure how we support cards + applications Before this change, a card application (USIM, ISIM, ...) didn't exist as a separate concept from a card profile. This meant, we had a manual combination of UICC card profile with USIM application, and another one of UICC card profile and ISIM application. But what if there's a combined USIM+ISIM? In reality, applications exist as separate objects, on top of an ETSI UICC. Lets therefore register all known applications to the osim library core, and add code to osmo-sim-test which dynamically detects all applications present on a given card (by reading EF.DIR). Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd --- M include/osmocom/sim/sim.h M src/sim/card_fs_isim.c M src/sim/card_fs_uicc.c M src/sim/card_fs_usim.c M src/sim/core.c M src/sim/reader_pcsc.c M src/sim/sim_int.h M utils/osmo-sim-test.c 8 files changed, 321 insertions(+), 122 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/17555/1 diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 5440d85..33ebdd7 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -9,6 +9,7 @@ #include #define APDU_HDR_LEN 5 +#define MAX_AID_LEN 16 /* Table 13.2 of TS 102 221 */ /*! command-response pairs cases * @@ -66,6 +67,8 @@ #define msgb_apdu_dc(__x) ((__x)->l2h + sizeof(struct osim_apdu_cmd_hdr)) #define msgb_apdu_de(__x) ((__x)->l2h + sizeof(struct osim_apdu_cmd_hdr) + msgb_apdu_lc(__x)) +int osim_init(void *ctx); + /* FILES */ struct osim_file; @@ -285,6 +288,28 @@ .class = SW_CLS_NONE, .u.str = NULL \ } +/*! A card application (e.g. USIM, ISIM, HPSIM) */ +struct osim_card_app_profile { + /*! entry in the global list of card application profiles */ + struct llist_head list; + /*! human-readable name */ + const char *name; + /*! AID of this application, as used in EF.DIR */ + uint8_t aid[MAX_AID_LEN]; + uint8_t aid_len; + /*! file system description */ + struct osim_file_desc *adf; + /*! Status words defined by application */ + const struct osim_card_sw *sw; +}; + +const struct osim_card_app_profile * +osim_app_profile_find_by_name(const char *name); + +const struct osim_card_app_profile * +osim_app_profile_find_by_aid(const uint8_t *aid, uint8_t aid_len); + + /*! A card profile (e.g. SIM card */ struct osim_card_profile { const char *name; @@ -357,6 +382,19 @@ struct osim_card_hdl *card; }; +/*! descriptor for a given application present on a card */ +struct osim_card_app_hdl { + /*! member in card list of applications */ + struct llist_head list; + /*! AID of the application */ + uint8_t aid[MAX_AID_LEN]; + uint8_t aid_len; + /*! application label from EF_DIR */ + char *label; + /*! application profile (if any known) */ + const struct osim_card_app_profile *prof; +}; + struct osim_card_hdl { /*! member in global list of cards */ struct llist_head list; @@ -369,6 +407,9 @@ /*! list of channels for this card */ struct llist_head channels; + + /*! list of applications found on card */ + struct llist_head apps; }; struct osim_chan_hdl { @@ -376,9 +417,15 @@ struct llist_head list; /*! card to which this channel belongs */ struct osim_card_hdl *card; + /*! current working directory */ const struct osim_file_desc *cwd; + /*! currently selected application (if any) */ + struct osim_card_app_hdl *cur_app; }; +int osim_card_hdl_add_app(struct osim_card_hdl *ch, const uint8_t *aid, uint8_t aid_len, + const char *label); + /* reader.c */ int osim_transceive_apdu(struct osim_chan_hdl *st, struct msgb *amsg); struct osim_reader_hdl *osim_reader_open(enum osim_reader_driver drv, int idx, diff --git a/src/sim/card_fs_isim.c b/src/sim/card_fs_isim.c index e6ba0d0..2970c45 100644 --- a/src/sim/card_fs_isim.c +++ b/src/sim/card_fs_isim.c @@ -43,12 +43,6 @@ OSIM_CARD_SW_LAST }; -static const struct osim_card_sw *isim_card_sws[] = { - ts31_103_sw, - ts102221_uicc_sw, - NULL -}; - /* TS 31.103 Version 11.2.0 Release 11 / Chapoter 4.2 */ static const struct osim_file_desc isim_ef_in_adf_isim[] = { EF_TRANSP_N(0x6F02, 0x02, "EF.IMPI", 0, 1, 256, @@ -86,23 +80,21 @@ /* Annex E - TS 101 220 */ static const uint8_t adf_isim_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x04 }; -struct osim_card_profile *osim_cprof_isim(void *ctx) +struct osim_card_app_profile *osim_aprof_isim(void *ctx) { - struct osim_card_profile *cprof; - struct osim_file_desc *mf; + struct osim_card_app_profile *aprof; + struct osim_file_desc *iadf; - cprof = talloc_zero(ctx, struct osim_card_profile); - cprof->name = "3GPP ISIM"; - cprof->sws = isim_card_sws; - - mf = alloc_df(cprof, 0x3f00, "MF"); - - cprof->mf = mf; + aprof = talloc_zero(ctx, struct osim_card_app_profile); + aprof->name = "3GPP ISIM"; + aprof->sw = ts31_103_sw; + aprof->aid_len = sizeof(adf_isim_aid); + memcpy(aprof->aid, adf_isim_aid, aprof->aid_len); /* ADF.USIM with its EF siblings */ - add_adf_with_ef(mf, adf_isim_aid, sizeof(adf_isim_aid), - "ADF.ISIM", isim_ef_in_adf_isim, - ARRAY_SIZE(isim_ef_in_adf_isim)); + iadf = alloc_adf_with_ef(aprof, adf_isim_aid, sizeof(adf_isim_aid), "ADF.ISIM", + isim_ef_in_adf_isim, ARRAY_SIZE(isim_ef_in_adf_isim)); + aprof->adf = iadf; - return cprof; + return aprof; } diff --git a/src/sim/card_fs_uicc.c b/src/sim/card_fs_uicc.c index af6061c..c73fc9a 100644 --- a/src/sim/card_fs_uicc.c +++ b/src/sim/card_fs_uicc.c @@ -1,7 +1,7 @@ /*! \file card_fs_uicc.c * ETSI UICC specific structures / routines. */ /* - * (C) 2012 by Harald Welte + * (C) 2012-2020 by Harald Welte * * All Rights Reserved * @@ -25,8 +25,12 @@ #include +#include #include +#include "sim_int.h" +#include "gsm_int.h" + /* TS 102 221 V10.0.0 / 10.2.1 */ const struct osim_card_sw ts102221_uicc_sw[] = { { @@ -171,6 +175,23 @@ OSIM_CARD_SW_LAST }; +static const struct osim_card_sw *uicc_card_sws[] = { + ts102221_uicc_sw, + NULL +}; + +/* TS 102 221 Chapter 13.1 */ +static const struct osim_file_desc uicc_ef_in_mf[] = { + EF_LIN_FIX_N(0x2f00, SFI_NONE, "EF.DIR", 0, 1, 32, + "Application directory"), + EF_TRANSP_N(0x2FE2, SFI_NONE, "EF.ICCID", 0, 10, 10, + "ICC Identification"), + EF_TRANSP_N(0x2F05, SFI_NONE, "EF.PL", 0, 2, 20, + "Preferred Languages"), + EF_LIN_FIX_N(0x2F06, SFI_NONE, "EF.ARR", F_OPTIONAL, 1, 256, + "Access Rule Reference"), +}; + const struct value_string ts102221_fcp_vals[14] = { { UICC_FCP_T_FCP, "File control parameters" }, { UICC_FCP_T_FILE_SIZE, "File size" }, @@ -209,3 +230,30 @@ /* Annex E - TS 101 220 */ static const uint8_t __attribute__((__unused__)) adf_uicc_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x01 }; + +struct osim_card_profile *osim_cprof_uicc(void *ctx) +{ + struct osim_card_profile *cprof; + struct osim_file_desc *mf; + int rc; + + cprof = talloc_zero(ctx, struct osim_card_profile); + cprof->name = "3GPP UICC"; + cprof->sws = uicc_card_sws; // FIXME: extend later + + mf = alloc_df(cprof, 0x3f00, "MF"); + + cprof->mf = mf; + + /* Core UICC Files */ + add_filedesc(mf, uicc_ef_in_mf, ARRAY_SIZE(uicc_ef_in_mf)); + + /* DF.TELECOM hierarchy as sub-directory of MF */ + rc = osim_int_cprof_add_telecom(mf); + if (rc != 0) { + talloc_free(cprof); + return NULL; + } + + return cprof; +} diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index 3b33c0f..97f712a 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -1,7 +1,7 @@ /*! \file card_fs_usim.c * 3GPP USIM specific structures / routines. */ /* - * (C) 2012-2014 by Harald Welte + * (C) 2012-2020 by Harald Welte * * All Rights Reserved * @@ -47,24 +47,6 @@ OSIM_CARD_SW_LAST }; -static const struct osim_card_sw *usim_card_sws[] = { - ts31_102_sw, - ts102221_uicc_sw, - NULL -}; - -/* TS 102 221 Chapter 13.1 */ -static const struct osim_file_desc uicc_ef_in_mf[] = { - EF_LIN_FIX_N(0x2f00, SFI_NONE, "EF.DIR", 0, 1, 32, - "Application directory"), - EF_TRANSP_N(0x2FE2, SFI_NONE, "EF.ICCID", 0, 10, 10, - "ICC Identification"), - EF_TRANSP_N(0x2F05, SFI_NONE, "EF.PL", 0, 2, 20, - "Preferred Languages"), - EF_LIN_FIX_N(0x2F06, SFI_NONE, "EF.ARR", F_OPTIONAL, 1, 256, - "Access Rule Reference"), -}; - /* 31.102 Chapter 4.4.3 */ static const struct osim_file_desc usim_ef_in_df_gsm_access[] = { EF_TRANSP_N(0x4f20, 0x01, "EF.Kc", 0, 9, 9, @@ -330,27 +312,21 @@ /* Annex E - TS 101 220 */ static const uint8_t adf_usim_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x02 }; -struct osim_card_profile *osim_cprof_usim(void *ctx) +struct osim_card_app_profile *osim_aprof_usim(void *ctx) { - struct osim_card_profile *cprof; - struct osim_file_desc *mf, *uadf; - int rc; + struct osim_card_app_profile *aprof; + struct osim_file_desc *uadf; - cprof = talloc_zero(ctx, struct osim_card_profile); - cprof->name = "3GPP USIM"; - cprof->sws = usim_card_sws; - - mf = alloc_df(cprof, 0x3f00, "MF"); - - cprof->mf = mf; - - /* Core UICC Files */ - add_filedesc(mf, uicc_ef_in_mf, ARRAY_SIZE(uicc_ef_in_mf)); + aprof = talloc_zero(ctx, struct osim_card_app_profile); + aprof->name = "3GPP USIM"; + aprof->sw = ts31_102_sw; + aprof->aid_len = sizeof(adf_usim_aid); + memcpy(aprof->aid, adf_usim_aid, aprof->aid_len); /* ADF.USIM with its EF siblings */ - uadf = add_adf_with_ef(mf, adf_usim_aid, sizeof(adf_usim_aid), - "ADF.USIM", usim_ef_in_adf_usim, - ARRAY_SIZE(usim_ef_in_adf_usim)); + uadf = alloc_adf_with_ef(aprof, adf_usim_aid, sizeof(adf_usim_aid), + "ADF.USIM", usim_ef_in_adf_usim, ARRAY_SIZE(usim_ef_in_adf_usim)); + aprof->adf = uadf; /* DFs under ADF.USIM */ add_df_with_ef(uadf, 0x5F3A, "DF.PHONEBOOK", NULL, 0); @@ -369,13 +345,14 @@ /* OMA BCAST Smart Card Profile */ add_df_with_ef(uadf, 0x5F80, "DF.BCAST", NULL, 0); - /* DF.GSM and DF.TELECOM hierarchy as sub-directory of MF */ +#if 0 + /* DF.GSM as sub-directory of MF */ rc = osim_int_cprof_add_gsm(mf); - rc |= osim_int_cprof_add_telecom(mf); if (rc != 0) { talloc_free(cprof); return NULL; } +#endif - return cprof; + return aprof; } diff --git a/src/sim/core.c b/src/sim/core.c index 4360ff1..80a168f 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -1,7 +1,7 @@ /*! \file core.c * Core routines for SIM/UICC/USIM access. */ /* - * (C) 2012 by Harald Welte + * (C) 2012-2020 by Harald Welte * * All Rights Reserved * @@ -27,10 +27,13 @@ #include #include #include +#include #include #include +#include "sim_int.h" + struct osim_decoded_data *osim_file_decode(struct osim_file *file, int len, uint8_t *data) { @@ -154,21 +157,19 @@ } struct osim_file_desc * -add_adf_with_ef(struct osim_file_desc *parent, +alloc_adf_with_ef(void *ctx, const uint8_t *adf_name, uint8_t adf_name_len, const char *name, const struct osim_file_desc *in, int num) { struct osim_file_desc *df; - df = alloc_df(parent, 0xffff, name); + df = alloc_df(ctx, 0xffff, name); if (!df) return NULL; df->type = TYPE_ADF; df->df_name = adf_name; df->df_name_len = adf_name_len; - df->parent = parent; - llist_add_tail(&df->list, &parent->child_list); add_filedesc(df, in, num); return df; @@ -229,6 +230,88 @@ } +/*********************************************************************** + * Application Profiles + Applications + ***********************************************************************/ + +static LLIST_HEAD(g_app_profiles); + +/*! Register an application profile. Typically called at early start-up. */ +void osim_app_profile_register(struct osim_card_app_profile *aprof) +{ + OSMO_ASSERT(!osim_app_profile_find_by_name(aprof->name)); + OSMO_ASSERT(!osim_app_profile_find_by_aid(aprof->aid, aprof->aid_len)); + llist_add_tail(&aprof->list, &g_app_profiles); +} + +/*! Find any registered application profile based on its name (e.g. "ADF.USIM") */ +const struct osim_card_app_profile * +osim_app_profile_find_by_name(const char *name) +{ + struct osim_card_app_profile *ap; + + llist_for_each_entry(ap, &g_app_profiles, list) { + if (!strcmp(name, ap->name)) + return ap; + } + return NULL; +} + +/*! Find any registered application profile based on its AID */ +const struct osim_card_app_profile * +osim_app_profile_find_by_aid(const uint8_t *aid, uint8_t aid_len) +{ + struct osim_card_app_profile *ap; + + llist_for_each_entry(ap, &g_app_profiles, list) { + if (ap->aid_len > aid_len) + continue; + if (!memcmp(ap->aid, aid, ap->aid_len)) + return ap; + } + return NULL; +} + +struct osim_card_app_hdl * +osim_card_hdl_find_app(struct osim_card_hdl *ch, const uint8_t *aid, uint8_t aid_len) +{ + struct osim_card_app_hdl *ah; + + if (aid_len > MAX_AID_LEN) + return NULL; + + llist_for_each_entry(ah, &ch->apps, list) { + if (!memcmp(ah->aid, aid, aid_len)) + return ah; + } + return NULL; +} + +/*! Add an application to a given card */ +int osim_card_hdl_add_app(struct osim_card_hdl *ch, const uint8_t *aid, uint8_t aid_len, + const char *label) +{ + struct osim_card_app_hdl *ah; + + if (aid_len > MAX_AID_LEN) + return -EINVAL; + + if (osim_card_hdl_find_app(ch, aid, aid_len)) + return -EEXIST; + + ah = talloc_zero(ch, struct osim_card_app_hdl); + if (!ah) + return -ENOMEM; + + memcpy(ah->aid, aid, aid_len); + ah->aid_len = aid_len; + ah->prof = osim_app_profile_find_by_aid(ah->aid, ah->aid_len); + if (label) + ah->label = talloc_strdup(ah, label); + llist_add_tail(&ah->list, &ch->apps); + return 0; +} + /*! Generate an APDU message and initialize APDU command header * \param[in] cla CLASS byte * \param[in] ins INSTRUCTION byte @@ -365,3 +448,11 @@ return 0; } + +int osim_init(void *ctx) +{ + osim_app_profile_register(osim_aprof_usim(ctx)); + osim_app_profile_register(osim_aprof_isim(ctx)); + + return 0; +} diff --git a/src/sim/reader_pcsc.c b/src/sim/reader_pcsc.c index 04a8622..c37380a 100644 --- a/src/sim/reader_pcsc.c +++ b/src/sim/reader_pcsc.c @@ -121,6 +121,7 @@ card = talloc_zero(rh, struct osim_card_hdl); INIT_LLIST_HEAD(&card->channels); + INIT_LLIST_HEAD(&card->apps); card->reader = rh; rh->card = card; diff --git a/src/sim/sim_int.h b/src/sim/sim_int.h index 885011e..99a2242 100644 --- a/src/sim/sim_int.h +++ b/src/sim/sim_int.h @@ -12,8 +12,6 @@ element_alloc_sub(struct osim_decoded_element *ee, const char *name, enum osim_element_type type, enum osim_element_repr repr); -extern const struct osim_card_sw ts102221_uicc_sw[0]; - int default_decode(struct osim_decoded_data *dd, const struct osim_file_desc *desc, int len, uint8_t *data); @@ -26,11 +24,14 @@ const struct osim_file_desc *in, int num); struct osim_file_desc * -add_adf_with_ef(struct osim_file_desc *parent, - const uint8_t *adf_name, uint8_t adf_name_len, - const char *name, const struct osim_file_desc *in, - int num); +alloc_adf_with_ef(void *ctx, const uint8_t *adf_name, uint8_t adf_name_len, + const char *name, const struct osim_file_desc *in, int num); extern const struct osim_reader_ops pcsc_reader_ops; +void osim_app_profile_register(struct osim_card_app_profile *aprof); + +struct osim_card_app_profile *osim_aprof_usim(void *ctx); +struct osim_card_app_profile *osim_aprof_isim(void *ctx); + #endif diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index a6ecfcf..78d6665 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -241,49 +241,59 @@ return 0; } -extern struct osim_card_profile *osim_cprof_sim(void *ctx); -extern struct osim_card_profile *osim_cprof_usim(void *ctx); -extern struct osim_card_profile *osim_cprof_isim(void *ctx); - -static struct msgb *try_select_adf_usim(struct osim_chan_hdl *st) +/*! scan an UICC for all installed apps; allocate osim_card_app_hdl for each of them */ +static int osim_uicc_scan_apps(struct osim_chan_hdl *st) { struct tlv_parsed tp; struct osim_fcp_fd_decoded ofd; - struct msgb *msg, *msg2; + struct msgb *msg; uint8_t *cur; int rc, i; + /* we don't know where we currently might be; go back to MF */ + msg = select_file(st, 0x3f00); + if (!msg) + return -EIO; + if (msgb_apdu_sw(msg) != 0x9000) + return -msgb_apdu_sw(msg); + + /* select EF.DIR */ msg = select_file(st, 0x2f00); if (!msg) - return NULL; + return -EIO; /* return status word in case of error */ if (msgb_apdu_sw(msg) != 0x9000) - return msg; + return -msgb_apdu_sw(msg); + /* various FCP related sanity checks */ rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0); if (rc < 0) { + fprintf(stderr, "Error decoding EF.DIR FCP TLV\n"); msgb_free(msg); - return NULL; + return -EINVAL; } dump_fcp_template(&tp); if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_DESC) || TLVP_LEN(&tp, UICC_FCP_T_FILE_DESC) < 5) { + fprintf(stderr, "No EF.DIR FCP file description\n"); msgb_free(msg); - return NULL; + return -EINVAL; } rc = osim_fcp_fd_decode(&ofd, TLVP_VAL(&tp, UICC_FCP_T_FILE_DESC), TLVP_LEN(&tp, UICC_FCP_T_FILE_DESC)); if (rc < 0) { + fprintf(stderr, "Error decoding EF.DIR FCP file description\n"); msgb_free(msg); - return NULL; + return -EINVAL; } if (ofd.type != TYPE_EF || ofd.ef_type != EF_TYPE_RECORD_FIXED) { + fprintf(stderr, "EF.DIR is not a fixed record EF!?!\n"); msgb_free(msg); - return NULL; + return -EINVAL; } msgb_free(msg); @@ -291,39 +301,46 @@ printf("ofd rec_len = %u, num_rec = %u\n", ofd.rec_len, ofd.num_rec); for (i = 0; i < ofd.num_rec; i++) { + const uint8_t *aid; + uint8_t aid_len; msg = read_record_nr(st, i+1, ofd.rec_len); - if (!msg) - return NULL; + if (!msg) { + fprintf(stderr, "Error reading Record %u of EF.DIR, skipping\n", i+1); + continue; + } + + /* Entries look like this: + * 61194f10 a0000000871002ffffffff8907090000 5005 5553696d31 ffffffffffffffffffffff */ cur = msgb_apdu_de(msg); if (msgb_apdu_le(msg) < 5) { + fprintf(stderr, "Record length %u too short for EF.DIR, skipping\n", msgb_apdu_le(msg)); msgb_free(msg); - return NULL; + continue; } if (cur[0] != 0x61 || cur[1] < 0x03 || cur[1] > 0x7f || cur[2] != 0x4F || cur[3] < 0x01 || cur[3] > 0x10) { + fprintf(stderr, "Unexpected/unknown record in EF.DIR: %s, skipping\n", + osmo_hexdump_nospc(msgb_apdu_de(msg), msgb_apdu_le(msg))); msgb_free(msg); - return NULL; + continue; } + aid_len = cur[3]; + aid = cur+4; - /* FIXME: actually check if it is an AID that we support, or - * iterate until we find one that we support */ - - msg2 = select_adf(st, cur+4, cur[3]); - - /* attach the USIM profile, FIXME: do this based on AID match */ - st->card->prof = osim_cprof_usim(st->card); - st->cwd = osim_file_desc_find_name(st->card->prof->mf, "ADF.USIM"); - - msgb_free(msg); - - return msg2; + /* FIXME: parse / pass label*/ + printf("Detected AID %s\n", osmo_hexdump_nospc(aid, aid_len)); + osim_card_hdl_add_app(st->card, aid, aid_len, NULL); } - return NULL; + return i; } + +extern struct osim_card_profile *osim_cprof_sim(void *ctx); +extern struct osim_card_profile *osim_cprof_uicc(void *ctx); + static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid) { struct tlv_parsed tp; @@ -556,16 +573,49 @@ } } +static void iterate_apps(struct osim_chan_hdl *chan) +{ + struct osim_card_app_hdl *cah; + + llist_for_each_entry(cah, &chan->card->apps, list) { + const struct osim_card_app_profile *cap = cah->prof; + struct msgb *msg; + + if (!cap) { + fprintf(stderr, "Unknown AID %s; skipping\n", + osmo_hexdump_nospc(cah->aid, cah->aid_len)); + continue; + } + + msg = select_adf(chan, cah->aid, cah->aid_len); + if (!msg) { + fprintf(stderr, "Error selectiong ADF for AID %s; skipping\n", + osmo_hexdump_nospc(cah->aid, cah->aid_len)); + continue; + } + printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); + chan->cur_app = cah; + chan->cwd = cap->adf; + + if (g_output_dir) + mkdir_and_chdir(cap->adf->short_name, 0750); + + iterate_fs(chan); + } +} + int main(int argc, char **argv) { struct osim_reader_hdl *reader; struct osim_card_hdl *card; struct osim_chan_hdl *chan; - struct msgb *msg; + int rc; handle_options(argc, argv); + osim_init(NULL); + if (g_output_dir) { int rc; rc = mkdir(g_output_dir, 0750); @@ -592,34 +642,26 @@ if (!chan) exit(3); - msg = try_select_adf_usim(chan); - if (!msg) { - exit(4); - } else if (msgb_apdu_sw(msg) == 0x6e00) { + //verify_pin(chan, 1, "1653"); + + rc = osim_uicc_scan_apps(chan); + if (rc >= 0) { + chan->card->prof = osim_cprof_uicc(chan->card); + chan->cwd = chan->card->prof->mf; + } else if (rc == -0x6e00) { /* CLA not supported: must be classic SIM, not USIM */ g_class = 0xA0; chan->card->prof = osim_cprof_sim(chan->card); chan->cwd = chan->card->prof->mf; - msgb_free(msg); - } else if (msgb_apdu_sw(msg) == 0x9000) { - /* normal file */ - dump_fcp_template_msg(msg); - msgb_free(msg); - mkdir_and_chdir("ADF_USIM", 0750); + } else if (rc < 0) { + exit(4); } - msg = select_file(chan, 0x6fc5); - dump_fcp_template_msg(msg); - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); - msgb_free(msg); - - verify_pin(chan, 1, "1653"); - - msg = select_file(chan, 0x6f06); - dump_fcp_template_msg(msg); - msgb_free(msg); - + /* first iterate over normal file system */ iterate_fs(chan); + /* then itereate over all apps and their file system */ + iterate_apps(chan); + exit(0); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd Gerrit-Change-Number: 17555 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 Mar 21 13:17:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 13:17:12 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17556 ) Change subject: osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards ...................................................................... osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards an USIM application can very well exist on a UICC without supporting classic DF.GSM access. However, most commonly, both are found on cards. Change-Id: I6180a3f81a7d3006e8ece4302c2433db2588bfaa --- M src/sim/card_fs_uicc.c M src/sim/card_fs_usim.c M utils/osmo-sim-test.c 3 files changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/17556/1 diff --git a/src/sim/card_fs_uicc.c b/src/sim/card_fs_uicc.c index c73fc9a..5dcaaa1 100644 --- a/src/sim/card_fs_uicc.c +++ b/src/sim/card_fs_uicc.c @@ -231,7 +231,7 @@ /* Annex E - TS 101 220 */ static const uint8_t __attribute__((__unused__)) adf_uicc_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x01 }; -struct osim_card_profile *osim_cprof_uicc(void *ctx) +struct osim_card_profile *osim_cprof_uicc(void *ctx, bool have_df_gsm) { struct osim_card_profile *cprof; struct osim_file_desc *mf; @@ -255,5 +255,14 @@ return NULL; } + if (have_df_gsm) { + /* DF.GSM as sub-directory of MF */ + rc = osim_int_cprof_add_gsm(mf); + if (rc != 0) { + talloc_free(cprof); + return NULL; + } + } + return cprof; } diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index 97f712a..d5d2736 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -345,14 +345,5 @@ /* OMA BCAST Smart Card Profile */ add_df_with_ef(uadf, 0x5F80, "DF.BCAST", NULL, 0); -#if 0 - /* DF.GSM as sub-directory of MF */ - rc = osim_int_cprof_add_gsm(mf); - if (rc != 0) { - talloc_free(cprof); - return NULL; - } -#endif - return aprof; } diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 78d6665..58e1813 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -339,7 +339,7 @@ extern struct osim_card_profile *osim_cprof_sim(void *ctx); -extern struct osim_card_profile *osim_cprof_uicc(void *ctx); +extern struct osim_card_profile *osim_cprof_uicc(void *ctx, bool have_df_gsm); static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid) { @@ -646,7 +646,7 @@ rc = osim_uicc_scan_apps(chan); if (rc >= 0) { - chan->card->prof = osim_cprof_uicc(chan->card); + chan->card->prof = osim_cprof_uicc(chan->card, true); chan->cwd = chan->card->prof->mf; } else if (rc == -0x6e00) { /* CLA not supported: must be classic SIM, not USIM */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6180a3f81a7d3006e8ece4302c2433db2588bfaa Gerrit-Change-Number: 17556 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 Mar 21 13:17:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 13:17:12 +0000 Subject: Change in libosmocore[master]: card_fs_{usim, isim}: Update to 15.7.0 / Release 15 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17557 ) Change subject: card_fs_{usim,isim}: Update to 15.7.0 / Release 15 ...................................................................... card_fs_{usim,isim}: Update to 15.7.0 / Release 15 Various new files and some new status words have been defined by now. Let's add them. Change-Id: Ia007281bcb61dcd8260d0a77203abeff21d5255f --- M src/sim/card_fs_isim.c M src/sim/card_fs_usim.c 2 files changed, 56 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/57/17557/1 diff --git a/src/sim/card_fs_isim.c b/src/sim/card_fs_isim.c index 2970c45..f11c029 100644 --- a/src/sim/card_fs_isim.c +++ b/src/sim/card_fs_isim.c @@ -1,7 +1,7 @@ /*! \file card_fs_isim.c * 3GPP ISIM specific structures / routines. */ /* - * (C) 2014 by Harald Welte + * (C) 2014-2020 by Harald Welte * * All Rights Reserved * @@ -34,16 +34,19 @@ #include "sim_int.h" #include "gsm_int.h" -/* TS 31.103 Version 11.2.0 Release 11 / Chapoter 7.1.3 */ +/* TS 31.103 Version 15.5.0 Release 15 / Chapter 7.1.3 */ const struct osim_card_sw ts31_103_sw[] = { { 0x9862, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, .u.str = "Security management - Authentication error, incorrect MAC", + }, { + 0x9864, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, security context not supported", }, OSIM_CARD_SW_LAST }; -/* TS 31.103 Version 11.2.0 Release 11 / Chapoter 4.2 */ +/* TS 31.103 Version 15.5.0 Release 15 / Chapter 4.2 */ static const struct osim_file_desc isim_ef_in_adf_isim[] = { EF_TRANSP_N(0x6F02, 0x02, "EF.IMPI", 0, 1, 256, "IMS private user identity"), @@ -75,6 +78,14 @@ "Short message service parameters"), EF_LIN_FIX_N(0x6FE7, SFI_NONE, "EF.UICCIARI", F_OPTIONAL, 1, 256, "UICC IARI"), + EF_TRANSP_N(0x6FF7, SFI_NONE, "EF_FromPreferred", F_OPTIONAL, 1, 1, + "From Preferred"), + EF_TRANSP_N(0x6FF8, SFI_NONE, "EF_IMSConfigData", F_OPTIONAL, 3, 128, + "IMS Configuration Data"), + EF_TRANSP_N(0x6FFC, SFI_NONE, "EF_XCAPConfigData", F_OPTIONAL, 1, 128, + "XCAP Configuration Data"), + EF_LIN_FIX_N(0x6FFA, SFI_NONE, "EF_WebRTCURI", F_OPTIONAL, 3, 128, + "WebRTC URI"), }; /* Annex E - TS 101 220 */ diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index d5d2736..4c8f79c 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -32,7 +32,7 @@ #include "sim_int.h" #include "gsm_int.h" -/* TS 31.102 Version 7.7.0 / Chapter 7.3 */ +/* TS 31.102 Version 15.7.0 Release 15 / Chapter 7.3 */ const struct osim_card_sw ts31_102_sw[] = { { 0x9862, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, @@ -43,11 +43,17 @@ }, { 0x9865, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, .u.str = "Security management - Key freshness error", + }, { + 0x9866, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, no memory space available", + }, { + 0x9867, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, no memory space available in EF_MUK", }, OSIM_CARD_SW_LAST }; -/* 31.102 Chapter 4.4.3 */ +/* 31.102 Version 15.7.0 Release 15 / Chapter 4.4.3 */ static const struct osim_file_desc usim_ef_in_df_gsm_access[] = { EF_TRANSP_N(0x4f20, 0x01, "EF.Kc", 0, 9, 9, "Ciphering Key Kc"), @@ -59,7 +65,7 @@ "Investigation Scan"), }; -/* 31.102 Chapter 4.2 */ +/* 31.102 Version 15.7.0 Release 15 / Chapter 4.2 */ static const struct osim_file_desc usim_ef_in_adf_usim[] = { EF_TRANSP(0x6F05, 0x02, "EF.LI", 0, 2, 16, "Language Indication", &gsm_lp_decode, NULL), @@ -243,6 +249,39 @@ "UICC IARI"), EF_TRANSP_N(0x6FEC, SFI_NONE, "EF.PWS", F_OPTIONAL, 1, 32, "Public Warning System"), + EF_LIN_FIX_N(0x6FED, SFI_NONE, "EF_FDNURI", F_OPTIONAL, 1, 128, + "Fixed Dialling Numbers URI"), + EF_LIN_FIX_N(0x6FEE, SFI_NONE, "EF_BDNURI", F_OPTIONAL, 1, 128, + "Barred Dialling Numbers URI"), + EF_LIN_FIX_N(0x6FEF, SFI_NONE, "EF_SDNURI", F_OPTIONAL, 1, 128, + "Service Dialling Numbers URI"), + EF_LIN_FIX_N(0x6FF0, SFI_NONE, "EF_IWL", F_OPTIONAL, 18, 32, + "IMEI(SV) White Lists"), + EF_CYCLIC_N(0x6FF1, SFI_NONE, "EF_IPS", F_OPTIONAL, 4, 4, + "IMEI(SV) Pairing Status"), + EF_LIN_FIX_N(0x6FF2, SFI_NONE, "EF_IPD", F_OPTIONAL, 10, 16, + "IMEI(SV) of Pairing Device"), + EF_TRANSP_N(0x6FF3, SFI_NONE, "EF_ePDGId", F_OPTIONAL, 1, 128, + "Home ePDG Identifier"), + EF_TRANSP_N(0x6FF4, SFI_NONE, "EF_ePDGSelection", F_OPTIONAL, 1, 128, + "ePDG Selection Information"), + EF_TRANSP_N(0x6FF5, SFI_NONE, "EF_ePDGIdEm", F_OPTIONAL, 1, 128, + "Emergency ePDG Identifier"), + EF_TRANSP_N(0x6FF6, SFI_NONE, "EF_ePDGSelectionEm", F_OPTIONAL, 1, 128, + "ePDG Selection Information for Emergency Services"), + EF_TRANSP_N(0x6FF7, SFI_NONE, "EF_FromPreferred", F_OPTIONAL, 1, 1, + "From Preferred"), + EF_TRANSP_N(0x6FF8, SFI_NONE, "EF_IMSConfigData", F_OPTIONAL, 3, 128, + "IMS Configuration Data"), + /* EF TVCONFIG (TV Configuration) has no fixed FID */ + EF_TRANSP_N(0x6FF9, SFI_NONE, "EF_3GPPPSDATAOFF", F_OPTIONAL, 4, 4, + "3GPP PS Data Off"), + EF_LIN_FIX_N(0x6FFA, SFI_NONE, "EF_3GPPPSDATAOFFservicelist", F_OPTIONAL, 1, 128, + "3GPP PS Data Off Service List"), + EF_TRANSP_N(0x6FFC, SFI_NONE, "EF_XCAPConfigData", F_OPTIONAL, 1, 128, + "XCAP Configuration Data"), + EF_TRANSP_N(0x6FFD, SFI_NONE, "EF_EARFCNList", F_OPTIONAL, 1, 128, + "EARFCN list for MTC/NB-IOT UEs"), }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia007281bcb61dcd8260d0a77203abeff21d5255f Gerrit-Change-Number: 17557 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 Mar 21 13:17:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 13:17:13 +0000 Subject: Change in libosmocore[master]: sim: Add HPSIM application support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17558 ) Change subject: sim: Add HPSIM application support ...................................................................... sim: Add HPSIM application support Change-Id: I883faae5e170803b8301d10c8b9fad7892da009c --- M src/sim/Makefile.am A src/sim/card_fs_hpsim.c M src/sim/core.c M src/sim/sim_int.h 4 files changed, 79 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/58/17558/1 diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index 14bbbd8..0539dd9 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -14,7 +14,7 @@ libosmosim_la_SOURCES = core.c reader.c class_tables.c \ card_fs_sim.c card_fs_usim.c card_fs_uicc.c \ - card_fs_isim.c card_fs_tetra.c + card_fs_isim.c card_fs_hpsim.c card_fs_tetra.c libosmosim_la_LDFLAGS = -version-info $(LIBVERSION) libosmosim_la_LIBADD = \ $(top_builddir)/src/libosmocore.la \ diff --git a/src/sim/card_fs_hpsim.c b/src/sim/card_fs_hpsim.c new file mode 100644 index 0000000..4a5f7d9 --- /dev/null +++ b/src/sim/card_fs_hpsim.c @@ -0,0 +1,76 @@ +/*! \file card_fs_hpsim.c + * 3GPP HPSIM specific structures / routines. */ +/* + * (C) 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include +#include + +#include +#include +#include + +#include "sim_int.h" +#include "gsm_int.h" + +/* TS 31.104 Version 15.0.0 Release 15 / Chapter 7.1.3 */ +const struct osim_card_sw ts31_104_sw[] = { + { + 0x9862, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, incorrect MAC", + }, + OSIM_CARD_SW_LAST +}; + +/* TS 31.104 Version 15.0.0 Release 15 / Chapter 4.2 */ +static const struct osim_file_desc hpsim_ef_in_adf_hpsim[] = { + EF_LIN_FIX_N(0x6F06, 0x06, "EF.ARR", 0, 1, 256, + "Access Rule TLV data objects"), + EF_TRANSP_N(0x6F07, 0x07, "EF.IMST", 0, 9, 9, + "IMSI"), + EF_TRANSP_N(0x6FAD, 0x03, "EF_AD", 0, 4, 8, + "Administrative Data"), +}; + +/* Annex E - TS 101 220 */ +static const uint8_t adf_hpsim_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x0A }; + +struct osim_card_app_profile *osim_aprof_hpsim(void *ctx) +{ + struct osim_card_app_profile *aprof; + struct osim_file_desc *iadf; + + aprof = talloc_zero(ctx, struct osim_card_app_profile); + aprof->name = "3GPP HPSIM"; + aprof->sw = ts31_104_sw; + aprof->aid_len = sizeof(adf_hpsim_aid); + memcpy(aprof->aid, adf_hpsim_aid, aprof->aid_len); + + /* ADF.HPSIM with its EF siblings */ + iadf = alloc_adf_with_ef(aprof, adf_hpsim_aid, sizeof(adf_hpsim_aid), "ADF.HPSIM", + hpsim_ef_in_adf_hpsim, ARRAY_SIZE(hpsim_ef_in_adf_hpsim)); + aprof->adf = iadf; + + return aprof; +} diff --git a/src/sim/core.c b/src/sim/core.c index 80a168f..8b2d6f9 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -453,6 +453,7 @@ { osim_app_profile_register(osim_aprof_usim(ctx)); osim_app_profile_register(osim_aprof_isim(ctx)); + osim_app_profile_register(osim_aprof_hpsim(ctx)); return 0; } diff --git a/src/sim/sim_int.h b/src/sim/sim_int.h index 99a2242..a96a9cd 100644 --- a/src/sim/sim_int.h +++ b/src/sim/sim_int.h @@ -33,5 +33,6 @@ struct osim_card_app_profile *osim_aprof_usim(void *ctx); struct osim_card_app_profile *osim_aprof_isim(void *ctx); +struct osim_card_app_profile *osim_aprof_hpsim(void *ctx); #endif -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I883faae5e170803b8301d10c8b9fad7892da009c Gerrit-Change-Number: 17558 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 Mar 21 15:26:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:26:58 +0000 Subject: Change in libosmocore[master]: sim: re-structure how we support cards + applications 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/+/17555 to look at the new patch set (#2). Change subject: sim: re-structure how we support cards + applications ...................................................................... sim: re-structure how we support cards + applications Before this change, a card application (USIM, ISIM, ...) didn't exist as a separate concept from a card profile. This meant, we had a manual combination of UICC card profile with USIM application, and another one of UICC card profile and ISIM application. But what if there's a combined USIM+ISIM? In reality, applications exist as separate objects, on top of an ETSI UICC. Lets therefore register all known applications to the osim library core, and add code to osmo-sim-test which dynamically detects all applications present on a given card (by reading EF.DIR). Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd --- M include/osmocom/sim/sim.h M src/sim/card_fs_isim.c M src/sim/card_fs_uicc.c M src/sim/card_fs_usim.c M src/sim/core.c M src/sim/reader_pcsc.c M src/sim/sim_int.h M utils/osmo-sim-test.c 8 files changed, 326 insertions(+), 122 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/17555/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd Gerrit-Change-Number: 17555 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 Mar 21 15:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:26:59 +0000 Subject: Change in libosmocore[master]: card_fs_sim: Avoid '/' in file names References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17559 ) Change subject: card_fs_sim: Avoid '/' in file names ...................................................................... card_fs_sim: Avoid '/' in file names ... as that doesn't work if we want to create a similarly-named file in the local file system. Change-Id: Ib8734e2e4b81c915ab0fbd0d9b6662275b1d33d1 --- M src/sim/card_fs_sim.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/17559/1 diff --git a/src/sim/card_fs_sim.c b/src/sim/card_fs_sim.c index 3f541f7..55ce9af 100644 --- a/src/sim/card_fs_sim.c +++ b/src/sim/card_fs_sim.c @@ -431,7 +431,7 @@ add_df_with_ef(gsm, 0x5F33, "DF.ACeS", NULL, 0); add_df_with_ef(gsm, 0x5F3C, "DF.MExE", sim_ef_in_mexe, ARRAY_SIZE(sim_ef_in_mexe)); - add_df_with_ef(gsm, 0x5F40, "DF.EIA/TIA-533", NULL, 0); + add_df_with_ef(gsm, 0x5F40, "DF.EIA-TIA-533", NULL, 0); add_df_with_ef(gsm, 0x5F60, "DF.CTS", NULL, 0); add_df_with_ef(gsm, 0x5F70, "DF.SoLSA", sim_ef_in_solsa, ARRAY_SIZE(sim_ef_in_solsa)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib8734e2e4b81c915ab0fbd0d9b6662275b1d33d1 Gerrit-Change-Number: 17559 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 Mar 21 15:27:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:27:44 +0000 Subject: Change in libosmocore[master]: sim: card_fs_usim.c: Fix FID of EF.EXT4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17550 ) Change subject: sim: card_fs_usim.c: Fix FID of EF.EXT4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7ad9f491c06f6540747b77017678ee37e6a1550d Gerrit-Change-Number: 17550 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 15:27: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 Mar 21 15:27:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:27:52 +0000 Subject: Change in libosmocore[master]: card_fs_sim: Avoid '/' in file names In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17559 ) Change subject: card_fs_sim: Avoid '/' in file names ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib8734e2e4b81c915ab0fbd0d9b6662275b1d33d1 Gerrit-Change-Number: 17559 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 21 Mar 2020 15: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 Sat Mar 21 15:28:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:28:06 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Use stderr for error messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17551 ) Change subject: osmo-sim-test: Use stderr for error messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f36b07b8601af2b0d54d95c3c6374d6c54bafd1 Gerrit-Change-Number: 17551 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 15:28: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 Mar 21 15:28:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:28:16 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: don't print SW in successful case of dump_file() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17552 ) Change subject: osmo-sim-test: don't print SW in successful case of dump_file() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie5a58a89052400d76a8607a2e0063917385beb25 Gerrit-Change-Number: 17552 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 15:28:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 15:29:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:29:44 +0000 Subject: Change in libosmocore[master]: card_fs_{usim, isim}: Update to 15.7.0 / Release 15 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17557 ) Change subject: card_fs_{usim,isim}: Update to 15.7.0 / Release 15 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia007281bcb61dcd8260d0a77203abeff21d5255f Gerrit-Change-Number: 17557 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 15:29: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 Mar 21 15:29:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:29:56 +0000 Subject: Change in libosmocore[master]: sim: Add HPSIM application support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17558 ) Change subject: sim: Add HPSIM application support ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I883faae5e170803b8301d10c8b9fad7892da009c Gerrit-Change-Number: 17558 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 15:29:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 15:31:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:31:29 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Optionally dump card files to host filesystem 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/+/17553 to look at the new patch set (#3). Change subject: osmo-sim-test: Optionally dump card files to host filesystem ...................................................................... osmo-sim-test: Optionally dump card files to host filesystem Using the new '--output-dir' command line argument, the user can instruct osmo-sim-test to dump the file content to a local directory. osmo-sim-test will create one sub-directory per DF, and create a text file for each EF. The contents of the text files are a hexdump of the contents. Transparent EF are dumped as one line of hex, while linear fixed EF are dumped as one record per line, i.e. the number of lines corresponds to the number of records. Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c --- M utils/osmo-sim-test.c 1 file changed, 97 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/17553/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c Gerrit-Change-Number: 17553 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 15:33:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 15:33:18 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: Several fixes and improvements to RAcap tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17549 ) Change subject: tests/RLCMACTest: Several fixes and improvements to RAcap tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 Gerrit-Change-Number: 17549 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 15: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 Sat Mar 21 16:15:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:15:50 +0000 Subject: Change in libosmocore[master]: sim: card_fs_usim.c: Fix FID of EF.EXT4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17550 ) Change subject: sim: card_fs_usim.c: Fix FID of EF.EXT4 ...................................................................... sim: card_fs_usim.c: Fix FID of EF.EXT4 The 3GPP spec document also contains this error at one point, and it seems I copied it from there :/ Change-Id: I7ad9f491c06f6540747b77017678ee37e6a1550d --- M src/sim/card_fs_usim.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index 9e9fc87..3b33c0f 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -161,7 +161,7 @@ "Key for hidden phone book entries"), EF_LIN_FIX_N(0x6F4D, SFI_NONE, "EF.BDN", F_OPTIONAL, 15, 32, "Barred Dialling Numbers"), - EF_LIN_FIX_N(0x6F4E, SFI_NONE, "EF.EXT4", F_OPTIONAL, 13, 13, + EF_LIN_FIX_N(0x6F55, SFI_NONE, "EF.EXT4", F_OPTIONAL, 13, 13, "Extension 4"), EF_LIN_FIX_N(0x6F58, SFI_NONE, "EF.CMI", F_OPTIONAL, 2, 16, "Comparison Method Information"), -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7ad9f491c06f6540747b77017678ee37e6a1550d Gerrit-Change-Number: 17550 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 16:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:15:51 +0000 Subject: Change in libosmocore[master]: card_fs_sim: Avoid '/' in file names In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17559 ) Change subject: card_fs_sim: Avoid '/' in file names ...................................................................... card_fs_sim: Avoid '/' in file names ... as that doesn't work if we want to create a similarly-named file in the local file system. Change-Id: Ib8734e2e4b81c915ab0fbd0d9b6662275b1d33d1 --- M src/sim/card_fs_sim.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sim/card_fs_sim.c b/src/sim/card_fs_sim.c index 3f541f7..55ce9af 100644 --- a/src/sim/card_fs_sim.c +++ b/src/sim/card_fs_sim.c @@ -431,7 +431,7 @@ add_df_with_ef(gsm, 0x5F33, "DF.ACeS", NULL, 0); add_df_with_ef(gsm, 0x5F3C, "DF.MExE", sim_ef_in_mexe, ARRAY_SIZE(sim_ef_in_mexe)); - add_df_with_ef(gsm, 0x5F40, "DF.EIA/TIA-533", NULL, 0); + add_df_with_ef(gsm, 0x5F40, "DF.EIA-TIA-533", NULL, 0); add_df_with_ef(gsm, 0x5F60, "DF.CTS", NULL, 0); add_df_with_ef(gsm, 0x5F70, "DF.SoLSA", sim_ef_in_solsa, ARRAY_SIZE(sim_ef_in_solsa)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib8734e2e4b81c915ab0fbd0d9b6662275b1d33d1 Gerrit-Change-Number: 17559 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 16:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:15:51 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Use stderr for error messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17551 ) Change subject: osmo-sim-test: Use stderr for error messages ...................................................................... osmo-sim-test: Use stderr for error messages Change-Id: I8f36b07b8601af2b0d54d95c3c6374d6c54bafd1 --- M utils/osmo-sim-test.c 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 27de0bc..2bf83fa 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -326,25 +326,25 @@ msg = select_file(chan, fid); if (!msg) { - printf("Unable to select file\n"); + fprintf(stderr, "Unable to select file\n"); return -EIO; } printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); if (msgb_apdu_sw(msg) != 0x9000) { - printf("status 0x%04x selecting file\n", msgb_apdu_sw(msg)); + fprintf(stderr, "status 0x%04x selecting file\n", msgb_apdu_sw(msg)); goto out; } if (g_class != 0xA0) { rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0); if (rc < 0) { - printf("Unable to parse FCP: %s\n", msgb_hexdump(msg)); + fprintf(stderr, "Unable to parse FCP: %s\n", msgb_hexdump(msg)); goto out; } if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_DESC) || TLVP_LEN(&tp, UICC_FCP_T_FILE_DESC) < 2) { - printf("No file descriptor present ?!?\n"); + fprintf(stderr, "No file descriptor present ?!?\n"); goto out; } @@ -355,12 +355,12 @@ } if (rc < 0) { - printf("Unable to decode File Descriptor\n"); + fprintf(stderr, "Unable to decode File Descriptor\n"); goto out; } if (ffdd.type != TYPE_EF) { - printf("File Type != EF\n"); + fprintf(stderr, "File Type != EF\n"); goto out; } @@ -384,7 +384,7 @@ i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); printf("File size: %d bytes\n", i); } else { - printf("Can not determine file size, invalid EF-type!\n"); + fprintf(stderr, "Can not determine file size, invalid EF-type!\n"); goto out; } for (offset = 0; offset < i-1; ) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8f36b07b8601af2b0d54d95c3c6374d6c54bafd1 Gerrit-Change-Number: 17551 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 Sat Mar 21 16:15:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:15:51 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: don't print SW in successful case of dump_file() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17552 ) Change subject: osmo-sim-test: don't print SW in successful case of dump_file() ...................................................................... osmo-sim-test: don't print SW in successful case of dump_file() Change-Id: Ie5a58a89052400d76a8607a2e0063917385beb25 --- M utils/osmo-sim-test.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 2bf83fa..4c704f6 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -329,7 +329,6 @@ fprintf(stderr, "Unable to select file\n"); return -EIO; } - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); if (msgb_apdu_sw(msg) != 0x9000) { fprintf(stderr, "status 0x%04x selecting file\n", msgb_apdu_sw(msg)); goto out; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie5a58a89052400d76a8607a2e0063917385beb25 Gerrit-Change-Number: 17552 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 Sat Mar 21 16:16:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:03 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Optionally dump card files to host filesystem In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17553 ) Change subject: osmo-sim-test: Optionally dump card files to host filesystem ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c Gerrit-Change-Number: 17553 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 16:16:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 16:16:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:07 +0000 Subject: Change in libosmocore[master]: sim: add osim_file_desc_find_aid() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17554 ) Change subject: sim: add osim_file_desc_find_aid() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I80468c8c4f4590c262019f42285e8d8fd3444f7f Gerrit-Change-Number: 17554 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 16:16:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 16:16:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:20 +0000 Subject: Change in libosmocore[master]: sim: re-structure how we support cards + applications In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17555 ) Change subject: sim: re-structure how we support cards + applications ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd Gerrit-Change-Number: 17555 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 16:16: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 Mar 21 16:16:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:22 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17556 ) Change subject: osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6180a3f81a7d3006e8ece4302c2433db2588bfaa Gerrit-Change-Number: 17556 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 21 Mar 2020 16:16:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 16:16:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:26 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Optionally dump card files to host filesystem In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17553 ) Change subject: osmo-sim-test: Optionally dump card files to host filesystem ...................................................................... osmo-sim-test: Optionally dump card files to host filesystem Using the new '--output-dir' command line argument, the user can instruct osmo-sim-test to dump the file content to a local directory. osmo-sim-test will create one sub-directory per DF, and create a text file for each EF. The contents of the text files are a hexdump of the contents. Transparent EF are dumped as one line of hex, while linear fixed EF are dumped as one record per line, i.e. the number of lines corresponds to the number of records. Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c --- M utils/osmo-sim-test.c 1 file changed, 97 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 4c704f6..a9ab0d0 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -1,5 +1,5 @@ /* libosmosim test application - currently simply dumps a USIM */ -/* (C) 2012 by Harald Welte +/* (C) 2012-2020 by Harald Welte * All Rights Reserved * * This program is free software; you can redistribute it and/or modify @@ -25,6 +25,12 @@ #include #include +#include +#include +#include +#include +#include + #include #include #include @@ -34,6 +40,7 @@ /* FIXME: this needs to be moved to card_fs_uicc.c */ static uint8_t g_class = 0x00; /* UICC/USIM */ +static const char *g_output_dir; /* 11.1.1 */ static struct msgb *_select_file(struct osim_chan_hdl *st, uint8_t p1, uint8_t p2, @@ -317,13 +324,15 @@ return NULL; } -static int dump_file(struct osim_chan_hdl *chan, uint16_t fid) +static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid) { struct tlv_parsed tp; struct osim_fcp_fd_decoded ffdd; struct msgb *msg, *rmsg; int rc, i, offset; + FILE *f_data = NULL; + /* Select the file */ msg = select_file(chan, fid); if (!msg) { fprintf(stderr, "Unable to select file\n"); @@ -363,23 +372,41 @@ goto out; } + if (g_output_dir) { + f_data = fopen(short_name, "w"); + if (!f_data) { + fprintf(stderr, "Couldn't create '%s': %s\n", short_name, strerror(errno)); + goto out; + } + } + printf("EF type: %u\n", ffdd.ef_type); switch (ffdd.ef_type) { case EF_TYPE_RECORD_FIXED: for (i = 0; i < ffdd.num_rec; i++) { + const char *hex; rmsg = read_record_nr(chan, i+1, ffdd.rec_len); - if (!rmsg) + if (!rmsg) { + if (f_data) + fclose(f_data); return -EIO; + } printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); - printf("Rec %03u: %s\n", i+1, - osmo_hexdump(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg))); + + hex = osmo_hexdump_nospc(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg)); + printf("Rec %03u: %s\n", i+1, hex); + if (f_data) + fprintf(f_data, "%s\n", hex); } break; case EF_TYPE_TRANSP: if (g_class != 0xA0) { - if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) + if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) { + if (f_data) + fclose(f_data); goto out; + } i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); printf("File size: %d bytes\n", i); } else { @@ -389,12 +416,18 @@ for (offset = 0; offset < i-1; ) { uint16_t remain_len = i - offset; uint16_t read_len = OSMO_MIN(remain_len, 256); + const char *hex; rmsg = read_binary(chan, offset, read_len); - if (!rmsg) + if (!rmsg) { + if (f_data) + fclose(f_data); return -EIO; + } offset += read_len; - printf("Content: %s\n", - osmo_hexdump(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg))); + hex = osmo_hexdump_nospc(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg)); + printf("Content: %s\n", hex); + if (f_data) + fprintf(f_data, "%s", hex); } break; default: @@ -402,8 +435,11 @@ } out: + if (f_data) + fclose(f_data); msgb_free(msg); return -EINVAL; + } static void print_help(void) @@ -411,6 +447,7 @@ printf( "osmo-sim-test Usage:\n" " -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" ); } @@ -423,10 +460,11 @@ const struct option long_options[] = { { "help", 0, 0, 'h' }, { "reader-num", 1, 0, 'n' }, + { "output-dir", 1, 0, 'o' }, {0,0,0,0} }; - c = getopt_long(argc, argv, "hn:", + c = getopt_long(argc, argv, "hn:o:", long_options, &option_index); if (c == -1) break; @@ -439,6 +477,9 @@ case 'n': readernum = atoi(optarg); break; + case 'o': + g_output_dir = optarg; + break; default: exit(2); break; @@ -452,6 +493,22 @@ } +static void mkdir_and_chdir(const char *name, mode_t mode) +{ + int rc; + rc = mkdir(name, mode); + if (rc < 0) { + fprintf(stderr, "Cannot create '%s': %s\n", name, strerror(errno)); + exit(24); + } + rc = chdir(name); + if (rc < 0) { + fprintf(stderr, "Cannot change to just-created '%s': %s\n", name, strerror(errno)); + exit(24); + } +} + + static void iterate_fs(struct osim_chan_hdl *chan) { const struct osim_file_desc *prev_cwd; @@ -460,6 +517,8 @@ /* iterate over all files in current working directory */ llist_for_each_entry(ofd, &chan->cwd->child_list, list) { struct msgb *m; + char prev_dir[PATH_MAX]; + printf("\n\n================ %s (%s) ==================\n", ofd->short_name, ofd->long_name); @@ -477,12 +536,22 @@ /* the select above has just changed into this directory */ prev_cwd = chan->cwd; chan->cwd = ofd; + if (g_output_dir) { + if (!getcwd(prev_dir, sizeof(prev_dir))) { + fprintf(stderr, "Cannot determine cwd: %s\n", strerror(errno)); + exit(23); + continue; + } + mkdir_and_chdir(ofd->short_name, 0750); + } iterate_fs(chan); /* "pop" the directory from the stack */ chan->cwd = prev_cwd; + if (g_output_dir) + OSMO_ASSERT(chdir("..") == 0); break; default: - dump_file(chan, ofd->fid); + dump_file(chan, ofd->short_name, ofd->fid); break; } } @@ -498,6 +567,22 @@ handle_options(argc, argv); + if (g_output_dir) { + int rc; + rc = mkdir(g_output_dir, 0750); + if (rc < 0) { + fprintf(stderr, "Cannot create directory '%s': %s\n", g_output_dir, + strerror(errno)); + exit(5); + } + rc = chdir(g_output_dir); + if (rc < 0) { + fprintf(stderr, "Cannot change to just-created directory '%s': %s\n", + g_output_dir, strerror(errno)); + exit(5); + } + } + reader = osim_reader_open(OSIM_READER_DRV_PCSC, readernum, "", NULL); if (!reader) exit(1); @@ -521,6 +606,7 @@ /* normal file */ dump_fcp_template_msg(msg); msgb_free(msg); + mkdir_and_chdir("ADF_USIM", 0750); } msg = select_file(chan, 0x6fc5); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35176f4a13c3537eaa8de550e231818a22b4c07c Gerrit-Change-Number: 17553 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 Mar 21 16:16:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:26 +0000 Subject: Change in libosmocore[master]: sim: add osim_file_desc_find_aid() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17554 ) Change subject: sim: add osim_file_desc_find_aid() ...................................................................... sim: add osim_file_desc_find_aid() Change-Id: I80468c8c4f4590c262019f42285e8d8fd3444f7f --- M TODO-RELEASE M include/osmocom/sim/sim.h M src/sim/core.c 3 files changed, 21 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 329e217..4145300 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,4 +7,5 @@ # 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 -gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param \ No newline at end of file +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() diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 8eb3f11..5440d85 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -243,6 +243,9 @@ osim_file_desc_find_name(struct osim_file_desc *parent, const char *name); struct osim_file_desc * +osim_file_desc_find_aid(struct osim_file_desc *parent, const uint8_t *aid, uint8_t aid_len); + +struct osim_file_desc * osim_file_desc_find_fid(struct osim_file_desc *parent, uint16_t fid); struct osim_file_desc * diff --git a/src/sim/core.c b/src/sim/core.c index b93633c..4360ff1 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -187,6 +187,22 @@ } struct osim_file_desc * +osim_file_desc_find_aid(struct osim_file_desc *parent, const uint8_t *aid, uint8_t aid_len) +{ + struct osim_file_desc *ofd; + llist_for_each_entry(ofd, &parent->child_list, list) { + if (ofd->type != TYPE_ADF) + continue; + if (aid_len > ofd->df_name_len) + continue; + if (!memcmp(ofd->df_name, aid, aid_len)) { + return ofd; + } + } + return NULL; +} + +struct osim_file_desc * osim_file_desc_find_fid(struct osim_file_desc *parent, uint16_t fid) { struct osim_file_desc *ofd; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I80468c8c4f4590c262019f42285e8d8fd3444f7f Gerrit-Change-Number: 17554 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 Mar 21 16:16:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:27 +0000 Subject: Change in libosmocore[master]: sim: re-structure how we support cards + applications In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17555 ) Change subject: sim: re-structure how we support cards + applications ...................................................................... sim: re-structure how we support cards + applications Before this change, a card application (USIM, ISIM, ...) didn't exist as a separate concept from a card profile. This meant, we had a manual combination of UICC card profile with USIM application, and another one of UICC card profile and ISIM application. But what if there's a combined USIM+ISIM? In reality, applications exist as separate objects, on top of an ETSI UICC. Lets therefore register all known applications to the osim library core, and add code to osmo-sim-test which dynamically detects all applications present on a given card (by reading EF.DIR). Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd --- M include/osmocom/sim/sim.h M src/sim/card_fs_isim.c M src/sim/card_fs_uicc.c M src/sim/card_fs_usim.c M src/sim/core.c M src/sim/reader_pcsc.c M src/sim/sim_int.h M utils/osmo-sim-test.c 8 files changed, 326 insertions(+), 122 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 5440d85..33ebdd7 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -9,6 +9,7 @@ #include #define APDU_HDR_LEN 5 +#define MAX_AID_LEN 16 /* Table 13.2 of TS 102 221 */ /*! command-response pairs cases * @@ -66,6 +67,8 @@ #define msgb_apdu_dc(__x) ((__x)->l2h + sizeof(struct osim_apdu_cmd_hdr)) #define msgb_apdu_de(__x) ((__x)->l2h + sizeof(struct osim_apdu_cmd_hdr) + msgb_apdu_lc(__x)) +int osim_init(void *ctx); + /* FILES */ struct osim_file; @@ -285,6 +288,28 @@ .class = SW_CLS_NONE, .u.str = NULL \ } +/*! A card application (e.g. USIM, ISIM, HPSIM) */ +struct osim_card_app_profile { + /*! entry in the global list of card application profiles */ + struct llist_head list; + /*! human-readable name */ + const char *name; + /*! AID of this application, as used in EF.DIR */ + uint8_t aid[MAX_AID_LEN]; + uint8_t aid_len; + /*! file system description */ + struct osim_file_desc *adf; + /*! Status words defined by application */ + const struct osim_card_sw *sw; +}; + +const struct osim_card_app_profile * +osim_app_profile_find_by_name(const char *name); + +const struct osim_card_app_profile * +osim_app_profile_find_by_aid(const uint8_t *aid, uint8_t aid_len); + + /*! A card profile (e.g. SIM card */ struct osim_card_profile { const char *name; @@ -357,6 +382,19 @@ struct osim_card_hdl *card; }; +/*! descriptor for a given application present on a card */ +struct osim_card_app_hdl { + /*! member in card list of applications */ + struct llist_head list; + /*! AID of the application */ + uint8_t aid[MAX_AID_LEN]; + uint8_t aid_len; + /*! application label from EF_DIR */ + char *label; + /*! application profile (if any known) */ + const struct osim_card_app_profile *prof; +}; + struct osim_card_hdl { /*! member in global list of cards */ struct llist_head list; @@ -369,6 +407,9 @@ /*! list of channels for this card */ struct llist_head channels; + + /*! list of applications found on card */ + struct llist_head apps; }; struct osim_chan_hdl { @@ -376,9 +417,15 @@ struct llist_head list; /*! card to which this channel belongs */ struct osim_card_hdl *card; + /*! current working directory */ const struct osim_file_desc *cwd; + /*! currently selected application (if any) */ + struct osim_card_app_hdl *cur_app; }; +int osim_card_hdl_add_app(struct osim_card_hdl *ch, const uint8_t *aid, uint8_t aid_len, + const char *label); + /* reader.c */ int osim_transceive_apdu(struct osim_chan_hdl *st, struct msgb *amsg); struct osim_reader_hdl *osim_reader_open(enum osim_reader_driver drv, int idx, diff --git a/src/sim/card_fs_isim.c b/src/sim/card_fs_isim.c index e6ba0d0..2970c45 100644 --- a/src/sim/card_fs_isim.c +++ b/src/sim/card_fs_isim.c @@ -43,12 +43,6 @@ OSIM_CARD_SW_LAST }; -static const struct osim_card_sw *isim_card_sws[] = { - ts31_103_sw, - ts102221_uicc_sw, - NULL -}; - /* TS 31.103 Version 11.2.0 Release 11 / Chapoter 4.2 */ static const struct osim_file_desc isim_ef_in_adf_isim[] = { EF_TRANSP_N(0x6F02, 0x02, "EF.IMPI", 0, 1, 256, @@ -86,23 +80,21 @@ /* Annex E - TS 101 220 */ static const uint8_t adf_isim_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x04 }; -struct osim_card_profile *osim_cprof_isim(void *ctx) +struct osim_card_app_profile *osim_aprof_isim(void *ctx) { - struct osim_card_profile *cprof; - struct osim_file_desc *mf; + struct osim_card_app_profile *aprof; + struct osim_file_desc *iadf; - cprof = talloc_zero(ctx, struct osim_card_profile); - cprof->name = "3GPP ISIM"; - cprof->sws = isim_card_sws; - - mf = alloc_df(cprof, 0x3f00, "MF"); - - cprof->mf = mf; + aprof = talloc_zero(ctx, struct osim_card_app_profile); + aprof->name = "3GPP ISIM"; + aprof->sw = ts31_103_sw; + aprof->aid_len = sizeof(adf_isim_aid); + memcpy(aprof->aid, adf_isim_aid, aprof->aid_len); /* ADF.USIM with its EF siblings */ - add_adf_with_ef(mf, adf_isim_aid, sizeof(adf_isim_aid), - "ADF.ISIM", isim_ef_in_adf_isim, - ARRAY_SIZE(isim_ef_in_adf_isim)); + iadf = alloc_adf_with_ef(aprof, adf_isim_aid, sizeof(adf_isim_aid), "ADF.ISIM", + isim_ef_in_adf_isim, ARRAY_SIZE(isim_ef_in_adf_isim)); + aprof->adf = iadf; - return cprof; + return aprof; } diff --git a/src/sim/card_fs_uicc.c b/src/sim/card_fs_uicc.c index af6061c..c73fc9a 100644 --- a/src/sim/card_fs_uicc.c +++ b/src/sim/card_fs_uicc.c @@ -1,7 +1,7 @@ /*! \file card_fs_uicc.c * ETSI UICC specific structures / routines. */ /* - * (C) 2012 by Harald Welte + * (C) 2012-2020 by Harald Welte * * All Rights Reserved * @@ -25,8 +25,12 @@ #include +#include #include +#include "sim_int.h" +#include "gsm_int.h" + /* TS 102 221 V10.0.0 / 10.2.1 */ const struct osim_card_sw ts102221_uicc_sw[] = { { @@ -171,6 +175,23 @@ OSIM_CARD_SW_LAST }; +static const struct osim_card_sw *uicc_card_sws[] = { + ts102221_uicc_sw, + NULL +}; + +/* TS 102 221 Chapter 13.1 */ +static const struct osim_file_desc uicc_ef_in_mf[] = { + EF_LIN_FIX_N(0x2f00, SFI_NONE, "EF.DIR", 0, 1, 32, + "Application directory"), + EF_TRANSP_N(0x2FE2, SFI_NONE, "EF.ICCID", 0, 10, 10, + "ICC Identification"), + EF_TRANSP_N(0x2F05, SFI_NONE, "EF.PL", 0, 2, 20, + "Preferred Languages"), + EF_LIN_FIX_N(0x2F06, SFI_NONE, "EF.ARR", F_OPTIONAL, 1, 256, + "Access Rule Reference"), +}; + const struct value_string ts102221_fcp_vals[14] = { { UICC_FCP_T_FCP, "File control parameters" }, { UICC_FCP_T_FILE_SIZE, "File size" }, @@ -209,3 +230,30 @@ /* Annex E - TS 101 220 */ static const uint8_t __attribute__((__unused__)) adf_uicc_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x01 }; + +struct osim_card_profile *osim_cprof_uicc(void *ctx) +{ + struct osim_card_profile *cprof; + struct osim_file_desc *mf; + int rc; + + cprof = talloc_zero(ctx, struct osim_card_profile); + cprof->name = "3GPP UICC"; + cprof->sws = uicc_card_sws; // FIXME: extend later + + mf = alloc_df(cprof, 0x3f00, "MF"); + + cprof->mf = mf; + + /* Core UICC Files */ + add_filedesc(mf, uicc_ef_in_mf, ARRAY_SIZE(uicc_ef_in_mf)); + + /* DF.TELECOM hierarchy as sub-directory of MF */ + rc = osim_int_cprof_add_telecom(mf); + if (rc != 0) { + talloc_free(cprof); + return NULL; + } + + return cprof; +} diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index 3b33c0f..97f712a 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -1,7 +1,7 @@ /*! \file card_fs_usim.c * 3GPP USIM specific structures / routines. */ /* - * (C) 2012-2014 by Harald Welte + * (C) 2012-2020 by Harald Welte * * All Rights Reserved * @@ -47,24 +47,6 @@ OSIM_CARD_SW_LAST }; -static const struct osim_card_sw *usim_card_sws[] = { - ts31_102_sw, - ts102221_uicc_sw, - NULL -}; - -/* TS 102 221 Chapter 13.1 */ -static const struct osim_file_desc uicc_ef_in_mf[] = { - EF_LIN_FIX_N(0x2f00, SFI_NONE, "EF.DIR", 0, 1, 32, - "Application directory"), - EF_TRANSP_N(0x2FE2, SFI_NONE, "EF.ICCID", 0, 10, 10, - "ICC Identification"), - EF_TRANSP_N(0x2F05, SFI_NONE, "EF.PL", 0, 2, 20, - "Preferred Languages"), - EF_LIN_FIX_N(0x2F06, SFI_NONE, "EF.ARR", F_OPTIONAL, 1, 256, - "Access Rule Reference"), -}; - /* 31.102 Chapter 4.4.3 */ static const struct osim_file_desc usim_ef_in_df_gsm_access[] = { EF_TRANSP_N(0x4f20, 0x01, "EF.Kc", 0, 9, 9, @@ -330,27 +312,21 @@ /* Annex E - TS 101 220 */ static const uint8_t adf_usim_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x02 }; -struct osim_card_profile *osim_cprof_usim(void *ctx) +struct osim_card_app_profile *osim_aprof_usim(void *ctx) { - struct osim_card_profile *cprof; - struct osim_file_desc *mf, *uadf; - int rc; + struct osim_card_app_profile *aprof; + struct osim_file_desc *uadf; - cprof = talloc_zero(ctx, struct osim_card_profile); - cprof->name = "3GPP USIM"; - cprof->sws = usim_card_sws; - - mf = alloc_df(cprof, 0x3f00, "MF"); - - cprof->mf = mf; - - /* Core UICC Files */ - add_filedesc(mf, uicc_ef_in_mf, ARRAY_SIZE(uicc_ef_in_mf)); + aprof = talloc_zero(ctx, struct osim_card_app_profile); + aprof->name = "3GPP USIM"; + aprof->sw = ts31_102_sw; + aprof->aid_len = sizeof(adf_usim_aid); + memcpy(aprof->aid, adf_usim_aid, aprof->aid_len); /* ADF.USIM with its EF siblings */ - uadf = add_adf_with_ef(mf, adf_usim_aid, sizeof(adf_usim_aid), - "ADF.USIM", usim_ef_in_adf_usim, - ARRAY_SIZE(usim_ef_in_adf_usim)); + uadf = alloc_adf_with_ef(aprof, adf_usim_aid, sizeof(adf_usim_aid), + "ADF.USIM", usim_ef_in_adf_usim, ARRAY_SIZE(usim_ef_in_adf_usim)); + aprof->adf = uadf; /* DFs under ADF.USIM */ add_df_with_ef(uadf, 0x5F3A, "DF.PHONEBOOK", NULL, 0); @@ -369,13 +345,14 @@ /* OMA BCAST Smart Card Profile */ add_df_with_ef(uadf, 0x5F80, "DF.BCAST", NULL, 0); - /* DF.GSM and DF.TELECOM hierarchy as sub-directory of MF */ +#if 0 + /* DF.GSM as sub-directory of MF */ rc = osim_int_cprof_add_gsm(mf); - rc |= osim_int_cprof_add_telecom(mf); if (rc != 0) { talloc_free(cprof); return NULL; } +#endif - return cprof; + return aprof; } diff --git a/src/sim/core.c b/src/sim/core.c index 4360ff1..80a168f 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -1,7 +1,7 @@ /*! \file core.c * Core routines for SIM/UICC/USIM access. */ /* - * (C) 2012 by Harald Welte + * (C) 2012-2020 by Harald Welte * * All Rights Reserved * @@ -27,10 +27,13 @@ #include #include #include +#include #include #include +#include "sim_int.h" + struct osim_decoded_data *osim_file_decode(struct osim_file *file, int len, uint8_t *data) { @@ -154,21 +157,19 @@ } struct osim_file_desc * -add_adf_with_ef(struct osim_file_desc *parent, +alloc_adf_with_ef(void *ctx, const uint8_t *adf_name, uint8_t adf_name_len, const char *name, const struct osim_file_desc *in, int num) { struct osim_file_desc *df; - df = alloc_df(parent, 0xffff, name); + df = alloc_df(ctx, 0xffff, name); if (!df) return NULL; df->type = TYPE_ADF; df->df_name = adf_name; df->df_name_len = adf_name_len; - df->parent = parent; - llist_add_tail(&df->list, &parent->child_list); add_filedesc(df, in, num); return df; @@ -229,6 +230,88 @@ } +/*********************************************************************** + * Application Profiles + Applications + ***********************************************************************/ + +static LLIST_HEAD(g_app_profiles); + +/*! Register an application profile. Typically called at early start-up. */ +void osim_app_profile_register(struct osim_card_app_profile *aprof) +{ + OSMO_ASSERT(!osim_app_profile_find_by_name(aprof->name)); + OSMO_ASSERT(!osim_app_profile_find_by_aid(aprof->aid, aprof->aid_len)); + llist_add_tail(&aprof->list, &g_app_profiles); +} + +/*! Find any registered application profile based on its name (e.g. "ADF.USIM") */ +const struct osim_card_app_profile * +osim_app_profile_find_by_name(const char *name) +{ + struct osim_card_app_profile *ap; + + llist_for_each_entry(ap, &g_app_profiles, list) { + if (!strcmp(name, ap->name)) + return ap; + } + return NULL; +} + +/*! Find any registered application profile based on its AID */ +const struct osim_card_app_profile * +osim_app_profile_find_by_aid(const uint8_t *aid, uint8_t aid_len) +{ + struct osim_card_app_profile *ap; + + llist_for_each_entry(ap, &g_app_profiles, list) { + if (ap->aid_len > aid_len) + continue; + if (!memcmp(ap->aid, aid, ap->aid_len)) + return ap; + } + return NULL; +} + +struct osim_card_app_hdl * +osim_card_hdl_find_app(struct osim_card_hdl *ch, const uint8_t *aid, uint8_t aid_len) +{ + struct osim_card_app_hdl *ah; + + if (aid_len > MAX_AID_LEN) + return NULL; + + llist_for_each_entry(ah, &ch->apps, list) { + if (!memcmp(ah->aid, aid, aid_len)) + return ah; + } + return NULL; +} + +/*! Add an application to a given card */ +int osim_card_hdl_add_app(struct osim_card_hdl *ch, const uint8_t *aid, uint8_t aid_len, + const char *label) +{ + struct osim_card_app_hdl *ah; + + if (aid_len > MAX_AID_LEN) + return -EINVAL; + + if (osim_card_hdl_find_app(ch, aid, aid_len)) + return -EEXIST; + + ah = talloc_zero(ch, struct osim_card_app_hdl); + if (!ah) + return -ENOMEM; + + memcpy(ah->aid, aid, aid_len); + ah->aid_len = aid_len; + ah->prof = osim_app_profile_find_by_aid(ah->aid, ah->aid_len); + if (label) + ah->label = talloc_strdup(ah, label); + llist_add_tail(&ah->list, &ch->apps); + return 0; +} + /*! Generate an APDU message and initialize APDU command header * \param[in] cla CLASS byte * \param[in] ins INSTRUCTION byte @@ -365,3 +448,11 @@ return 0; } + +int osim_init(void *ctx) +{ + osim_app_profile_register(osim_aprof_usim(ctx)); + osim_app_profile_register(osim_aprof_isim(ctx)); + + return 0; +} diff --git a/src/sim/reader_pcsc.c b/src/sim/reader_pcsc.c index 04a8622..c37380a 100644 --- a/src/sim/reader_pcsc.c +++ b/src/sim/reader_pcsc.c @@ -121,6 +121,7 @@ card = talloc_zero(rh, struct osim_card_hdl); INIT_LLIST_HEAD(&card->channels); + INIT_LLIST_HEAD(&card->apps); card->reader = rh; rh->card = card; diff --git a/src/sim/sim_int.h b/src/sim/sim_int.h index 885011e..99a2242 100644 --- a/src/sim/sim_int.h +++ b/src/sim/sim_int.h @@ -12,8 +12,6 @@ element_alloc_sub(struct osim_decoded_element *ee, const char *name, enum osim_element_type type, enum osim_element_repr repr); -extern const struct osim_card_sw ts102221_uicc_sw[0]; - int default_decode(struct osim_decoded_data *dd, const struct osim_file_desc *desc, int len, uint8_t *data); @@ -26,11 +24,14 @@ const struct osim_file_desc *in, int num); struct osim_file_desc * -add_adf_with_ef(struct osim_file_desc *parent, - const uint8_t *adf_name, uint8_t adf_name_len, - const char *name, const struct osim_file_desc *in, - int num); +alloc_adf_with_ef(void *ctx, const uint8_t *adf_name, uint8_t adf_name_len, + const char *name, const struct osim_file_desc *in, int num); extern const struct osim_reader_ops pcsc_reader_ops; +void osim_app_profile_register(struct osim_card_app_profile *aprof); + +struct osim_card_app_profile *osim_aprof_usim(void *ctx); +struct osim_card_app_profile *osim_aprof_isim(void *ctx); + #endif diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index a9ab0d0..e71d0ef 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -77,6 +77,7 @@ 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) { @@ -94,6 +95,7 @@ return osim_transceive_apdu(st, msg); } +#endif /* 11.1.5 */ static struct msgb *read_record_nr(struct osim_chan_hdl *st, uint8_t rec_nr, uint16_t rec_size) @@ -241,49 +243,59 @@ return 0; } -extern struct osim_card_profile *osim_cprof_sim(void *ctx); -extern struct osim_card_profile *osim_cprof_usim(void *ctx); -extern struct osim_card_profile *osim_cprof_isim(void *ctx); - -static struct msgb *try_select_adf_usim(struct osim_chan_hdl *st) +/*! scan an UICC for all installed apps; allocate osim_card_app_hdl for each of them */ +static int osim_uicc_scan_apps(struct osim_chan_hdl *st) { struct tlv_parsed tp; struct osim_fcp_fd_decoded ofd; - struct msgb *msg, *msg2; + struct msgb *msg; uint8_t *cur; int rc, i; + /* we don't know where we currently might be; go back to MF */ + msg = select_file(st, 0x3f00); + if (!msg) + return -EIO; + if (msgb_apdu_sw(msg) != 0x9000) + return -msgb_apdu_sw(msg); + + /* select EF.DIR */ msg = select_file(st, 0x2f00); if (!msg) - return NULL; + return -EIO; /* return status word in case of error */ if (msgb_apdu_sw(msg) != 0x9000) - return msg; + return -msgb_apdu_sw(msg); + /* various FCP related sanity checks */ rc = tlv_parse(&tp, &ts102221_fcp_tlv_def, msgb_apdu_de(msg)+2, msgb_apdu_le(msg)-2, 0, 0); if (rc < 0) { + fprintf(stderr, "Error decoding EF.DIR FCP TLV\n"); msgb_free(msg); - return NULL; + return -EINVAL; } dump_fcp_template(&tp); if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_DESC) || TLVP_LEN(&tp, UICC_FCP_T_FILE_DESC) < 5) { + fprintf(stderr, "No EF.DIR FCP file description\n"); msgb_free(msg); - return NULL; + return -EINVAL; } rc = osim_fcp_fd_decode(&ofd, TLVP_VAL(&tp, UICC_FCP_T_FILE_DESC), TLVP_LEN(&tp, UICC_FCP_T_FILE_DESC)); if (rc < 0) { + fprintf(stderr, "Error decoding EF.DIR FCP file description\n"); msgb_free(msg); - return NULL; + return -EINVAL; } if (ofd.type != TYPE_EF || ofd.ef_type != EF_TYPE_RECORD_FIXED) { + fprintf(stderr, "EF.DIR is not a fixed record EF!?!\n"); msgb_free(msg); - return NULL; + return -EINVAL; } msgb_free(msg); @@ -291,39 +303,46 @@ printf("ofd rec_len = %u, num_rec = %u\n", ofd.rec_len, ofd.num_rec); for (i = 0; i < ofd.num_rec; i++) { + const uint8_t *aid; + uint8_t aid_len; msg = read_record_nr(st, i+1, ofd.rec_len); - if (!msg) - return NULL; + if (!msg) { + fprintf(stderr, "Error reading Record %u of EF.DIR, skipping\n", i+1); + continue; + } + + /* Entries look like this: + * 61194f10 a0000000871002ffffffff8907090000 5005 5553696d31 ffffffffffffffffffffff */ cur = msgb_apdu_de(msg); if (msgb_apdu_le(msg) < 5) { + fprintf(stderr, "Record length %u too short for EF.DIR, skipping\n", msgb_apdu_le(msg)); msgb_free(msg); - return NULL; + continue; } if (cur[0] != 0x61 || cur[1] < 0x03 || cur[1] > 0x7f || cur[2] != 0x4F || cur[3] < 0x01 || cur[3] > 0x10) { + fprintf(stderr, "Unexpected/unknown record in EF.DIR: %s, skipping\n", + osmo_hexdump_nospc(msgb_apdu_de(msg), msgb_apdu_le(msg))); msgb_free(msg); - return NULL; + continue; } + aid_len = cur[3]; + aid = cur+4; - /* FIXME: actually check if it is an AID that we support, or - * iterate until we find one that we support */ - - msg2 = select_adf(st, cur+4, cur[3]); - - /* attach the USIM profile, FIXME: do this based on AID match */ - st->card->prof = osim_cprof_usim(st->card); - st->cwd = osim_file_desc_find_name(st->card->prof->mf, "ADF.USIM"); - - msgb_free(msg); - - return msg2; + /* FIXME: parse / pass label*/ + printf("Detected AID %s\n", osmo_hexdump_nospc(aid, aid_len)); + osim_card_hdl_add_app(st->card, aid, aid_len, NULL); } - return NULL; + return i; } + +extern struct osim_card_profile *osim_cprof_sim(void *ctx); +extern struct osim_card_profile *osim_cprof_uicc(void *ctx); + static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid) { struct tlv_parsed tp; @@ -557,16 +576,52 @@ } } +static void iterate_apps(struct osim_chan_hdl *chan) +{ + struct osim_card_app_hdl *cah; + + llist_for_each_entry(cah, &chan->card->apps, list) { + const struct osim_card_app_profile *cap = cah->prof; + struct msgb *msg; + + if (!cap) { + fprintf(stderr, "Unknown AID %s; skipping\n", + osmo_hexdump_nospc(cah->aid, cah->aid_len)); + continue; + } + + msg = select_adf(chan, cah->aid, cah->aid_len); + if (!msg) { + fprintf(stderr, "Error selectiong ADF for AID %s; skipping\n", + osmo_hexdump_nospc(cah->aid, cah->aid_len)); + continue; + } + printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); + chan->cur_app = cah; + chan->cwd = cap->adf; + + if (g_output_dir) + mkdir_and_chdir(cap->adf->short_name, 0750); + + iterate_fs(chan); + + if (g_output_dir) + OSMO_ASSERT(chdir("..") == 0); + } +} + int main(int argc, char **argv) { struct osim_reader_hdl *reader; struct osim_card_hdl *card; struct osim_chan_hdl *chan; - struct msgb *msg; + int rc; handle_options(argc, argv); + osim_init(NULL); + if (g_output_dir) { int rc; rc = mkdir(g_output_dir, 0750); @@ -593,34 +648,26 @@ if (!chan) exit(3); - msg = try_select_adf_usim(chan); - if (!msg) { - exit(4); - } else if (msgb_apdu_sw(msg) == 0x6e00) { + //verify_pin(chan, 1, "1653"); + + rc = osim_uicc_scan_apps(chan); + if (rc >= 0) { + chan->card->prof = osim_cprof_uicc(chan->card); + chan->cwd = chan->card->prof->mf; + } else if (rc == -0x6e00) { /* CLA not supported: must be classic SIM, not USIM */ g_class = 0xA0; chan->card->prof = osim_cprof_sim(chan->card); chan->cwd = chan->card->prof->mf; - msgb_free(msg); - } else if (msgb_apdu_sw(msg) == 0x9000) { - /* normal file */ - dump_fcp_template_msg(msg); - msgb_free(msg); - mkdir_and_chdir("ADF_USIM", 0750); + } else if (rc < 0) { + exit(4); } - msg = select_file(chan, 0x6fc5); - dump_fcp_template_msg(msg); - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); - msgb_free(msg); - - verify_pin(chan, 1, "1653"); - - msg = select_file(chan, 0x6f06); - dump_fcp_template_msg(msg); - msgb_free(msg); - + /* first iterate over normal file system */ iterate_fs(chan); + /* then itereate over all apps and their file system */ + iterate_apps(chan); + exit(0); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic4b4ac433a9976842b30a017fb0fc347d87201cd Gerrit-Change-Number: 17555 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 Mar 21 16:16:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:27 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17556 ) Change subject: osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards ...................................................................... osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards an USIM application can very well exist on a UICC without supporting classic DF.GSM access. However, most commonly, both are found on cards. Change-Id: I6180a3f81a7d3006e8ece4302c2433db2588bfaa --- M src/sim/card_fs_uicc.c M src/sim/card_fs_usim.c M utils/osmo-sim-test.c 3 files changed, 12 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sim/card_fs_uicc.c b/src/sim/card_fs_uicc.c index c73fc9a..5dcaaa1 100644 --- a/src/sim/card_fs_uicc.c +++ b/src/sim/card_fs_uicc.c @@ -231,7 +231,7 @@ /* Annex E - TS 101 220 */ static const uint8_t __attribute__((__unused__)) adf_uicc_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x01 }; -struct osim_card_profile *osim_cprof_uicc(void *ctx) +struct osim_card_profile *osim_cprof_uicc(void *ctx, bool have_df_gsm) { struct osim_card_profile *cprof; struct osim_file_desc *mf; @@ -255,5 +255,14 @@ return NULL; } + if (have_df_gsm) { + /* DF.GSM as sub-directory of MF */ + rc = osim_int_cprof_add_gsm(mf); + if (rc != 0) { + talloc_free(cprof); + return NULL; + } + } + return cprof; } diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index 97f712a..d5d2736 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -345,14 +345,5 @@ /* OMA BCAST Smart Card Profile */ add_df_with_ef(uadf, 0x5F80, "DF.BCAST", NULL, 0); -#if 0 - /* DF.GSM as sub-directory of MF */ - rc = osim_int_cprof_add_gsm(mf); - if (rc != 0) { - talloc_free(cprof); - return NULL; - } -#endif - return aprof; } diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index e71d0ef..6cf36a6 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -341,7 +341,7 @@ extern struct osim_card_profile *osim_cprof_sim(void *ctx); -extern struct osim_card_profile *osim_cprof_uicc(void *ctx); +extern struct osim_card_profile *osim_cprof_uicc(void *ctx, bool have_df_gsm); static int dump_file(struct osim_chan_hdl *chan, const char *short_name, uint16_t fid) { @@ -652,7 +652,7 @@ rc = osim_uicc_scan_apps(chan); if (rc >= 0) { - chan->card->prof = osim_cprof_uicc(chan->card); + chan->card->prof = osim_cprof_uicc(chan->card, true); chan->cwd = chan->card->prof->mf; } else if (rc == -0x6e00) { /* CLA not supported: must be classic SIM, not USIM */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6180a3f81a7d3006e8ece4302c2433db2588bfaa Gerrit-Change-Number: 17556 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 Mar 21 16:16:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:27 +0000 Subject: Change in libosmocore[master]: card_fs_{usim, isim}: Update to 15.7.0 / Release 15 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17557 ) Change subject: card_fs_{usim,isim}: Update to 15.7.0 / Release 15 ...................................................................... card_fs_{usim,isim}: Update to 15.7.0 / Release 15 Various new files and some new status words have been defined by now. Let's add them. Change-Id: Ia007281bcb61dcd8260d0a77203abeff21d5255f --- M src/sim/card_fs_isim.c M src/sim/card_fs_usim.c 2 files changed, 56 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sim/card_fs_isim.c b/src/sim/card_fs_isim.c index 2970c45..f11c029 100644 --- a/src/sim/card_fs_isim.c +++ b/src/sim/card_fs_isim.c @@ -1,7 +1,7 @@ /*! \file card_fs_isim.c * 3GPP ISIM specific structures / routines. */ /* - * (C) 2014 by Harald Welte + * (C) 2014-2020 by Harald Welte * * All Rights Reserved * @@ -34,16 +34,19 @@ #include "sim_int.h" #include "gsm_int.h" -/* TS 31.103 Version 11.2.0 Release 11 / Chapoter 7.1.3 */ +/* TS 31.103 Version 15.5.0 Release 15 / Chapter 7.1.3 */ const struct osim_card_sw ts31_103_sw[] = { { 0x9862, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, .u.str = "Security management - Authentication error, incorrect MAC", + }, { + 0x9864, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, security context not supported", }, OSIM_CARD_SW_LAST }; -/* TS 31.103 Version 11.2.0 Release 11 / Chapoter 4.2 */ +/* TS 31.103 Version 15.5.0 Release 15 / Chapter 4.2 */ static const struct osim_file_desc isim_ef_in_adf_isim[] = { EF_TRANSP_N(0x6F02, 0x02, "EF.IMPI", 0, 1, 256, "IMS private user identity"), @@ -75,6 +78,14 @@ "Short message service parameters"), EF_LIN_FIX_N(0x6FE7, SFI_NONE, "EF.UICCIARI", F_OPTIONAL, 1, 256, "UICC IARI"), + EF_TRANSP_N(0x6FF7, SFI_NONE, "EF_FromPreferred", F_OPTIONAL, 1, 1, + "From Preferred"), + EF_TRANSP_N(0x6FF8, SFI_NONE, "EF_IMSConfigData", F_OPTIONAL, 3, 128, + "IMS Configuration Data"), + EF_TRANSP_N(0x6FFC, SFI_NONE, "EF_XCAPConfigData", F_OPTIONAL, 1, 128, + "XCAP Configuration Data"), + EF_LIN_FIX_N(0x6FFA, SFI_NONE, "EF_WebRTCURI", F_OPTIONAL, 3, 128, + "WebRTC URI"), }; /* Annex E - TS 101 220 */ diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c index d5d2736..4c8f79c 100644 --- a/src/sim/card_fs_usim.c +++ b/src/sim/card_fs_usim.c @@ -32,7 +32,7 @@ #include "sim_int.h" #include "gsm_int.h" -/* TS 31.102 Version 7.7.0 / Chapter 7.3 */ +/* TS 31.102 Version 15.7.0 Release 15 / Chapter 7.3 */ const struct osim_card_sw ts31_102_sw[] = { { 0x9862, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, @@ -43,11 +43,17 @@ }, { 0x9865, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, .u.str = "Security management - Key freshness error", + }, { + 0x9866, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, no memory space available", + }, { + 0x9867, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, no memory space available in EF_MUK", }, OSIM_CARD_SW_LAST }; -/* 31.102 Chapter 4.4.3 */ +/* 31.102 Version 15.7.0 Release 15 / Chapter 4.4.3 */ static const struct osim_file_desc usim_ef_in_df_gsm_access[] = { EF_TRANSP_N(0x4f20, 0x01, "EF.Kc", 0, 9, 9, "Ciphering Key Kc"), @@ -59,7 +65,7 @@ "Investigation Scan"), }; -/* 31.102 Chapter 4.2 */ +/* 31.102 Version 15.7.0 Release 15 / Chapter 4.2 */ static const struct osim_file_desc usim_ef_in_adf_usim[] = { EF_TRANSP(0x6F05, 0x02, "EF.LI", 0, 2, 16, "Language Indication", &gsm_lp_decode, NULL), @@ -243,6 +249,39 @@ "UICC IARI"), EF_TRANSP_N(0x6FEC, SFI_NONE, "EF.PWS", F_OPTIONAL, 1, 32, "Public Warning System"), + EF_LIN_FIX_N(0x6FED, SFI_NONE, "EF_FDNURI", F_OPTIONAL, 1, 128, + "Fixed Dialling Numbers URI"), + EF_LIN_FIX_N(0x6FEE, SFI_NONE, "EF_BDNURI", F_OPTIONAL, 1, 128, + "Barred Dialling Numbers URI"), + EF_LIN_FIX_N(0x6FEF, SFI_NONE, "EF_SDNURI", F_OPTIONAL, 1, 128, + "Service Dialling Numbers URI"), + EF_LIN_FIX_N(0x6FF0, SFI_NONE, "EF_IWL", F_OPTIONAL, 18, 32, + "IMEI(SV) White Lists"), + EF_CYCLIC_N(0x6FF1, SFI_NONE, "EF_IPS", F_OPTIONAL, 4, 4, + "IMEI(SV) Pairing Status"), + EF_LIN_FIX_N(0x6FF2, SFI_NONE, "EF_IPD", F_OPTIONAL, 10, 16, + "IMEI(SV) of Pairing Device"), + EF_TRANSP_N(0x6FF3, SFI_NONE, "EF_ePDGId", F_OPTIONAL, 1, 128, + "Home ePDG Identifier"), + EF_TRANSP_N(0x6FF4, SFI_NONE, "EF_ePDGSelection", F_OPTIONAL, 1, 128, + "ePDG Selection Information"), + EF_TRANSP_N(0x6FF5, SFI_NONE, "EF_ePDGIdEm", F_OPTIONAL, 1, 128, + "Emergency ePDG Identifier"), + EF_TRANSP_N(0x6FF6, SFI_NONE, "EF_ePDGSelectionEm", F_OPTIONAL, 1, 128, + "ePDG Selection Information for Emergency Services"), + EF_TRANSP_N(0x6FF7, SFI_NONE, "EF_FromPreferred", F_OPTIONAL, 1, 1, + "From Preferred"), + EF_TRANSP_N(0x6FF8, SFI_NONE, "EF_IMSConfigData", F_OPTIONAL, 3, 128, + "IMS Configuration Data"), + /* EF TVCONFIG (TV Configuration) has no fixed FID */ + EF_TRANSP_N(0x6FF9, SFI_NONE, "EF_3GPPPSDATAOFF", F_OPTIONAL, 4, 4, + "3GPP PS Data Off"), + EF_LIN_FIX_N(0x6FFA, SFI_NONE, "EF_3GPPPSDATAOFFservicelist", F_OPTIONAL, 1, 128, + "3GPP PS Data Off Service List"), + EF_TRANSP_N(0x6FFC, SFI_NONE, "EF_XCAPConfigData", F_OPTIONAL, 1, 128, + "XCAP Configuration Data"), + EF_TRANSP_N(0x6FFD, SFI_NONE, "EF_EARFCNList", F_OPTIONAL, 1, 128, + "EARFCN list for MTC/NB-IOT UEs"), }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia007281bcb61dcd8260d0a77203abeff21d5255f Gerrit-Change-Number: 17557 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 Mar 21 16:16:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 21 Mar 2020 16:16:30 +0000 Subject: Change in libosmocore[master]: sim: Add HPSIM application support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17558 ) Change subject: sim: Add HPSIM application support ...................................................................... sim: Add HPSIM application support Change-Id: I883faae5e170803b8301d10c8b9fad7892da009c --- M src/sim/Makefile.am A src/sim/card_fs_hpsim.c M src/sim/core.c M src/sim/sim_int.h 4 files changed, 79 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sim/Makefile.am b/src/sim/Makefile.am index 14bbbd8..0539dd9 100644 --- a/src/sim/Makefile.am +++ b/src/sim/Makefile.am @@ -14,7 +14,7 @@ libosmosim_la_SOURCES = core.c reader.c class_tables.c \ card_fs_sim.c card_fs_usim.c card_fs_uicc.c \ - card_fs_isim.c card_fs_tetra.c + card_fs_isim.c card_fs_hpsim.c card_fs_tetra.c libosmosim_la_LDFLAGS = -version-info $(LIBVERSION) libosmosim_la_LIBADD = \ $(top_builddir)/src/libosmocore.la \ diff --git a/src/sim/card_fs_hpsim.c b/src/sim/card_fs_hpsim.c new file mode 100644 index 0000000..4a5f7d9 --- /dev/null +++ b/src/sim/card_fs_hpsim.c @@ -0,0 +1,76 @@ +/*! \file card_fs_hpsim.c + * 3GPP HPSIM specific structures / routines. */ +/* + * (C) 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include +#include + +#include +#include +#include + +#include "sim_int.h" +#include "gsm_int.h" + +/* TS 31.104 Version 15.0.0 Release 15 / Chapter 7.1.3 */ +const struct osim_card_sw ts31_104_sw[] = { + { + 0x9862, 0xffff, SW_TYPE_STR, SW_CLS_ERROR, + .u.str = "Security management - Authentication error, incorrect MAC", + }, + OSIM_CARD_SW_LAST +}; + +/* TS 31.104 Version 15.0.0 Release 15 / Chapter 4.2 */ +static const struct osim_file_desc hpsim_ef_in_adf_hpsim[] = { + EF_LIN_FIX_N(0x6F06, 0x06, "EF.ARR", 0, 1, 256, + "Access Rule TLV data objects"), + EF_TRANSP_N(0x6F07, 0x07, "EF.IMST", 0, 9, 9, + "IMSI"), + EF_TRANSP_N(0x6FAD, 0x03, "EF_AD", 0, 4, 8, + "Administrative Data"), +}; + +/* Annex E - TS 101 220 */ +static const uint8_t adf_hpsim_aid[] = { 0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x0A }; + +struct osim_card_app_profile *osim_aprof_hpsim(void *ctx) +{ + struct osim_card_app_profile *aprof; + struct osim_file_desc *iadf; + + aprof = talloc_zero(ctx, struct osim_card_app_profile); + aprof->name = "3GPP HPSIM"; + aprof->sw = ts31_104_sw; + aprof->aid_len = sizeof(adf_hpsim_aid); + memcpy(aprof->aid, adf_hpsim_aid, aprof->aid_len); + + /* ADF.HPSIM with its EF siblings */ + iadf = alloc_adf_with_ef(aprof, adf_hpsim_aid, sizeof(adf_hpsim_aid), "ADF.HPSIM", + hpsim_ef_in_adf_hpsim, ARRAY_SIZE(hpsim_ef_in_adf_hpsim)); + aprof->adf = iadf; + + return aprof; +} diff --git a/src/sim/core.c b/src/sim/core.c index 80a168f..8b2d6f9 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -453,6 +453,7 @@ { osim_app_profile_register(osim_aprof_usim(ctx)); osim_app_profile_register(osim_aprof_isim(ctx)); + osim_app_profile_register(osim_aprof_hpsim(ctx)); return 0; } diff --git a/src/sim/sim_int.h b/src/sim/sim_int.h index 99a2242..a96a9cd 100644 --- a/src/sim/sim_int.h +++ b/src/sim/sim_int.h @@ -33,5 +33,6 @@ struct osim_card_app_profile *osim_aprof_usim(void *ctx); struct osim_card_app_profile *osim_aprof_isim(void *ctx); +struct osim_card_app_profile *osim_aprof_hpsim(void *ctx); #endif -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I883faae5e170803b8301d10c8b9fad7892da009c Gerrit-Change-Number: 17558 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 Mar 21 20:41:33 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 20:41:33 +0000 Subject: Change in osmo-gsm-tester[master]: log srsUE/srsENB cmd line args before launching In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538 ) Change subject: log srsUE/srsENB cmd line args before launching ...................................................................... Patch Set 1: True. I've removed the commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I9e18595433e883b37323e94c43f17162f011bc00 Gerrit-Change-Number: 17538 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 20:41: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 Mar 21 21:44:51 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 21:44:51 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: update to new version 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/+/17533 to look at the new patch set (#2). Change subject: srsenb.conf.tmpl: update to new version ...................................................................... srsenb.conf.tmpl: update to new version Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/33/17533/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c Gerrit-Change-Number: 17533 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 Sat Mar 21 21:44:51 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 21:44:51 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add class member to pass additional cmd line args 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/+/17536 to look at the new patch set (#2). Change subject: srs_ue: add class member to pass additional cmd line args ...................................................................... srs_ue: add class member to pass additional cmd line args this is helpful to add temporary command line args from within tests Change-Id: I969fb7f34a865218e39563844de273cf5587e3ee --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 8 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/17536/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I969fb7f34a865218e39563844de273cf5587e3ee Gerrit-Change-Number: 17536 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 Sat Mar 21 21:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 21:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... process: add stdin_write method to communicate with child on stdin Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 --- M src/osmo_gsm_tester/process.py 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/17560/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index f399b29..4561a48 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -350,6 +350,15 @@ def wait(self, timeout=300): MainLoop.wait(self, self.terminated, timeout=timeout) + def stdin_write(self, cmd): + ''' + Send a cmd to the stdin of a process (convert to byte before) + ''' + try: + self.process_obj.communicate(input="{}".format(cmd).encode("utf-8"), timeout=5) + except subprocess.TimeoutExpired: + self.log('Timeout expired while writing to stdout') + class RemoteProcess(Process): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 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 Sat Mar 21 21:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 21:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: send t+Enter to stdin after launching app References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 ) Change subject: srs_ue: send t+Enter to stdin after launching app ...................................................................... srs_ue: send t+Enter to stdin after launching app this enables the console trace which is printed to stdout and provides human readable radio statistics Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/61/17561/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 66ed18b..ffd847b 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -121,6 +121,10 @@ else: self.start_remotely() + # send t+Enter to enable console trace + self.log('Enabling console trace') + self.process.stdin_write('t\n') + def start_remotely(self): self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) lib = self.inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 Gerrit-Change-Number: 17561 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 Sat Mar 21 21:44:53 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 21:44:53 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: run srsUE as normal RemoteProcess References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17562 ) Change subject: srs_ue: run srsUE as normal RemoteProcess ...................................................................... srs_ue: run srsUE as normal RemoteProcess running with RemoteProcessFixIgnoreSIGHUP was needed bc srsUE used to ignore SIGHUP that is delivered to the process when the SSH session is terminated causing the UE to not quit properly. This isn't the case anymore so we can use RemoteProcess for spawning the UE. Furthermore, the wrapper script didn't pass along stdin to it's child process, i.e., srsUE. Therefore the console trace can't be seen if the run through the wrapper. Change-Id: Iab4dafc58167620362a36ec9e904b8d49a7d5fc1 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/62/17562/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index ffd847b..467fe9b 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -172,7 +172,7 @@ '--general.metrics_csv_filename=' + self.remote_metrics_file, self.additional_args) - self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), 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.suite_run.remember_to_stop(self.process) self.process.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab4dafc58167620362a36ec9e904b8d49a7d5fc1 Gerrit-Change-Number: 17562 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 Sat Mar 21 21:44:53 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 21 Mar 2020 21:44:53 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: make sure to only use a single PHY thread when running with ZMQ References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 ) Change subject: srs_enb: make sure to only use a single PHY thread when running with ZMQ ...................................................................... srs_enb: make sure to only use a single PHY thread when running with ZMQ Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/63/17563/1 diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 51afcce..cdfe5ca 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -265,7 +265,9 @@ [expert] #pusch_max_its = 8 # These are half iterations #pusch_8bit_decoder = false -#nof_phy_threads = 3 +% if enb.get('rf_dev_type') == 'zmq': + nof_phy_threads = 1 +% endif #metrics_period_secs = 1 #metrics_csv_enable = false #metrics_csv_filename = /tmp/enb_metrics.csv diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 4a4828e..91f9277 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -317,7 +317,9 @@ #snr_ema_coeff = 0.1 #snr_estim_alg = refs #pdsch_max_its = 8 # These are half iterations -#nof_phy_threads = 3 +% if ue.get('rf_dev_type') == 'zmq': + nof_phy_threads = 1 +% endif #equalizer_mode = mmse #sfo_ema = 0.1 #sfo_correct_period = 10 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa Gerrit-Change-Number: 17563 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 Sat Mar 21 23:47:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 23:47:40 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: update to new version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 ) Change subject: srsenb.conf.tmpl: update to new version ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c Gerrit-Change-Number: 17533 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 23: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 Mar 21 23:50:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 23:50:44 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add class member to pass additional cmd line args In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 ) Change subject: srs_ue: add class member to pass additional cmd line args ...................................................................... Patch Set 2: -Code-Review I still lack some information regarding how do you plan to use this, to understand whether it makes more sense to have it passed through config (and not programatically in test). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I969fb7f34a865218e39563844de273cf5587e3ee Gerrit-Change-Number: 17536 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 23: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 Mar 21 23:52:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 23:52:59 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/1/src/osmo_gsm_tester/process.py File src/osmo_gsm_tester/process.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/1/src/osmo_gsm_tester/process.py at 358 PS1, Line 358: self.process_obj.communicate(input="{}".format(cmd).encode("utf-8"), timeout=5) afair the timeout is to verify the process exits after sending the data through stdin, are you sure that's what you want here? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/1/src/osmo_gsm_tester/process.py at 360 PS1, Line 360: self.log('Timeout expired while writing to stdout') You mean while writing to stdin -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 23:52: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 Sat Mar 21 23:55:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 23:55:01 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: send t+Enter to stdin after launching app In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 ) Change subject: srs_ue: send t+Enter to stdin after launching app ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561/1/src/osmo_gsm_tester/srs_ue.py File src/osmo_gsm_tester/srs_ue.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561/1/src/osmo_gsm_tester/srs_ue.py at 125 PS1, Line 125: self.log('Enabling console trace') Probably better using self.dbg() here -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 Gerrit-Change-Number: 17561 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 23:55: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 Sat Mar 21 23:56:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 23:56:26 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: run srsUE as normal RemoteProcess In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17562 ) Change subject: srs_ue: run srsUE as normal RemoteProcess ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab4dafc58167620362a36ec9e904b8d49a7d5fc1 Gerrit-Change-Number: 17562 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 23:56:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 21 23:58:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 21 Mar 2020 23:58:43 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: make sure to only use a single PHY thread when running with ZMQ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 ) Change subject: srs_enb: make sure to only use a single PHY thread when running with ZMQ ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563/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/+/17563/1/src/osmo_gsm_tester/templates/srsenb.conf.tmpl at 269 PS1, Line 269: nof_phy_threads = 1 Just wondering: is it fine having whitespace at the start of the line? BTW, since later we may want to change this based on other parameters when running with UHD, it may make sense to add a "num_phy_threads" to the dictionary in configure() function of srs_enb.py and simply use it here. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa Gerrit-Change-Number: 17563 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 21 Mar 2020 23:58:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Mar 22 01:38:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 22 Mar 2020 01:38:38 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5e76c1b846638_47732b15826105f49959cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 76s] [215/231] installing libpam-runtime-1.1.8-3.6ubuntu2 [ 76s] Processing triggers for man-db (2.8.3-2) ... [ 76s] [216/231] installing po-debconf-1.0.20 [ 76s] Processing triggers for man-db (2.8.3-2) ... [ 77s] [217/231] installing bash-4.4.18-2ubuntu1 [ 77s] update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode [ 77s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 77s] Processing triggers for man-db (2.8.3-2) ... [ 78s] [218/231] installing libpython3.6-3.6.5-3 [ 78s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 78s] [219/231] installing passwd-1:4.5-1ubuntu1 [ 78s] [ 68.350334] EXT4-fs error (device sda): __ext4_iget:4973: inode #687777: block 1: comm dpkg: invalid block [ 78s] dpkg: error processing archive .init_b_cache/passwd.deb (--install): [ 78s] unable to stat './usr/share/man/ru/man8/groupmems.8.gz' (which I was about to install): Structure needs cleaning [ 78s] dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) [ 78s] Processing triggers for man-db (2.8.3-2) ... [ 78s] [ 68.590941] EXT4-fs error (device sda): __ext4_iget:4973: inode #687777: block 1: comm mandb: invalid block [ 78s] [ 68.593572] EXT4-fs error (device sda): __ext4_iget:4973: inode #687777: block 1: comm mandb: invalid block [ 78s] [ 68.595934] EXT4-fs error (device sda): __ext4_iget:4973: inode #687777: block 1: comm mandb: invalid block [ 78s] Errors were encountered while processing: [ 78s] .init_b_cache/passwd.deb [ 78s] exit ... [ 78s] ### VM INTERACTION START ### [ 81s] [ 71.797330] sysrq: SysRq : Power Off [ 81s] [ 71.802052] reboot: Power down [ 81s] ### VM INTERACTION END ### [ 81s] [ 81s] lamb08 failed "build libosmo-abis_0.8.0.18.54c9.dsc" at Sun Mar 22 01:38:37 UTC 2020. [ 81s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Mar 22 09:21:30 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sun, 22 Mar 2020 09:21:30 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: Hello dexter, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17520 to look at the new patch set (#6). Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py This function is used to detect the card type and return Card class/Card subclasses object if its a know card or else None. Also, an initial step towards refactoring of code. Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f --- M pySim-prog.py M pySim-read.py M pySim/cards.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 9 files changed, 44 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/17520/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 09:40:57 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sun, 22 Mar 2020 09:40:57 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin 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/+/17560 to look at the new patch set (#2). Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... process: add stdin_write method to communicate with child on stdin Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 --- M src/osmo_gsm_tester/process.py 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/17560/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 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 Sun Mar 22 09:40:57 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sun, 22 Mar 2020 09:40:57 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: send t+Enter to stdin after launching app 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/+/17561 to look at the new patch set (#2). Change subject: srs_ue: send t+Enter to stdin after launching app ...................................................................... srs_ue: send t+Enter to stdin after launching app this enables the console trace which is printed to stdout and provides human readable radio statistics Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/61/17561/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 Gerrit-Change-Number: 17561 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 Sun Mar 22 10:27:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 10:27:09 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Avoid double-close References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17564 ) Change subject: osmo-sim-test: Avoid double-close ...................................................................... osmo-sim-test: Avoid double-close Change-Id: Ibd67a5461085a77dd9e804a4f1266d67ee91a04a Closes: CID#208960 --- M utils/osmo-sim-test.c 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/64/17564/1 diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 6cf36a6..cf423c4 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -421,11 +421,8 @@ break; case EF_TYPE_TRANSP: if (g_class != 0xA0) { - if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) { - if (f_data) - fclose(f_data); + if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) goto out; - } i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); printf("File size: %d bytes\n", i); } else { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd67a5461085a77dd9e804a4f1266d67ee91a04a Gerrit-Change-Number: 17564 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 Mar 22 13:07:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 13:07:11 +0000 Subject: Change in osmo-bts[master]: trx: Fix reported BER for TCH/H References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17565 ) Change subject: trx: Fix reported BER for TCH/H ...................................................................... trx: Fix reported BER for TCH/H This fixes a regression introduced in I710d0b7cf193afa8515807836ee69b8b7db84a84 We (obviously!) cannot compute the BER before performing convolutional decoding. Change-Id: I4e57f45d49cb513e4843e56f50c8de6980958fdc Related: OS#2977 Related: OS#4667 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/65/17565/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index d703f7f..585e887 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1375,13 +1375,12 @@ } *mask = 0x0; - ber10k = compute_ber10k(n_bits_total, n_errors); - /* skip second of two TCH frames of FACCH was received */ if (chan_state->ul_ongoing_facch) { chan_state->ul_ongoing_facch = 0; memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); + ber10k = 0; goto bfi; } @@ -1428,6 +1427,8 @@ } memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); + ber10k = compute_ber10k(n_bits_total, n_errors); + /* Check if the frame is bad */ if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4e57f45d49cb513e4843e56f50c8de6980958fdc Gerrit-Change-Number: 17565 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 Mar 22 13:07:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 13:07:11 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17566 ) Change subject: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H ...................................................................... trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H Without using the NOPE indication it might happen that we get into the following situation: * bursts 0,1,2 of a given block are received * burst 3 is lost on the radio interface, OsmoTRX sends NOPE * osmo-bts-trx doesn't pass the NOPE the the rx_tch*_fn() * we never detect the end of the block, never perform decoding and even if the burst could be fully decoded, we loose the block For voice, it can lead to lost RTP frames in uplink, which is also problematic. Let's deal with burst_len=0 in rx_tch*_fn() and use it as nope_fn. Closes: OS#4661 Related: OS#2975 Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a --- M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 13 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/17566/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index e8df537..054b6ca 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -191,6 +191,7 @@ .rts_fn = rts_tchf_fn, .dl_fn = tx_tchf_fn, .ul_fn = rx_tchf_fn, + .nope_fn = rx_tchf_fn, }, [TRXC_TCHH_0] = { .name = "TCH/H(0)", /* 3GPP TS 05.02, section 3.2 */ @@ -211,6 +212,7 @@ .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, + .nope_fn = rx_tchh_fn, }, [TRXC_TCHH_1] = { .name = "TCH/H(1)", /* 3GPP TS 05.02, section 3.2 */ @@ -222,6 +224,7 @@ .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, + .nope_fn = rx_tchh_fn, }, [TRXC_SDCCH4_0] = { .name = "SDCCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 585e887..f17354a 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1165,8 +1165,11 @@ /* copy burst to end of buffer of 8 bursts */ burst = *bursts_p + bid * 116 + 464; - memcpy(burst, bi->burst + 3, 58); - memcpy(burst + 58, bi->burst + 87, 58); + if (bi->burst_len > 0) { + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); + } else + memset(burst, 0, 116); /* wait until complete set of bursts */ if (bid != 3) @@ -1360,8 +1363,11 @@ /* copy burst to end of buffer of 6 bursts */ burst = *bursts_p + bid * 116 + 464; - memcpy(burst, bi->burst + 3, 58); - memcpy(burst + 58, bi->burst + 87, 58); + if (bi->burst_len > 0) { + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); + } else + memset(burst, 0, 116); /* wait until complete set of bursts */ if (bid != 1) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a Gerrit-Change-Number: 17566 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 Mar 22 13:07:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 13:07:11 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications on SDCCH References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17567 ) Change subject: trx: Use NOPE indications on SDCCH ...................................................................... trx: Use NOPE indications on SDCCH Without using the NOPE indication it might happen that we get into the following situation: * bursts 0,1,2 of a given block are received * burst 3 is lost on the radio interface, OsmoTRX sends NOPE * osmo-bts-trx doesn't pass the NOPE the the rx_tch*_fn() * we never detect the end of the block, never perform decoding and even if the burst could be fully decoded, we loose the block Related: OS#4661 Related: OS#2975 Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 --- M src/common/scheduler.c 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/17567/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 054b6ca..652582b 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -236,6 +236,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_1] = { .name = "SDCCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -247,6 +248,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_2] = { .name = "SDCCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -258,6 +260,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_3] = { .name = "SDCCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -269,6 +272,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_0] = { .name = "SDCCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -280,6 +284,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_1] = { .name = "SDCCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -291,6 +296,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_2] = { .name = "SDCCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -302,6 +308,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_3] = { .name = "SDCCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -313,6 +320,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_4] = { .name = "SDCCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -324,6 +332,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_5] = { .name = "SDCCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -335,6 +344,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_6] = { .name = "SDCCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -346,6 +356,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_7] = { .name = "SDCCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -357,6 +368,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SACCHTF] = { .name = "SACCH/TF", /* 3GPP TS 05.02, section 3.3.4.1 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 Gerrit-Change-Number: 17567 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 Mar 22 13:07:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 13:07:12 +0000 Subject: Change in osmo-bts[master]: introduce l1sap_get_common_sapi() function References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17568 ) Change subject: introduce l1sap_get_common_sapi() function ...................................................................... introduce l1sap_get_common_sapi() function Change-Id: I2901ae88812933978e6c6302a4656e8d6f95ec52 --- M include/osmo-bts/l1sap.h M src/common/l1sap.c 2 files changed, 13 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/17568/1 diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h index 1fcf78c..31a70e1 100644 --- a/include/osmo-bts/l1sap.h +++ b/include/osmo-bts/l1sap.h @@ -144,4 +144,6 @@ int is_ccch_for_agch(struct gsm_bts_trx *trx, uint32_t fn); +enum l1sap_common_sapi l1sap_get_common_sapi(uint8_t chan_nr, uint8_t link_id, uint32_t u32Fn); + #endif /* L1SAP_H */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 673430d..3fa4a6b 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -298,12 +298,8 @@ { 0, NULL } }; -static enum l1sap_common_sapi get_common_sapi_ph_data(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) +enum l1sap_common_sapi l1sap_get_common_sapi(uint8_t chan_nr, uint8_t link_id, uint32_t u32Fn) { - uint8_t link_id = l1sap->u.data.link_id; - uint8_t chan_nr = l1sap->u.data.chan_nr; - uint32_t u32Fn = l1sap->u.data.fn; - if (L1SAP_IS_CHAN_TCHF(chan_nr)) return L1SAP_COMMON_SAPI_TCH_F; @@ -331,6 +327,16 @@ return L1SAP_COMMON_SAPI_UNKNOWN; } +static enum l1sap_common_sapi get_common_sapi_ph_data(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) +{ + uint8_t link_id = l1sap->u.data.link_id; + uint8_t chan_nr = l1sap->u.data.chan_nr; + uint32_t u32Fn = l1sap->u.data.fn; + + return l1sap_get_common_sapi(chan_nr, link_id, u32Fn); +} + + static enum l1sap_common_sapi get_common_sapi_by_trx_prim(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap) { /* Only downlink prims are relevant */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2901ae88812933978e6c6302a4656e8d6f95ec52 Gerrit-Change-Number: 17568 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 Mar 22 13:14:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 13:14:06 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 22 Mar 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 Sun Mar 22 13:35:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 22 Mar 2020 13:35:47 +0000 Subject: Change in osmo-bts[master]: trx: Fix reported BER for TCH/H In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17565 ) Change subject: trx: Fix reported BER for TCH/H ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4e57f45d49cb513e4843e56f50c8de6980958fdc Gerrit-Change-Number: 17565 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 22 Mar 2020 13:35:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 14:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 14:07:23 +0000 Subject: Change in osmo-bts[master]: trx: Fix reported BER for TCH/H In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17565 ) Change subject: trx: Fix reported BER for TCH/H ...................................................................... trx: Fix reported BER for TCH/H This fixes a regression introduced in I710d0b7cf193afa8515807836ee69b8b7db84a84 We (obviously!) cannot compute the BER before performing convolutional decoding. Change-Id: I4e57f45d49cb513e4843e56f50c8de6980958fdc Related: OS#2977 Related: OS#4667 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index d703f7f..585e887 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1375,13 +1375,12 @@ } *mask = 0x0; - ber10k = compute_ber10k(n_bits_total, n_errors); - /* skip second of two TCH frames of FACCH was received */ if (chan_state->ul_ongoing_facch) { chan_state->ul_ongoing_facch = 0; memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); + ber10k = 0; goto bfi; } @@ -1428,6 +1427,8 @@ } memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); + ber10k = compute_ber10k(n_bits_total, n_errors); + /* Check if the frame is bad */ if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4e57f45d49cb513e4843e56f50c8de6980958fdc Gerrit-Change-Number: 17565 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 16:20:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 22 Mar 2020 16:20:10 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 2: I think I'm still not following you here. AFAIU you want to to call that function simply to enable trace reports, so by no means you want to return an exception after 5 seconds (because yo doun't expect the process to exit in that case). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 16:20: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 Sun Mar 22 16:20:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 22 Mar 2020 16:20:40 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: send t+Enter to stdin after launching app In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 ) Change subject: srs_ue: send t+Enter to stdin after launching app ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 Gerrit-Change-Number: 17561 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 16:20: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 Sun Mar 22 16:22:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 22 Mar 2020 16:22:01 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Avoid double-close In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17564 ) Change subject: osmo-sim-test: Avoid double-close ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd67a5461085a77dd9e804a4f1266d67ee91a04a Gerrit-Change-Number: 17564 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 16:22: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 Mar 22 16:24:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 22 Mar 2020 16:24:06 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17566 ) Change subject: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a Gerrit-Change-Number: 17566 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 16:24: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 Mar 22 16:25:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 22 Mar 2020 16:25:59 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications on SDCCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17567 ) Change subject: trx: Use NOPE indications on SDCCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 Gerrit-Change-Number: 17567 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 16:25: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 Mar 22 17:17:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 22 Mar 2020 17:17:20 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17566 ) Change subject: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H ...................................................................... Patch Set 1: Code-Review+1 20:41 < fixeria> Have you seen https://gerrit.osmocom.org/c/osmo-bts/+/17539 ? 20:41 < fixeria> I think we should just get rid of the rx_nope_fn and call the uplink handler from trx_sched_ul_burst(). 20:43 < fixeria> LaF0rge: back then I thought that handling of NOPE indications should be done somehow in a different way (that's why rx_nope_fn was introduced) 20:44 < fixeria> but as it turns out, calling generic ul_fn works just fine [...] 21:05 <@LaF0rge> yes, we can get rid of it, I just wanted to do it step by step 21:06 <@LaF0rge> it's just nicer in the commitlog if we first add it everwhere and then remove it everywhere. I still don't see how would this make the commit log nicer, given that the mentioned change by dexter will revert it... But I am definitely not against this change. At least we can fix the problem faster this way, while #17539 still needs some rework. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a Gerrit-Change-Number: 17566 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 17:17: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 Mar 22 17:18:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 22 Mar 2020 17:18:13 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications on SDCCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17567 ) Change subject: trx: Use NOPE indications on SDCCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 Gerrit-Change-Number: 17567 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 17:18:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 17:25:27 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sun, 22 Mar 2020 17:25:27 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 2: (1 comment) > Patch Set 2: > > I think I'm still not following you here. AFAIU you want to to call that function simply to enable trace reports, so by no means you want to return an exception after 5 seconds (because yo doun't expect the process to exit in that case). That's all correct. But IMHO there is no way to "just" send the something on stdin and then carry on. I am just catching the exception from communicate() and continue. Stdin will then be closed but the process keeps running. Similar things happen with stdin.write() https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/1/src/osmo_gsm_tester/process.py File src/osmo_gsm_tester/process.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/1/src/osmo_gsm_tester/process.py at 360 PS1, Line 360: self.log('Timeout expired while writing to stdout') > You mean while writing to stdin Ha. Good catch. It was too later already ... -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sun, 22 Mar 2020 17:25:27 +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 Mar 22 19:17:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:17:11 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17566 ) Change subject: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a Gerrit-Change-Number: 17566 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 19: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 Sun Mar 22 19:17:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:17:15 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications on SDCCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17567 ) Change subject: trx: Use NOPE indications on SDCCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 Gerrit-Change-Number: 17567 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 19:17:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 19:17:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:17:29 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17566 ) Change subject: trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H ...................................................................... trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H Without using the NOPE indication it might happen that we get into the following situation: * bursts 0,1,2 of a given block are received * burst 3 is lost on the radio interface, OsmoTRX sends NOPE * osmo-bts-trx doesn't pass the NOPE the the rx_tch*_fn() * we never detect the end of the block, never perform decoding and even if the burst could be fully decoded, we loose the block For voice, it can lead to lost RTP frames in uplink, which is also problematic. Let's deal with burst_len=0 in rx_tch*_fn() and use it as nope_fn. Closes: OS#4661 Related: OS#2975 Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a --- M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 13 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index e8df537..054b6ca 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -191,6 +191,7 @@ .rts_fn = rts_tchf_fn, .dl_fn = tx_tchf_fn, .ul_fn = rx_tchf_fn, + .nope_fn = rx_tchf_fn, }, [TRXC_TCHH_0] = { .name = "TCH/H(0)", /* 3GPP TS 05.02, section 3.2 */ @@ -211,6 +212,7 @@ .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, + .nope_fn = rx_tchh_fn, }, [TRXC_TCHH_1] = { .name = "TCH/H(1)", /* 3GPP TS 05.02, section 3.2 */ @@ -222,6 +224,7 @@ .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, + .nope_fn = rx_tchh_fn, }, [TRXC_SDCCH4_0] = { .name = "SDCCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 585e887..f17354a 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1165,8 +1165,11 @@ /* copy burst to end of buffer of 8 bursts */ burst = *bursts_p + bid * 116 + 464; - memcpy(burst, bi->burst + 3, 58); - memcpy(burst + 58, bi->burst + 87, 58); + if (bi->burst_len > 0) { + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); + } else + memset(burst, 0, 116); /* wait until complete set of bursts */ if (bid != 3) @@ -1360,8 +1363,11 @@ /* copy burst to end of buffer of 6 bursts */ burst = *bursts_p + bid * 116 + 464; - memcpy(burst, bi->burst + 3, 58); - memcpy(burst + 58, bi->burst + 87, 58); + if (bi->burst_len > 0) { + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); + } else + memset(burst, 0, 116); /* wait until complete set of bursts */ if (bid != 1) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0fbf4617daf24bd8aecfd9cfe1efd66cf73a277a Gerrit-Change-Number: 17566 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 Sun Mar 22 19:17:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:17:30 +0000 Subject: Change in osmo-bts[master]: trx: Use NOPE indications on SDCCH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17567 ) Change subject: trx: Use NOPE indications on SDCCH ...................................................................... trx: Use NOPE indications on SDCCH Without using the NOPE indication it might happen that we get into the following situation: * bursts 0,1,2 of a given block are received * burst 3 is lost on the radio interface, OsmoTRX sends NOPE * osmo-bts-trx doesn't pass the NOPE the the rx_tch*_fn() * we never detect the end of the block, never perform decoding and even if the burst could be fully decoded, we loose the block Related: OS#4661 Related: OS#2975 Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 --- M src/common/scheduler.c 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 054b6ca..652582b 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -236,6 +236,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_1] = { .name = "SDCCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -247,6 +248,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_2] = { .name = "SDCCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -258,6 +260,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH4_3] = { .name = "SDCCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -269,6 +272,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_0] = { .name = "SDCCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -280,6 +284,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_1] = { .name = "SDCCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -291,6 +296,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_2] = { .name = "SDCCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -302,6 +308,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_3] = { .name = "SDCCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -313,6 +320,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_4] = { .name = "SDCCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -324,6 +332,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_5] = { .name = "SDCCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -335,6 +344,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_6] = { .name = "SDCCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -346,6 +356,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SDCCH8_7] = { .name = "SDCCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ @@ -357,6 +368,7 @@ .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, + .nope_fn = rx_data_fn, }, [TRXC_SACCHTF] = { .name = "SACCH/TF", /* 3GPP TS 05.02, section 3.3.4.1 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idfc5c9a23db808c5f87ef5646c7e1d1cd3127371 Gerrit-Change-Number: 17567 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 Sun Mar 22 19:17:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:17:47 +0000 Subject: Change in libosmocore[master]: osmo-sim-test: Avoid double-close In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17564 ) Change subject: osmo-sim-test: Avoid double-close ...................................................................... osmo-sim-test: Avoid double-close Change-Id: Ibd67a5461085a77dd9e804a4f1266d67ee91a04a Closes: CID#208960 --- M utils/osmo-sim-test.c 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index 6cf36a6..cf423c4 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -421,11 +421,8 @@ break; case EF_TYPE_TRANSP: if (g_class != 0xA0) { - if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) { - if (f_data) - fclose(f_data); + if (!TLVP_PRESENT(&tp, UICC_FCP_T_FILE_SIZE)) goto out; - } i = ntohs(*(uint16_t *)TLVP_VAL(&tp, UICC_FCP_T_FILE_SIZE)); printf("File size: %d bytes\n", i); } else { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd67a5461085a77dd9e804a4f1266d67ee91a04a Gerrit-Change-Number: 17564 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 Sun Mar 22 19:19:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:19:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 19:19:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 19:19:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:19:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Verify CodingScheme of received data blocks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 ) Change subject: pcu: Verify CodingScheme of received data blocks ...................................................................... pcu: Verify CodingScheme of received data blocks Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 76 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 8f9f2a5..dbcf4ae 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -41,6 +41,67 @@ return 0; } + type enumerated CodingScheme { + CS_1, + CS_2, + CS_3, + CS_4, + MCS_1, + MCS_2, + MCS_3, + MCS_4, + MCS_5, + MCS_6, + MCS_7, + MCS_8, + MCS_9 + //MCS5_7, ? + // 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, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index ad89c69..2564617 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -419,12 +419,19 @@ } } -private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn) +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, ")"); + mtc.stop; + } } private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) @@ -475,7 +482,7 @@ } } -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 := ?) +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; @@ -1202,7 +1209,7 @@ /* 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. */ -private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit) runs on RAW_PCU_Test_CT { +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; @@ -1236,7 +1243,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, sched_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block.data.mac_hdr.hdr_ext.bsn, '1'B); @@ -1265,7 +1272,8 @@ } testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { - f_TC_mt_ping_pong(omit); + var CodingScheme exp_cs_mcs := CS_1; + f_TC_mt_ping_pong(omit, exp_cs_mcs); } /* TC_mt_ping_pong, but DL-UNITDATA contains RA Access capability with (M)CS @@ -1276,7 +1284,8 @@ gprsextendeddynalloccap := '0'B } ; var MSRadioAccessCapabilityV_BSSGP ms_racap := { valueof(ts_RaCapRec_BSSGP('0001'B /* E-GSM */, mscap_gprs, omit)) }; - f_TC_mt_ping_pong(ms_racap); + var CodingScheme exp_cs_mcs := CS_2; + f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); } /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156 Gerrit-Change-Number: 17527 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 Sun Mar 22 19:22:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:22:20 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 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 Sun Mar 22 19:22:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:22:31 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 19:22: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 Mar 22 19:22:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:22:33 +0000 Subject: Change in osmo-gsm-manuals[master]: add common/chapters/cs7-config In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 ) Change subject: add common/chapters/cs7-config ...................................................................... add common/chapters/cs7-config This will be used by the manuals of osmo-bsc, osmo-hnbgw, osmo-msc, osmo-sgsn. Related: OS#2767 Change-Id: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 --- A common/chapters/cs7-config.adoc 1 file changed, 293 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/common/chapters/cs7-config.adoc b/common/chapters/cs7-config.adoc new file mode 100644 index 0000000..c489883 --- /dev/null +++ b/common/chapters/cs7-config.adoc @@ -0,0 +1,293 @@ +[[cs7_config]] +== Configure SCCP/M3UA + +All CNI programs using SCCP/M3UA act as M3UA ASP role and SCTP client, +expecting to connect to a Signalling Gateway (STP/SG) implementing the M3UA +SG role as SCTP server. The STP/SG then routes M3UA messages between its +ASPs, typically by point-codes. + +In an all-Osmocom CNI, the typical simple/minimal usage is: + +- OsmoSTP acts as the STP/SG (server role) and routes between the ASP, +- All other Osmocom CNI programs act as SCTP client and provide ASP + implementations. + +For example, in an all-Osmocom minimal setup, + +- OsmoMSC contacts an OsmoSTP and subscribes its point-code 0.23.1; +- then OsmoBSC also contacts the same OsmoSTP, subscribes with its own + point-code 1.23.3. +- Using these established links, OsmoBSC initiates an A-interface link by + directing a BSSAP RESET message to the MSC's point-code 0.23.1, +- and the RESET ACK response from the MSC is routed back to the BSC's + point-code 1.23.3. + +The details of SCCP/M3UA are configured in the 'cs7' section of the VTY +configuration. + +Osmocom programs automatically configure missing SCCP/M3UA configuration, by +assuming sane defaults for small/minimal all-Osmocom installations, which may +not be what you want in larger networks integrating with non-Osmocom core +network elements. + +If no explicit `routing-key` is set, it may be determined at runtime by +negotiation with OsmoSTP -- see OsmoSTP manual chapter "Osmocom M3UA Routing +Key Management Extensions", regarding config option `accept-asp-connections +dynamic-permitted`. + +The complete active configuration of an Osmocom program can be obtained by the +VTY command `show cs7 config` (the usual `show running-config` omits +automatically configured items). Here is an example of OsmoMSC's default +configuration: + +---- +OsmoMSC> show cs7 config +cs7 instance 0 + point-code 0.23.1 + asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-OsmoMSC-A-Iu m3ua + asp asp-clnt-OsmoMSC-A-Iu + routing-key 2 0.23.1 +---- + +At the time of writing, SCCP/M3UA links involving Osmocom program are: + +- A-interface: OsmoBSC to OsmoMSC +- IuCS-interface: OsmoHNBGW to OsmoMSC +- IuPS-interface: OsmoHNBGW to OsmoSGSN + +=== Connect to STP Instance + +By default, an STP instance is assumed to listen on the default M3UA port +(2905) on the local host (127.0.0.1). + +Establishing an SCCP/M3UA link towards a remote STP instance can be configured +as: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + # IP address of the remote STP: + remote-ip 10.23.24.1 + # optional: local bind to a specific IP + local-ip 10.9.8.7 +---- + +Be aware that such an `asp` needs to be linked to an `as`, see <>. + +=== Local Point-Code + +Each CNI program on an SCCP/M3UA link typically has a local point-code, +configurable by: + +---- +cs7 instance 0 + point-code 7.65.4 +---- + +If an explicit routing context is configured, this point-code is repeated in +the `routing-key` configuration: + +---- +cs7 instance 0 + point-code 0.23.1 + as my-as m3ua + routing-key 2 0.23.1 +---- + +See also <>. + +=== Remote Point-Code + +Programs establishing communication across SCCP links need a remote SCCP +address, typically by point-code, to contact. + +For example, + +- OsmoBSC needs to know the MSC's point-code, to be able to establish the A-interface. +- OsmoHNBGW needs to know the MSC's point-code, to be able to establish the IuCS-interface. +- OsmoHNBGW needs to know the SGSN's point-code, to be able to establish the IuPS-interface. + +To maintain remote SCCP addresses, each `cs7` instance maintains an SCCP address book: + +---- +cs7 instance 0 + sccp-address remote-pc-example + point-code 1.23.1 +---- + +This address book entry on its own has no effect. It is typically referenced by +specific configuration items depending on the individual programs. + +Examples: + +- An OsmoBSC configures the MSC's remote SCCP address: + +---- +cs7 instance 0 + sccp-address my-remote-msc + point-code 1.23.1 +msc 0 + msc-addr my-remote-msc +---- + +- An HNBGW configures both the remote MSC's and SGSN's SCCP addresses: + +---- +cs7 instance 0 + sccp-address my-msc + point-code 0.23.1 + sccp-address my-sgsn + point-code 0.23.2 +hnbgw + iucs + remote-addr my-msc + iups + remote-addr my-sgsn +---- + +Besides a point-code, an SCCP address can have several routing indicators: + +- PC: routing by point-code is the default for Osmocom. +- GT: routing by Global Title is configurable by `routing-indicator GT`. +- IP: routing by IP address is configurable by `routing-indicator IP`. + +In OsmoSTP, only routing by point-code is currently implemented. + +[[point_code_format]] +=== Point-Code Format + +Point-codes can be represented in various formats. For details, see OsmoSTP +manual, chapter "Point Codes". + +By default, Osmocom uses a point-code representation of 3.8.3, i.e. first digit +of 3 bit, second digit of 8 bit, and third digit of 3 bit. + +---- +cs7 instance 0 + point-code format 3 8 3 + point-code 0.23.1 +---- + +Often, point-codes are also represented as a single decimal number: + +---- +cs7 instance 0 + point-code format 24 + point-code 185 +---- + +It is also possible to use a dash as delimiter. + +---- +cs7 instance 0 + point-code delimiter dash + point-code 0-23-1 +---- + + +[[as_and_asp]] +=== AS and ASP + +Each CNI program needs at least one Application Server `as` and one Application +Server Process `asp` configured on its `cs7` to be able to communicate on +SCCP/M3UA. An `asp` needs to be part of at least one `as`. For details, see the +OsmoSTP manual, chapters "Application Server" and "Application Server Process". + +In Osmocom's `cs7`, any amount of `as` and `asp` can be configured by name, and +an `as` references the `asp` entries belonging to it by their names. + +In a simple/minimal Osmocom setup, an Osmocom CNI program would have exactly +one `as` with one `asp`. + +For example: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + # where to reach the STP: + remote-ip 127.0.0.1 + sctp-role client + as my-as m3ua + asp my-asp +---- + +In Osmocom CNI programs, it is possible to omit the `as` and/or `asp` entries, +which the program will then attempt to configure automatically. + +When configuring both `as` and `asp` manually, make sure to link them by name. +For example, the following configuration will *fail*, because `as` and `asp` +are not linked: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + remote-ip 127.0.0.1 + as my-as m3ua + routing-key 2 0.23.1 +---- + +To *fix* above config, link the `asp` to an `as` by adding `asp my-asp`: + +---- +cs7 instance 0 + asp my-asp 2905 0 m3ua + remote-ip 127.0.0.1 + as my-as m3ua + asp my-asp + routing-key 2 0.23.1 +---- + +=== Subsystem Number (SSN) + +Osmocom CNI programs typically route SCCP/M3UA messages by PC+SSN: each ASP, +having a given SCCP address, receives messages for one or more specific +subsystems, identified by a Subsystem Number (SSN). + +For example, the A-interface between BSC and MSC uses SSN = BSSAP (254). In +Osmocom programs, SSNs do not need to be configured; they implicitly, naturally +relate to the interfaces that a program implements. + +For example, OsmoBSC takes the configured remote MSC's SCCP address and adds +the SSN = BSSAP to it in order to contact the MSC's A-interface. To receive +A-interface messages from the MSC, OsmoBSC subscribes a local user for this SSN +on the ASP. + +=== Routing Context / Routing Key + +In SCCP/M3UA, messages can be routed by various Routing Indicators (PC+SSN, PC, +GT, ...). Osmocom CNI programs typically use PC+SSN as Routing Indicator. + +On the SG (for example OsmoSTP), each ASP's distinct Routing Indicator needs to +be indexed by a distinct Routing Context (a simple index number scoped per SG), +to forward M3UA to the correct peer. + +The Osmocom SG implementation employs Routing Key Management (RKM, see OsmoSTP +manual) to automatically determine a distinct Routing Context index for each +connected ASP. Routing Contexts can also be configured manually -- some +non-Osmocom SG implementations require this. + +Each Routing Context is associated with a Routing Indicator and address; this +association is called a Routing Key. + +For example, to configure an OsmoBSC with a local point-code of 1.23.3 to +receive M3UA with Routing Context of 2 and RI=PC: + +---- +cs7 instance 0 + point-code 1.23.3 + as my-as m3ua + routing-key 2 1.23.3 +---- + +Osmocom programs so far implement Routing Keys by Destination Point Code (DPC), +plus optional Subsystem Number (SSN) and/or Service Indicator (SI): + +---- +routing-key RCONTEXT DPC +routing-key RCONTEXT DPC si (aal2|bicc|b-isup|h248|isup|sat-isup|sccp|tup) +routing-key RCONTEXT DPC ssn SSN +routing-key RCONTEXT DPC si (aal2|bicc|b-isup|h248|isup|sat-isup|sccp|tup) ssn SSN +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/17502 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: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 Gerrit-Change-Number: 17502 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 Sun Mar 22 19:23:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:23:46 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 19:23:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 19:23:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:23:53 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 22 Mar 2020 19:23:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 22 19:23:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:23:55 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... manual: add "Multiple Instances" section, akin to other manuals Related: OS#2767 Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 --- M doc/manuals/chapters/running.adoc 1 file changed, 67 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 995fd88..9348f69 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -40,3 +40,70 @@ *-r, --rf-ctl 'RFCTL'*:: Offer a Unix domain socket for RF control at the path/filename 'RFCTL' in the file system. + + +=== Multiple instances + +Running multiple instances of `osmo-bsc` on the same host is possible if all +interfaces (VTY, CTRL) are separated using the appropriate configuration +options. The IP based interfaces are binding to local host by default. In order +to separate the processes, the user has to bind those services to specific but +different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +For the following links, OsmoBSC acts as a client and does not listen/bind to a +specific interface, and will hence not encounter conflicts for multiple instances +running on the same interface: + +- The SCCP/M3UA links are established by OsmoBSC contacting an STP. +- The MGCP link is established by OsmoMSC contacting an MGW. + +To run multiple OsmoBSC instances on the same A-interface (SCCP/M3UA), each BSC +has to configure a distinct point-code. + + +=== Configure primary links + +==== Configure SCCP/M3UA to connect to an MSC's _A_ interface + +OsmoBSC acts as client to contact an STP instance and establish an SCCP/M3UA +link. + +An example configuration of OsmoBSC's AoIP SCCP link, assuming the BSC at +point-code 1.23.3 and the MSC reachable at point-code 0.23.1 via an SG +listening for M3UA at 127.0.0.1:2905: + +---- +cs7 instance 0 + point-code 1.23.3 + asp asp-clnt-msc-0 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + sccp-address msc + point-code 0.23.1 +msc 0 + msc-address msc +---- + +==== Configure MGCP to connect to an MGW + +OsmoBSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By +default, an MGW is expected to receive MGCP requests on the IANA-registered +default port for MGCP (2427) on local host (127.0.0.1). + +Here is an example configuration for a remote MGW: + +---- +msc 0 + mgw remote-ip 10.9.8.7 + mgw remote-port 2427 +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 5 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 Sun Mar 22 19:24:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 22 Mar 2020 19:24:45 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCPlite section In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17532 ) Change subject: manual: add SCCPlite section ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8eddc47353d6afd756865321a9e97f6cee4ce2d7 Gerrit-Change-Number: 17532 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 22 Mar 2020 19:24: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 Mar 22 21:50:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 22 Mar 2020 21:50:52 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 2: > Patch Set 2: > That's all correct. But IMHO there is no way to "just" send the something on stdin and then carry on. I am just catching the exception from communicate() and continue. Stdin will then be closed but the process keeps running. Similar things happen with stdin.write() I think I read yesterday you can use process.stdin attribute as if it was a filr or alike and write to it. So don't need to use the communicate API. And if you still want to use the communicate API, probably not setting timeout or setting it to 0 avoids waiting and throwing the exception. AFAIU setting timeout to 5, even if you catch exception, will block for around 5 seconds before raising the excepion. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Sun, 22 Mar 2020 21:50: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 Mon Mar 23 10:14:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 10:14:53 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 2: See https://docs.python.org/3/library/subprocess.html#subprocess.Popen.stdin -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 23 Mar 2020 10:14: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 Mar 23 10:19:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 10:19:58 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 2: Regarding communicate(), it's not clear whether default timeout=None behavior is to return immediately or wait forever, so we'd need to know that. https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate According to https://stackoverflow.com/questions/1191374/using-module-subprocess-with-timeout it's waiting forever, so that's not what we want here. We should therefore go for using Peopn.stdin directly. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 23 Mar 2020 10:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 10:24:14 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 10:24:14 +0000 Subject: Change in osmo-bsc[master]: abis_nm.c: rx_fail_evt_rep: fix sd.bts References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17569 ) Change subject: abis_nm.c: rx_fail_evt_rep: fix sd.bts ...................................................................... abis_nm.c: rx_fail_evt_rep: fix sd.bts Use the extra bts pointer instead of mb->trx->bts, which does not point to an allocated bts. Related: OS#1605 Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 --- M src/osmo-bsc/abis_nm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/17569/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index a874b53..2d181e8 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -399,7 +399,7 @@ rc = -EINVAL; } - sd.bts = mb->trx->bts; + sd.bts = bts; sd.msg = mb; sd.tp = &tp; if (e_type) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 Gerrit-Change-Number: 17569 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 Mar 23 11:43:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 11:43:12 +0000 Subject: Change in osmo-bsc[master]: abis_nm.c: rx_fail_evt_rep: fix sd.bts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17569 ) Change subject: abis_nm.c: rx_fail_evt_rep: fix sd.bts ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17569/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17569/1/src/osmo-bsc/abis_nm.c at 402 PS1, Line 402: sd.bts = bts; The important question is: why does not it point to the BTS? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 Gerrit-Change-Number: 17569 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 11:43:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 11:47:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 11:47:25 +0000 Subject: Change in osmo-bsc[master]: abis_nm.c: rx_fail_evt_rep: fix sd.bts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17569 ) Change subject: abis_nm.c: rx_fail_evt_rep: fix sd.bts ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 Gerrit-Change-Number: 17569 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 11:47: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 Mar 23 11:49:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 11:49:57 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Reproduce and fix stack smashing bug receiving RA cap 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/+/17548 to look at the new patch set (#4). Change subject: rlcmac: Reproduce and fix stack smashing bug receiving RA cap ...................................................................... rlcmac: Reproduce and fix stack smashing bug receiving RA cap RA cap struct placed in unit test is taken from a real android phone sending the value when attaching to the network. Then SGSN sends it back and osmo-pcu would crash similar to unit test: *** stack smashing detected ***: terminated Process terminating with default action of signal 6 (SIGABRT): dumping core at 0x4C62CE5: raise (in /usr/lib/libc-2.31.so) by 0x4C4C856: abort (in /usr/lib/libc-2.31.so) by 0x4CA62AF: __libc_message (in /usr/lib/libc-2.31.so) by 0x4D36069: __fortify_fail (in /usr/lib/libc-2.31.so) by 0x4D36033: __stack_chk_fail (in /usr/lib/libc-2.31.so) by 0x124706: testRAcap2(void*) (RLCMACTest.cpp:468) So it seems the assumptions regarding maximum number of RA capabilitites in one message were wrong. Doing some rough calculations, each RA capabilitiy value (without extensions) can take around 20ish bits, which means for a message containing up to 52 bytes that quite a lot of different values could be theoretically fed in. Let's be safe and increase the array size to be able to handle all different access technologies listed in See TS 24.008 table 10.5.146 following restrictions: * "The MS Radio Access capability is a type 4 information element, with a maximum length of 52 octets." * "Among the three Access Type Technologies GSM 900-P, GSM 900-E and GSM 900-R only one shall be present." * "the mobile station should provide the relevant radio access capability for either GSM 1800 band OR GSM 1900 band, not both". Wireshark requires similar fix (it's not important though because it currently uses another ad-hoc decoder for RAcap). Related: OS#4463 Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff --- M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 153 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/17548/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 11:52:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 11:52:54 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Reproduce and fix stack smashing bug receiving RA cap 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/+/17548 to look at the new patch set (#5). Change subject: rlcmac: Reproduce and fix stack smashing bug receiving RA cap ...................................................................... rlcmac: Reproduce and fix stack smashing bug receiving RA cap RA cap struct placed in unit test is taken from a real android phone sending the value when attaching to the network. Then SGSN sends it back and osmo-pcu would crash similar to unit test: *** stack smashing detected ***: terminated Process terminating with default action of signal 6 (SIGABRT): dumping core at 0x4C62CE5: raise (in /usr/lib/libc-2.31.so) by 0x4C4C856: abort (in /usr/lib/libc-2.31.so) by 0x4CA62AF: __libc_message (in /usr/lib/libc-2.31.so) by 0x4D36069: __fortify_fail (in /usr/lib/libc-2.31.so) by 0x4D36033: __stack_chk_fail (in /usr/lib/libc-2.31.so) by 0x124706: testRAcap2(void*) (RLCMACTest.cpp:468) So it seems the assumptions regarding maximum number of RA capabilitites in one message were wrong. Doing some rough calculations, each RA capabilitiy value (without extensions) can take around 20ish bits, which means for a message containing up to 52 bytes that quite a lot of different values could be theoretically fed in. Let's be safe and increase the array size to be able to handle all different access technologies listed in See TS 24.008 table 10.5.146 following restrictions: * "The MS Radio Access capability is a type 4 information element, with a maximum length of 52 octets." * "Among the three Access Type Technologies GSM 900-P, GSM 900-E and GSM 900-R only one shall be present." * "the mobile station should provide the relevant radio access capability for either GSM 1800 band OR GSM 1900 band, not both". Wireshark requires similar fix (it's not important though because it currently uses another ad-hoc decoder for RAcap). Related: OS#4463 Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff --- M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 153 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/17548/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 12:22:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 12:22:06 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Reproduce and fix stack smashing bug receiving RA cap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17548 ) Change subject: rlcmac: Reproduce and fix stack smashing bug receiving RA cap ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 12:22:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 12:34:51 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 23 Mar 2020 12:34:51 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 2: > Patch Set 2: > > Regarding communicate(), it's not clear whether default timeout=None behavior is to return immediately or wait forever, so we'd need to know that. > https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate > > According to https://stackoverflow.com/questions/1191374/using-module-subprocess-with-timeout it's waiting forever, so that's not what we want here. We should therefore go for using Peopn.stdin directly. Fine by me. I can convert it. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 23 Mar 2020 12:34: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 Mar 23 12:45:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 12:45:47 +0000 Subject: Change in osmo-bsc[master]: abis_nm.c: rx_fail_evt_rep: fix sd.bts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17569 ) Change subject: abis_nm.c: rx_fail_evt_rep: fix sd.bts ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17569/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17569/1/src/osmo-bsc/abis_nm.c at 402 PS1, Line 402: sd.bts = bts; > The important question is: why does not it point to the BTS? rx_fail_evt_rep(mb, bts) is called by abis_nm_rcvmsg_report(mb, bts), which is called by abis_nm_rcvmsg_fom(mb). abis_nm_rcvmsg_fom(mb) saves the extra bts pointer with a comment noting, that osmo_signal_dispatch may free mb->dst. That seems somewhat related... https://git.osmocom.org/osmo-bsc/commit/?id=74b2028167ddf04a867ae9f269bfa3435c93f252 But I'm not so familiar with the code, maybe laforge or fixeria know a better answer? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 Gerrit-Change-Number: 17569 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 12:45: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 Mon Mar 23 13:17:45 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 13:17:45 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: update to new version In-Reply-To: References: Message-ID: Andre Puschmann has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 ) Change subject: srsenb.conf.tmpl: update to new version ...................................................................... srsenb.conf.tmpl: update to new version Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 1 file changed, 7 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index d28d255..51afcce 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -135,10 +135,11 @@ # # max_aggr_level: Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3) # pdsch_mcs: Optional fixed PDSCH MCS (ignores reported CQIs if specified) -# pdsch_max_mcs: Optional PDSCH MCS limit +# pdsch_max_mcs: Optional PDSCH MCS limit # pusch_mcs: Optional fixed PUSCH MCS (ignores reported CQIs if specified) -# pusch_max_mcs: Optional PUSCH MCS limit -# #nof_ctrl_symbols: Number of control symbols +# pusch_max_mcs: Optional PUSCH MCS limit +# min_nof_ctrl_symbols: Minimum number of control symbols +# max_nof_ctrl_symbols: Maximum number of control symbols # ##################################################################### [scheduler] @@ -146,8 +147,9 @@ #pdsch_mcs = -1 #pdsch_max_mcs = -1 #pusch_mcs = -1 -pusch_max_mcs = 16 -nof_ctrl_symbols = 3 +#pusch_max_mcs = 16 +#min_nof_ctrl_symbols = 1 +#max_nof_ctrl_symbols = 3 ##################################################################### # eMBMS configuration options -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c Gerrit-Change-Number: 17533 Gerrit-PatchSet: 2 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 13:17:45 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 13:17:45 +0000 Subject: Change in osmo-gsm-tester[master]: fix lookup table for maximum DL/UL rate for srsENB In-Reply-To: References: Message-ID: Andre Puschmann has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17534 ) Change subject: fix lookup table for maximum DL/UL rate for srsENB ...................................................................... fix lookup table for maximum DL/UL rate for srsENB Change-Id: Ieb027eaf5d8f4d774d0e29207f7a3b75dec6ee5b --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 11 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 14e2db4..940665e 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -254,20 +254,19 @@ return 2 def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB in TM1 - max_phy_rate_tm1_dl = { 6 : 2.3e6, - 15 : 8e6, - 25 : 16e6, + # The max rate for a single UE per PRB configuration in TM1 + max_phy_rate_tm1_dl = { 6 : 3.5e6, + 15 : 11e6, + 25 : 18e6, 50 : 36e6, - 75 : 54e6, + 75 : 55e6, 100 : 75e6 } - # TODO: proper values for this table: - max_phy_rate_tm1_ul = { 6 : 0.23e6, - 15 : 0.8e6, - 25 : 1.6e6, - 50 : 3.6e6, - 75 : 5.4e6, - 100 : 7.5e6 } + 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: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ieb027eaf5d8f4d774d0e29207f7a3b75dec6ee5b Gerrit-Change-Number: 17534 Gerrit-PatchSet: 3 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 13:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 13:18:11 +0000 Subject: Change in osmo-gsm-tester[master]: relax max_rate for iperf UL/DL tests In-Reply-To: References: Message-ID: Andre Puschmann has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17535 ) Change subject: relax max_rate for iperf UL/DL tests ...................................................................... relax max_rate for iperf UL/DL tests Change-Id: Ia243156931918d5ab013c64c37823bc2e400798e --- M suites/4g/iperf3_dl.py M suites/4g/iperf3_ul.py 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/suites/4g/iperf3_dl.py b/suites/4g/iperf3_dl.py index c98251b..38a3891 100755 --- a/suites/4g/iperf3_dl.py +++ b/suites/4g/iperf3_dl.py @@ -44,6 +44,6 @@ print_results(iperf3cli.get_results(), iperf3srv.get_results()) max_rate = enb.ue_max_rate(downlink=True) -res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='dl_brate', criterion='gt') +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/suites/4g/iperf3_ul.py b/suites/4g/iperf3_ul.py index fe963a9..f467696 100755 --- a/suites/4g/iperf3_ul.py +++ b/suites/4g/iperf3_ul.py @@ -44,6 +44,6 @@ print_results(iperf3cli.get_results(), iperf3srv.get_results()) max_rate = enb.ue_max_rate(downlink=False) -res_str = ue.verify_metric(max_rate * 0.9, operation='avg', metric='ul_brate', criterion='gt') +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/+/17535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia243156931918d5ab013c64c37823bc2e400798e Gerrit-Change-Number: 17535 Gerrit-PatchSet: 2 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 13:22:43 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Mar 2020 13:22:43 +0000 Subject: Change in osmo-bts[master]: osmo-trx: do not set rx-gain to 1 by default References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17570 ) Change subject: osmo-trx: do not set rx-gain to 1 by default ...................................................................... osmo-trx: do not set rx-gain to 1 by default The sample configs supplied within the doc/trx directory set the rx-gain parameter to 1. A low value like this may cause a noticeable degration of rx performance (For an USRP B200 an rx-gain of 38dbm is recommended). Lets remove this seting from the sample configuration to allow the default settings in osmo-trx to be applied. Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Related: OS#4467 --- M doc/examples/trx/osmo-bts-trx-calypso.cfg M doc/examples/trx/osmo-bts-trx.cfg 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/17570/1 diff --git a/doc/examples/trx/osmo-bts-trx-calypso.cfg b/doc/examples/trx/osmo-bts-trx-calypso.cfg index 6b52fd2..3f2e778 100644 --- a/doc/examples/trx/osmo-bts-trx-calypso.cfg +++ b/doc/examples/trx/osmo-bts-trx-calypso.cfg @@ -22,7 +22,6 @@ ! phy 0 instance 0 - osmotrx rx-gain 1 osmotrx ip local 127.0.0.1 osmotrx ip remote 127.0.0.1 osmotrx timing-advance-loop diff --git a/doc/examples/trx/osmo-bts-trx.cfg b/doc/examples/trx/osmo-bts-trx.cfg index 8342697..81313e5 100644 --- a/doc/examples/trx/osmo-bts-trx.cfg +++ b/doc/examples/trx/osmo-bts-trx.cfg @@ -21,7 +21,6 @@ ! phy 0 instance 0 - osmotrx rx-gain 1 osmotrx ip local 127.0.0.1 osmotrx ip remote 127.0.0.1 bts 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Gerrit-Change-Number: 17570 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 Mar 23 13:51:20 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 13:51:20 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin 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/+/17560 to look at the new patch set (#3). Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... process: add stdin_write method to communicate with child on stdin Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 --- M src/osmo_gsm_tester/process.py 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/17560/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 3 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 13:54:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 13:54:19 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS in a ring buffer. Add a VTY command to display them conveniently. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- 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/osmo_bsc_main.c 4 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/17571/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5afc2cf..b7b6009 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1005,6 +1005,16 @@ uint8_t overflow; }; +struct bts_oml_fail_rep { + struct llist_head list; + time_t time; + char *event_type; + char *severity; + char *additional_text; + enum abis_nm_pcause_type pcause; + enum abis_mm_event_causes cause; +}; + /* One BTS */ struct gsm_bts { /* list header in net->bts_list */ @@ -1267,6 +1277,8 @@ struct bts_smscb_chan_state cbch_basic; struct bts_smscb_chan_state cbch_extended; struct osmo_timer_list etws_timer; /* when to stop ETWS PN */ + + struct llist_head oml_fail_rep; }; /* One rejected BTS */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 39adb21..94aa06c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -559,6 +559,43 @@ return CMD_SUCCESS; } +DEFUN(show_bts_fail_rep, show_bts_fail_rep_cmd, "show bts <0-255> fail-rep", + SHOW_STR "Display information about a BTS\n" + "BTS number" "OML failure reports") +{ + struct gsm_network *net = gsmnet_from_vty(vty); + struct llist_head *list; + struct bts_oml_fail_rep *entry; + int bts_nr; + + bts_nr = atoi(argv[0]); + if (bts_nr >= net->num_bts) { + vty_out(vty, "%% can't find BTS '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + list = &gsm_bts_num(net, bts_nr)->oml_fail_rep; + if (llist_empty(list)) { + vty_out(vty, "No failure reports received.%s", VTY_NEWLINE); + return CMD_SUCCESS; + } + + llist_for_each_entry(entry, list, list) { + char timestamp[20]; /* format like 2020-03-23 14:24:00 */ + strftime(timestamp, sizeof(timestamp), "%F %T", localtime(&entry->time)); + + vty_out(vty, "[%s] Type=%s, Severity=%s, ", timestamp, entry->event_type, entry->severity); + vty_out(vty, "Probable cause=%s: ", get_value_string(abis_nm_pcause_type_names, entry->pcause)); + if (entry->pcause == NM_PCAUSE_T_MANUF) + vty_out(vty, "%s, ", get_value_string(abis_mm_event_cause_names, entry->cause)); + else + vty_out(vty, "%04X, ", entry->cause); + vty_out(vty, "Additional text=%s%s", entry->additional_text, VTY_NEWLINE); + } + + return CMD_SUCCESS; +} + DEFUN(show_rejected_bts, show_rejected_bts_cmd, "show rejected-bts", SHOW_STR "Display recently rejected BTS devices\n") { @@ -5272,6 +5309,7 @@ install_element_ve(&bsc_show_net_cmd); install_element_ve(&show_bts_cmd); + install_element_ve(&show_bts_fail_rep_cmd); install_element_ve(&show_rejected_bts_cmd); install_element_ve(&show_trx_cmd); install_element_ve(&show_trx_con_cmd); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index f12b032..fe421a4 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -881,6 +881,7 @@ INIT_LLIST_HEAD(&bts->abis_queue); INIT_LLIST_HEAD(&bts->loc_list); INIT_LLIST_HEAD(&bts->local_neighbors); + INIT_LLIST_HEAD(&bts->oml_fail_rep); /* Enable all codecs by default. These get reset to a more fine grained selection IF a * 'codec-support' config appears in the config file (see bsc_vty.c). */ diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index bf68c9b..a968c97 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -205,16 +205,55 @@ return 0; } +/* Callback function for FAIL REPORT on the OML NM: save to ringbuffer, so it can be read from VTY */ +static int oml_msg_fail_rep(struct nm_fail_rep_signal_data *fail_rep) +{ + struct llist_head *list; + struct bts_oml_fail_rep *entry; + + if (!fail_rep->bts) { + LOGP(DNM, LOGL_ERROR, "Unknown bts. Can not log failure report.\n"); + return 0; + } + + /* Allocate new list entry */ + entry = talloc_zero(fail_rep->bts, struct bts_oml_fail_rep); + entry->time = time(NULL); + entry->event_type = talloc_strdup(entry, fail_rep->parsed.event_type); + entry->severity = talloc_strdup(entry, fail_rep->parsed.severity); + entry->additional_text = talloc_strdup(entry, fail_rep->parsed.additional_text); + /* Split up probable_cause like in log_oml_fail_rep() */ + entry->pcause = fail_rep->parsed.probable_cause[0]; + entry->cause = osmo_load16be(fail_rep->parsed.probable_cause + 1); + + /* Attach to list */ + list = &fail_rep->bts->oml_fail_rep; + llist_add(&entry->list, list); + + /* Clear old entries */ + if (llist_count(list) > 50) { + struct bts_oml_fail_rep *old = llist_last_entry(list, struct bts_oml_fail_rep, list); + llist_del(&old->list); + talloc_free(old); + } + + return 0; +} + /* Callback function to be called every time we receive a signal from NM */ static int nm_sig_cb(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) { struct nm_nack_signal_data *nack; + struct nm_fail_rep_signal_data *fail_rep; switch (signal) { case S_NM_NACK: nack = signal_data; return oml_msg_nack(nack); + case S_NM_FAIL_REP: + fail_rep = signal_data; + return oml_msg_fail_rep(fail_rep); default: break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 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 Mar 23 13:55:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 13:55:59 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Fix bug receiving RA cap 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/+/17548 to look at the new patch set (#6). Change subject: rlcmac: Fix bug receiving RA cap ...................................................................... rlcmac: Fix bug receiving RA cap It seems the assumptions regarding maximum number of RA capabilitites in one message were wrong. Doing some rough calculations, each RA capabilitiy value (without extensions) can take around 20ish bits, which means for a message containing up to 52 bytes that quite a lot of different values could be theoretically fed in. Let's be safe and increase the array size to be able to handle all different access technologies listed in See TS 24.008 table 10.5.146 following restrictions: * "The MS Radio Access capability is a type 4 information element, with a maximum length of 52 octets." * "Among the three Access Type Technologies GSM 900-P, GSM 900-E and GSM 900-R only one shall be present." * "the mobile station should provide the relevant radio access capability for either GSM 1800 band OR GSM 1900 band, not both". Wireshark requires similar fix (it's not important though because it currently uses another ad-hoc decoder for RAcap). Related: OS#4463 Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff --- M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 13 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/17548/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 6 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 Mon Mar 23 13:56:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 13:56:00 +0000 Subject: Change in osmo-pcu[master]: csn1: Validate recursive array max size during decoding References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17572 ) Change subject: csn1: Validate recursive array max size during decoding ...................................................................... csn1: Validate recursive array max size during decoding This way if CSN1 encoded bitstream contains more elements than what the defintion expects it will fail instead of overflowing the decoded buffer. RA cap struct placed in unit test is taken from a real android phone sending the value when attaching to the network. Then SGSN sends it back and osmo-pcu would crash similar to unit test: *** stack smashing detected ***: terminated Process terminating with default action of signal 6 (SIGABRT): dumping core at 0x4C62CE5: raise (in /usr/lib/libc-2.31.so) by 0x4C4C856: abort (in /usr/lib/libc-2.31.so) by 0x4CA62AF: __libc_message (in /usr/lib/libc-2.31.so) by 0x4D36069: __fortify_fail (in /usr/lib/libc-2.31.so) by 0x4D36033: __stack_chk_fail (in /usr/lib/libc-2.31.so) by 0x124706: testRAcap2(void*) (RLCMACTest.cpp:468) Related: OS#4463 Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e --- M src/csn1.c M src/csn1.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 160 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/72/17572/1 diff --git a/src/csn1.c b/src/csn1.c index 296bf6c..e8ee917 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1281,6 +1281,7 @@ * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)} */ gint16 nSizeElement = (gint16)(gint32)pDescr->value; + guint32 nSizeArray = (guint32)((uintptr_t)pDescr->aux_fn); guint8 ElementCount = 0; pui8 = pui8DATA(data, pDescr->offset); @@ -1292,6 +1293,12 @@ remaining_bits_len--; ElementCount++; + if (ElementCount > nSizeArray) + { + LOGPC(DCSN1, LOGL_ERROR, "error: %s: too many elements (>%u) in recursive array. Increase its size! } |", pDescr->sz, nSizeArray); + return ProcessError(readIndex,"csnStreamDecoder", CSN_ERROR_STREAM_NOT_SUPPORTED, pDescr); + } + { /* unpack the following data structure */ csnStream_t arT = *ar; gint16 Status; @@ -1345,6 +1352,7 @@ * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)} */ gint16 nSizeElement = (gint16)(gint32)pDescr->value; + guint32 nSizeArray = (guint32)((uintptr_t)pDescr->aux_fn); guint8 ElementCount = 0; csnStream_t arT = *ar; gboolean EndOfList = FALSE; @@ -1355,6 +1363,12 @@ { /* get data element */ ElementCount++; + if (ElementCount > nSizeArray) + { + LOGPC(DCSN1, LOGL_ERROR, "error: %s: too many elements (>%u) in recursive array. Increase its size! } |", pDescr->sz, nSizeArray); + return ProcessError(readIndex,"csnStreamDecoder", CSN_ERROR_STREAM_NOT_SUPPORTED, pDescr); + } + LOGPC(DCSN1, LOGL_DEBUG, "%s { | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); diff --git a/src/csn1.h b/src/csn1.h index b3fdc0a..e4ef867 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -451,7 +451,7 @@ * ::= {1 } ** 0 ; *****************************************************************************/ #define M_REC_TARRAY_1(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY_1, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), NULL} + {CSN_RECURSIVE_TARRAY_1, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} /****************************************************************************** * M_REC_TARRAY2(Par1, Par2, Par3, Par4) @@ -459,7 +459,7 @@ * ::= { 0 } ** 1 ; *****************************************************************************/ #define M_REC_TARRAY_2(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY_2, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), NULL} + {CSN_RECURSIVE_TARRAY_2, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} /****************************************************************************** * M_TYPE(Par1, Par2, Par3) diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 6529d4d..058d57e 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -328,6 +328,146 @@ bitvec_free(bv_dec); } +/* Reproduce crash from ticket OS#4463 */ +void testRAcap2(void *test_ctx) +{ + printf("*** %s ***\n", __func__); + MS_Radio_Access_capability_t data; + memset(&data, 0, sizeof(data)); + bitvec *bv_dec = bitvec_alloc(23, test_ctx); + int rc; +/* +MS Radio Access Capability + Element ID: 0x13 + 1... .... = ext: 1 + Length: 23 + ------------------------------------------- Hex bitstream starts here: + MS RA capability 1 + 0001 .... = Access Technology Type: GSM E --note that GSM E covers GSM P (1) + .... 1001 001. .... = Length in bits: 0x49 (73) + ...1 00.. RF Power Capability, GMSK Power Class: 2 W (33 dBm) (4) + A5 Bits: A5 bits follow (1) + A5/1: encryption algorithm available (1) + A5/2: encryption algorithm not available (0) + A5/3: encryption algorithm available (1) + A5/4: encryption algorithm not available (0) + A5/5: encryption algorithm not available (0) + A5/6: encryption algorithm not available (0) + A5/7: encryption algorithm not available (0) + .... ..1. = Controlled early Classmark Sending: Implemented + .... ...1 = Pseudo Synchronisation: Present + 0... .... = Voice Group Call Service: no VGCS capability or no notifications wanted + .0.. .... = Voice Broadcast Service: no VBS capability or no notifications wanted + ..1. .... = Multislot capability struct: Present + HSCSD multislot class: Bits are not available (0) + .... 0111 = SMS_VALUE (Switch-Measure-Switch): 8/4 timeslot (~1154 microseconds) (7) + 0001 .... = (SM_VALUE) Switch-Measure: 2/4 timeslot (~288 microseconds) (1) + ECSD multislot class: Bits are not available (0) + .... ...0 = Single Slot DTM: Not supported + 1... .... = DTM EGPRS Multi Slot Class: Present + .... .011 00.. .... = GPRS multislot class: Max Rx-Slot/TDMA:4 Max Tx-Slot/TDMA:4 Max-Sum-Slot/TDMA:5 Tta:2 Ttb:1 Tra:2 Trb:1 Type:1 (12) + ..1. .... = GPRS Extended Dynamic Allocation Capability: Implemented + .... ..01 100. .... = EGPRS multislot class: Max Rx-Slot/TDMA:4 Max Tx-Slot/TDMA:4 Max-Sum-Slot/TDMA:5 Tta:2 Ttb:1 Tra:2 Trb:1 Type:1 (12) + ...1 .... = EGPRS Extended Dynamic Allocation Capability: Implemented + .... .11. = DTM GPRS Multi Slot Class: Multislot class 11 supported (3) + .11. .... = DTM EGPRS Multi Slot Class: Multislot class 11 supported (3) + ...1 .... = 8PSK Power Capability Bits: Present + 8PSK Power Capability: Power class E2 (2) + .... ..0. = COMPACT Interference Measurement Capability: Not Implemented + .... ...1 = Revision Level Indicator: The ME is Release '99 onwards + 0... .... = UMTS FDD Radio Access Technology Capability: Not supported + .0.. .... = UMTS 3.84 Mcps TDD Radio Access Technology Capability: Not supported + ..0. .... = CDMA 2000 Radio Access Technology Capability: Not supported + ...0 .... = UMTS 1.28 Mcps TDD Radio Access Technology Capability: Not supported + .... 1... = GERAN Feature Package 1: Supported + Extended DTM EGPRS Multi Slot Class: Bits are not available (0) + .... ..0. = Modulation based multislot class support: Not supported + High Multislot Capability: Bits are not available (0) + 0... .... = GERAN Iu mode: Not supported + GMSK Multislot Power Profile: GMSK_MULTISLOT_POWER_PROFILE 3 (3) + 8-PSK Multislot Power Profile: 8-PSK_MULTISLOT_POWER_PROFILE 3 (3) + .... .0.. = Multiple TBF Capability: Not supported + .... ..01 = Downlink Advanced Receiver Performance: Downlink Advanced Receiver Performance - phase I supported (1) + 1... .... = Extended RLC/MAC Control Message Segmentation Capability: Supported + .1.. .... = DTM Enhancements Capability: The mobile station supports enhanced DTM CS establishment and enhanced DTM CS release procedures + ...0 .... = PS Handover Capability: Not supported + MS RA capability 2 + .... .011 1... .... = Access Technology Type: GSM 850 (7) + .010 0010 = Length in bits: 0x22 (34) + 100. .... RF Power Capability, GMSK Power Class: 2 W (33 dBm) (4) + A5 Bits: Same values apply for parameters as in the immediately preceding Access capabilities field within this IE (0) + .... 1... = Controlled early Classmark Sending: Implemented + .... .1.. = Pseudo Synchronisation: Present + .... ..0. = Voice Group Call Service: no VGCS capability or no notifications wanted + .... ...0 = Voice Broadcast Service: no VBS capability or no notifications wanted + 0... .... = Multislot capability struct: Not Present + .1.. .... = 8PSK Power Capability Bits: Present + 8PSK Power Capability: Power class E2 (2) + .... 0... = COMPACT Interference Measurement Capability: Not Implemented + .... .1.. = Revision Level Indicator: The ME is Release '99 onwards + .... ..0. = UMTS FDD Radio Access Technology Capability: Not supported + .... ...0 = UMTS 3.84 Mcps TDD Radio Access Technology Capability: Not supported + 0... .... = CDMA 2000 Radio Access Technology Capability: Not supported + .0.. .... = UMTS 1.28 Mcps TDD Radio Access Technology Capability: Not supported + ..1. .... = GERAN Feature Package 1: Supported + Extended DTM EGPRS Multi Slot Class: Bits are not available (0) + .... 0... = Modulation based multislot class support: Not supported + High Multislot Capability: Bits are not available (0) + .... ..0. = GERAN Iu mode: Not supported + GMSK Multislot Power Profile: GMSK_MULTISLOT_POWER_PROFILE 3 (3) + 8-PSK Multislot Power Profile: 8-PSK_MULTISLOT_POWER_PROFILE 3 (3) + ...0 .... = Multiple TBF Capability: Not supported + .... 01.. = Downlink Advanced Receiver Performance: Downlink Advanced Receiver Performance - phase I supported (1) + .... ..1. = Extended RLC/MAC Control Message Segmentation Capability: Supported + .... ...1 = DTM Enhancements Capability: The mobile station supports enhanced DTM CS establishment and enhanced DTM CS release procedures + .0.. .... = PS Handover Capability: Not supported + MS RA capability 3 + ...0 011. = Access Technology Type: GSM 1800 (3) + .... ...0 1000 10.. = Length in bits: 0x22 (34) + .... ..00 1... .... RF Power Capability, GMSK Power Class: 1 W (30 dBm) (1) + A5 Bits: Same values apply for parameters as in the immediately preceding Access capabilities field within this IE (0) + ..1. .... = Controlled early Classmark Sending: Implemented + ...1 .... = Pseudo Synchronisation: Present + .... 0... = Voice Group Call Service: no VGCS capability or no notifications wanted + .... .0.. = Voice Broadcast Service: no VBS capability or no notifications wanted + .... ..0. = Multislot capability struct: Not Present + .... ...1 = 8PSK Power Capability Bits: Present + 8PSK Power Capability: Power class E2 (2) + ..0. .... = COMPACT Interference Measurement Capability: Not Implemented + ...1 .... = Revision Level Indicator: The ME is Release '99 onwards + .... 0... = UMTS FDD Radio Access Technology Capability: Not supported + .... .0.. = UMTS 3.84 Mcps TDD Radio Access Technology Capability: Not supported + .... ..0. = CDMA 2000 Radio Access Technology Capability: Not supported + .... ...0 = UMTS 1.28 Mcps TDD Radio Access Technology Capability: Not supported + 1... .... = GERAN Feature Package 1: Supported + Extended DTM EGPRS Multi Slot Class: Bits are not available (0) + ..0. .... = Modulation based multislot class support: Not supported + High Multislot Capability: Bits are not available (0) + .... 0... = GERAN Iu mode: Not supported + GMSK Multislot Power Profile: GMSK_MULTISLOT_POWER_PROFILE 3 (3) + 8-PSK Multislot Power Profile: 8-PSK_MULTISLOT_POWER_PROFILE 3 (3) + .0.. .... = Multiple TBF Capability: Not supported + ..01 .... = Downlink Advanced Receiver Performance: Downlink Advanced Receiver Performance - phase I supported (1) + .... 1... = Extended RLC/MAC Control Message Segmentation Capability: Supported + .... .1.. = DTM Enhancements Capability: The mobile station supports enhanced DTM CS establishment and enhanced DTM CS release procedures + .... ...0 = PS Handover Capability: Not supported +*/ + bitvec_unhex(bv_dec, "1933432b37159ef90879cba28c6421e72688b190879c00"); + + printf("=== Test decoding of multi-band MS RA Capability ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); + OSMO_ASSERT(rc == CSN_ERROR_STREAM_NOT_SUPPORTED); +#if 0 + /* Make sure there's 1 value (currently fails due to failed decoding) */ + OSMO_ASSERT(data.Count_MS_RA_capability_value == 3); + + /* Make sure GPRS / EGPRS multislot class is parsed correctly */ + printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); + printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); +#endif + bitvec_free(bv_dec); +} + int main(int argc, char *argv[]) { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); @@ -346,5 +486,6 @@ testCsnLeftAlignedVarBmpBounds(ctx); testRAcap(ctx); testMalformedRAcap(ctx); + testRAcap2(ctx); talloc_free(ctx); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 4434d9b..b225bfd 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -39,3 +39,4 @@ 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 } | DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec +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 } | error: MS_RA_capability_value: too many elements (>2) in recursive array. Increase its size! } |DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at MS_RA_capability_value (idx 131) diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index ffcaeb3..313511f 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -144,3 +144,5 @@ *** testMalformedRAcap *** === Test decoding of MS RA Capability === decode_gsm_ra_cap() returns 0 +*** testRAcap2 *** +=== Test decoding of multi-band MS RA Capability === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e Gerrit-Change-Number: 17572 Gerrit-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 Mar 23 14:09:58 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 14:09:58 +0000 Subject: Change in osmo-bts[master]: VTY: add "send-failure-event-report" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "send-failure-event-report" ...................................................................... VTY: add "send-failure-event-report" Send test failure event report OML message to the BSC. I found this useful while manually testing related handling code in OsmoBSC. Related: OS#1605 Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e --- M src/common/vty.c 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/17573/1 diff --git a/src/common/vty.c b/src/common/vty.c index ab38dc1..181feb5 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -928,6 +928,22 @@ return CMD_SUCCESS; } +DEFUN(send_failure_event_report, send_failure_event_report_cmd, "send-failure-event-report <0-255>", + "Send a test OML failure event report to the BSC\n" BTS_NR_STR) +{ + struct gsm_network *net = gsmnet_from_vty(vty); + int bts_nr = atoi(argv[0]); + struct gsm_bts *bts; + + if (bts_nr >= net->num_bts) { + vty_out(vty, "%% can't find BTS '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + bts = gsm_bts_num(net, bts_nr); + oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MINOR, OSMO_EVT_WARN_SW_WARN, "test message sent from VTY"); +} + static void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx) { vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", @@ -1667,6 +1683,7 @@ install_element_ve(&show_lchan_summary_cmd); install_element_ve(&logging_fltr_l1_sapi_cmd); install_element_ve(&no_logging_fltr_l1_sapi_cmd); + install_element_ve(&send_failure_event_report_cmd); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 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 Mar 23 14:30:07 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 14:30:07 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report 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/+/17571 to look at the new patch set (#2). Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS in a ring buffer. Add a VTY command to display them conveniently. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- 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/osmo_bsc_main.c 4 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/17571/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 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 Mon Mar 23 14:40:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 14:40:19 +0000 Subject: Change in osmo-bts[master]: VTY: add "send-failure-event-report" 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/+/17573 to look at the new patch set (#2). Change subject: VTY: add "send-failure-event-report" ...................................................................... VTY: add "send-failure-event-report" Send test failure event report OML message to the BSC. I found this useful while manually testing related handling code in OsmoBSC. Related: OS#1605 Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e --- M src/common/vty.c 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/17573/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 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 Mon Mar 23 14:44:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 14:44:07 +0000 Subject: Change in osmo-pcu[master]: csn1: Validate recursive array max size during decoding 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/+/17572 to look at the new patch set (#2). Change subject: csn1: Validate recursive array max size during decoding ...................................................................... csn1: Validate recursive array max size during decoding This way if CSN1 encoded bitstream contains more elements than what the defintion expects it will fail instead of overflowing the decoded buffer. RA cap struct placed in unit test is taken from a real android phone sending the value when attaching to the network. Then SGSN sends it back and osmo-pcu would crash similar to unit test: *** stack smashing detected ***: terminated Process terminating with default action of signal 6 (SIGABRT): dumping core at 0x4C62CE5: raise (in /usr/lib/libc-2.31.so) by 0x4C4C856: abort (in /usr/lib/libc-2.31.so) by 0x4CA62AF: __libc_message (in /usr/lib/libc-2.31.so) by 0x4D36069: __fortify_fail (in /usr/lib/libc-2.31.so) by 0x4D36033: __stack_chk_fail (in /usr/lib/libc-2.31.so) by 0x124706: testRAcap2(void*) (RLCMACTest.cpp:468) Related: OS#4463 Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e --- M src/csn1.c M src/csn1.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 163 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/72/17572/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e Gerrit-Change-Number: 17572 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 Mar 23 14:44:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 14:44:08 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Don't pass array element to CSN1 descriptors References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17574 ) Change subject: rlcmac: Don't pass array element to CSN1 descriptors ...................................................................... rlcmac: Don't pass array element to CSN1 descriptors This way the macros can be used to access the arrays themselves and calculate its static size to enable validation later. In the case of Packet_Access_Reject_t, modify the description to use a M_REC_TARRAY_1 object to get rid of access to 2nd element. The new description is the correct one, since the first element is mandatory according to TS 44.060 Table 11.2.1. Change-Id: I6f10350d4734360c7a15a702c72b59efd84987ee --- M src/gsm_rlcmac.cpp 1 file changed, 11 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/74/17574/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 40b75ed..db0e54a 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -902,7 +902,7 @@ static const CSN_DESCR_BEGIN (Additional_access_technologies_t) - M_REC_TARRAY (Additional_access_technologies_t, Additional_access_technologies[0], Additional_access_technologies_struct_t, Count_additional_access_technologies), + M_REC_TARRAY (Additional_access_technologies_t, Additional_access_technologies, Additional_access_technologies_struct_t, Count_additional_access_technologies), CSN_DESCR_END (Additional_access_technologies_t) gint16 Additional_access_technologies_Dissector(csnStream_t* ar, bitvec* vector, unsigned *readIndex, void* data) @@ -1365,7 +1365,7 @@ static const CSN_DESCR_BEGIN(PSI_Message_List_t) - M_REC_TARRAY (PSI_Message_List_t, PSI_Message[0], PSI_Message_t, Count_PSI_Message), + M_REC_TARRAY (PSI_Message_List_t, PSI_Message, PSI_Message_t, Count_PSI_Message), M_FIXED (PSI_Message_List_t, 1, 0x00), M_UINT (PSI_Message_List_t, ADDITIONAL_MSG_TYPE, 1), CSN_DESCR_END (PSI_Message_List_t) @@ -1402,7 +1402,7 @@ static const CSN_DESCR_BEGIN(SI_Message_List_t) - M_REC_TARRAY (SI_Message_List_t, SI_Message[0], SI_Message_t, Count_SI_Message), + M_REC_TARRAY (SI_Message_List_t, SI_Message, SI_Message_t, Count_SI_Message), M_FIXED (SI_Message_List_t, 1, 0x00), M_UINT (SI_Message_List_t, ADDITIONAL_MSG_TYPE, 1), CSN_DESCR_END (SI_Message_List_t) @@ -2602,8 +2602,7 @@ M_UINT (Packet_Access_Reject_t, MESSAGE_TYPE, 6), M_UINT (Packet_Access_Reject_t, PAGE_MODE, 2), - M_TYPE (Packet_Access_Reject_t, Reject, Reject_t), - M_REC_TARRAY (Packet_Access_Reject_t, Reject[1], Reject_t, Count_Reject), + M_REC_TARRAY_1(Packet_Access_Reject_t, Reject, Reject_t, Count_Reject), M_PADDING_BITS(Packet_Access_Reject_t), CSN_DESCR_END (Packet_Access_Reject_t) @@ -3572,7 +3571,7 @@ M_UINT (ENH_NC_Measurement_Report_t, SCALE, 1), M_NEXT_EXIST (ENH_NC_Measurement_Report_t, Exist_Serving_Cell_Data, 1), M_TYPE (ENH_NC_Measurement_Report_t, Serving_Cell_Data, Serving_Cell_Data_t), - M_REC_TARRAY (ENH_NC_Measurement_Report_t, RepeatedInvalid_BSIC_Info[0], RepeatedInvalid_BSIC_Info_t, Count_RepeatedInvalid_BSIC_Info), + M_REC_TARRAY (ENH_NC_Measurement_Report_t, RepeatedInvalid_BSIC_Info, RepeatedInvalid_BSIC_Info_t, Count_RepeatedInvalid_BSIC_Info), M_NEXT_EXIST (ENH_NC_Measurement_Report_t, Exist_ReportBitmap, 1), M_VAR_TARRAY (ENH_NC_Measurement_Report_t, REPORTING_QUANTITY_Instances, REPORTING_QUANTITY_Instance_t, Count_REPORTING_QUANTITY_Instances), CSN_DESCR_END (ENH_NC_Measurement_Report_t) @@ -3713,7 +3712,7 @@ M_UINT (EnhancedMeasurementReport_t, SCALE, 1), M_NEXT_EXIST (EnhancedMeasurementReport_t, Exist_ServingCellData, 1), M_TYPE (EnhancedMeasurementReport_t, ServingCellData, EMR_ServingCell_t), - M_REC_TARRAY (EnhancedMeasurementReport_t, RepeatedInvalid_BSIC_Info[0], RepeatedInvalid_BSIC_Info_t, + M_REC_TARRAY (EnhancedMeasurementReport_t, RepeatedInvalid_BSIC_Info, RepeatedInvalid_BSIC_Info_t, Count_RepeatedInvalid_BSIC_Info), M_NEXT_EXIST (EnhancedMeasurementReport_t, Exist_ReportBitmap, 1), M_VAR_TARRAY (EnhancedMeasurementReport_t, REPORTING_QUANTITY_Instances, REPORTING_QUANTITY_Instance_t, Count_REPORTING_QUANTITY_Instances), @@ -4472,7 +4471,7 @@ static const CSN_DESCR_BEGIN(NonHoppingPCCCH_t) - M_REC_TARRAY (NonHoppingPCCCH_t, Carriers[0], Non_Hopping_PCCCH_Carriers_t, Count_Carriers), + M_REC_TARRAY (NonHoppingPCCCH_t, Carriers, Non_Hopping_PCCCH_Carriers_t, Count_Carriers), CSN_DESCR_END (NonHoppingPCCCH_t) static const @@ -4484,7 +4483,7 @@ static const CSN_DESCR_BEGIN(HoppingPCCCH_t) M_UINT(HoppingPCCCH_t, MA_NUMBER, 4), - M_REC_TARRAY (HoppingPCCCH_t, Carriers[0], Hopping_PCCCH_Carriers_t, Count_Carriers), + M_REC_TARRAY (HoppingPCCCH_t, Carriers, Hopping_PCCCH_Carriers_t, Count_Carriers), CSN_DESCR_END (HoppingPCCCH_t) static const @@ -4510,10 +4509,10 @@ M_NEXT_EXIST (PSI2_t, Exist_Non_GPRS_Cell_Options, 1), M_TYPE (PSI2_t, Non_GPRS_Cell_Options, Non_GPRS_Cell_Options_t), - M_REC_TARRAY (PSI2_t, Reference_Frequency[0], Reference_Frequency_t, Count_Reference_Frequency), + M_REC_TARRAY (PSI2_t, Reference_Frequency, Reference_Frequency_t, Count_Reference_Frequency), M_TYPE (PSI2_t, Cell_Allocation, Cell_Allocation_t), - M_REC_TARRAY (PSI2_t, GPRS_MA[0], PSI2_MA_t, Count_GPRS_MA), - M_REC_TARRAY (PSI2_t, PCCCH_Description[0], PCCCH_Description_t, Count_PCCCH_Description), + M_REC_TARRAY (PSI2_t, GPRS_MA, PSI2_MA_t, Count_GPRS_MA), + M_REC_TARRAY (PSI2_t, PCCCH_Description, PCCCH_Description_t, Count_PCCCH_Description), M_PADDING_BITS(PSI2_t), CSN_DESCR_END (PSI2_t) /*< End Packet System Information Type 2 message content >*/ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6f10350d4734360c7a15a702c72b59efd84987ee Gerrit-Change-Number: 17574 Gerrit-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 Mar 23 14:44:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 14:44:27 +0000 Subject: Change in osmo-bts[master]: osmo-trx: do not set rx-gain to 1 by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17570 ) Change subject: osmo-trx: do not set rx-gain to 1 by default ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Gerrit-Change-Number: 17570 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 14:44: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 Mar 23 14:45:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 14:45:46 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/3/src/osmo_gsm_tester/process.py File src/osmo_gsm_tester/process.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560/3/src/osmo_gsm_tester/process.py at 358 PS3, Line 358: self.process_obj.stdin.write("{}".format(cmd).encode("utf-8")) You can simply use cmd.encode("utf-8") here, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 3 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 14:45: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 Mon Mar 23 14:49:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 14:49:49 +0000 Subject: Change in osmo-bts[master]: VTY: add "send-failure-event-report" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "send-failure-event-report" ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17573/2/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17573/2/src/common/vty.c at 931 PS2, Line 931: DEFUN(send_failure_event_report, send_failure_event_report_cmd, "send-failure-event-report <0-255>", probably adding the "test" keyword in the vty command would make it more clear that it's only to be used for testing. I think you can even check that this command is only run under no config node to make suer it's not added to the vty.cfg file. Something like: if(vty->node == CONFIG_NODE) { vty_Out("not allowed in cfg, it's for testing"); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 14:49:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 14:49:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 14:49:53 +0000 Subject: Change in osmo-bts[master]: VTY: add "send-failure-event-report" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "send-failure-event-report" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 14:49:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 15:09:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 15:09:21 +0000 Subject: Change in osmo-bts[master]: VTY: add "test-failure-event-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-bts/+/17573 to look at the new patch set (#3). Change subject: VTY: add "test-failure-event-report" ...................................................................... VTY: add "test-failure-event-report" Send test failure event report OML message to the BSC. I found this useful while manually testing related handling code in OsmoBSC. Related: OS#1605 Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e --- M src/common/vty.c 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/17573/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 3 Gerrit-Owner: osmith 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 Mar 23 15:09:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Mar 2020 15:09:30 +0000 Subject: Change in osmo-bts[master]: VTY: add "test-failure-event-report" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "test-failure-event-report" ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17573/2/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17573/2/src/common/vty.c at 931 PS2, Line 931: DEFUN(send_failure_event_report, send_failure_event_report_cmd, "send-failure-event-report <0-255>", > probably adding the "test" keyword in the vty command would make it more clear that it's only to be used for testing. Good idea, done. > I think you can even check that this command is only run under no config node to make suer it's not added to the vty.cfg file. It is not attached to a config node in bts_vty_init(), so just like "show_bts_cmd" etc an extra check should not be necessary. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 15:09: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 Mon Mar 23 15:23:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 15:23:53 +0000 Subject: Change in osmo-bts[master]: VTY: add "test-failure-event-report" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "test-failure-event-report" ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 15:23:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 16:13:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 16:13:26 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Log names of de/encoded rlcmac packet types References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17575 ) Change subject: rlcmac: Log names of de/encoded rlcmac packet types ...................................................................... rlcmac: Log names of de/encoded rlcmac packet types Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.err 2 files changed, 117 insertions(+), 154 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/75/17575/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index db0e54a..24b0235 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -29,6 +29,10 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +extern "C" { +#include +} + #include "gsm_rlcmac.h" /* Initialize the protocol and registered fields */ @@ -4798,120 +4802,6 @@ CSN_DESCR_END (PSI13_t) /*< End Packet System Information Type 13 message content >*/ - - -//typedef char* MT_Strings_t; - -static const char* szMT_Downlink[] = { - "Invalid Message Type", /* 0x00 */ - "PACKET_CELL_CHANGE_ORDER", /* 0x01 */ - "PACKET_DOWNLINK_ASSIGNMENT", /* 0x02 */ - "PACKET_MEASUREMENT_ORDER", /* 0x03 */ - "PACKET_POLLING_REQUEST", /* 0x04 */ - "PACKET_POWER_CONTROL_TIMING_ADVANCE", /* 0x05 */ - "PACKET_QUEUEING_NOTIFICATION", /* 0x06 */ - "PACKET_TIMESLOT_RECONFIGURE", /* 0x07 */ - "PACKET_TBF_RELEASE", /* 0x08 */ - "PACKET_UPLINK_ACK_NACK", /* 0x09 */ - "PACKET_UPLINK_ASSIGNMENT", /* 0x0A */ - "PACKET_CELL_CHANGE_CONTINUE", /* 0x0B */ - "PACKET_NEIGHBOUR_CELL_DATA", /* 0x0C */ - "PACKET_SERVING_CELL_DATA", /* 0x0D */ - "Invalid Message Type", /* 0x0E */ - "Invalid Message Type", /* 0x0F */ - "Invalid Message Type", /* 0x10 */ - "Invalid Message Type", /* 0x11 */ - "Invalid Message Type", /* 0x12 */ - "Invalid Message Type", /* 0x13 */ - "Invalid Message Type", /* 0x14 */ - "PACKET_HANDOVER_COMMAND", /* 0x15 */ - "PACKET_PHYSICAL_INFORMATION", /* 0x16 */ - "Invalid Message Type", /* 0x17 */ - "Invalid Message Type", /* 0x18 */ - "Invalid Message Type", /* 0x19 */ - "Invalid Message Type", /* 0x1A */ - "Invalid Message Type", /* 0x1B */ - "Invalid Message Type", /* 0x1C */ - "Invalid Message Type", /* 0x1D */ - "Invalid Message Type", /* 0x1E */ - "Invalid Message Type", /* 0x1F */ - "Invalid Message Type", /* 0x20 */ - "PACKET_ACCESS_REJECT", /* 0x21 */ - "PACKET_PAGING_REQUEST", /* 0x22 */ - "PACKET_PDCH_RELEASE", /* 0x23 */ - "PACKET_PRACH_PARAMETERS", /* 0x24 */ - "PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK", /* 0x25 */ - "Invalid Message Type", /* 0x26 */ - "Invalid Message Type", /* 0x27 */ - "Invalid Message Type", /* 0x28 */ - "Invalid Message Type", /* 0x29 */ - "Invalid Message Type", /* 0x2A */ - "Invalid Message Type", /* 0x2B */ - "Invalid Message Type", /* 0x2C */ - "Invalid Message Type", /* 0x2D */ - "Invalid Message Type", /* 0x2E */ - "Invalid Message Type", /* 0x2F */ - "PACKET_SYSTEM_INFO_6", /* 0x30 */ - "PACKET_SYSTEM_INFO_1", /* 0x31 */ - "PACKET_SYSTEM_INFO_2", /* 0x32 */ - "PACKET_SYSTEM_INFO_3", /* 0x33 */ - "PACKET_SYSTEM_INFO_3_BIS", /* 0x34 */ - "PACKET_SYSTEM_INFO_4", /* 0x35 */ - "PACKET_SYSTEM_INFO_5", /* 0x36 */ - "PACKET_SYSTEM_INFO_13", /* 0x37 */ - "PACKET_SYSTEM_INFO_7", /* 0x38 */ - "PACKET_SYSTEM_INFO_8", /* 0x39 */ - "PACKET_SYSTEM_INFO_14", /* 0x3A */ - "Invalid Message Type", /* 0x3B */ - "PACKET_SYSTEM_INFO_3_TER", /* 0x3C */ - "PACKET_SYSTEM_INFO_3_QUATER", /* 0x3D */ - "PACKET_SYSTEM_INFO_15" /* 0x3E */ -}; - -static const char* szMT_Uplink[] = { - "PACKET_CELL_CHANGE_FAILURE", /* 0x00 */ - "PACKET_CONTROL_ACKNOWLEDGEMENT", /* 0x01 */ - "PACKET_DOWNLINK_ACK_NACK", /* 0x02 */ - "PACKET_UPLINK_DUMMY_CONTROL_BLOCK", /* 0x03 */ - "PACKET_MEASUREMENT_REPORT", /* 0x04 */ - "PACKET_RESOURCE_REQUEST", /* 0x05 */ - "PACKET_MOBILE_TBF_STATUS", /* 0x06 */ - "PACKET_PSI_STATUS", /* 0x07 */ - "EGPRS_PACKET_DOWNLINK_ACK_NACK", /* 0x08 */ - "PACKET_PAUSE", /* 0x09 */ - "PACKET_ENHANCED_MEASUREMENT_REPORT", /* 0x0A */ - "ADDITIONAL_MS_RAC", /* 0x0B */ - "PACKET_CELL_CHANGE_NOTIFICATION", /* 0x0C */ - "PACKET_SI_STATUS", /* 0x0D */ -}; - -const char* -MT_DL_TextGet(guint8 mt) -{ - if (mt < ElementsOf(szMT_Downlink)) - { - return(szMT_Downlink[mt]); - } - else - { - return("Unknown message type"); - } -} - -const char* -MT_UL_TextGet(guint8 mt) -{ - if (mt < ElementsOf(szMT_Uplink)) - { - return(szMT_Uplink[mt]); - } - else - { - return("Unknown message type"); - } -} - - /* SI1_RestOctet_t */ static const @@ -4996,6 +4886,67 @@ M_UINT_LH (SI6_RestOctet_t, BandIndicator, 1), CSN_DESCR_END (SI6_RestOctet_t) + +// ---------------------------------------------------------------------------- +// osmo-pcu RLCMAC APIs +// ---------------------------------------------------------------------------- +static const struct value_string rlcmac_ul_msg_names[] = { + { MT_PACKET_CELL_CHANGE_FAILURE, "Pkt Cell Change Failure" }, + { MT_PACKET_CONTROL_ACK, "Pkt Control Ack" }, + { MT_PACKET_DOWNLINK_ACK_NACK , "Pkt DL ACK/NACK" }, + { MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK, "Pkt UL Dummy Ctrl Block" }, + { MT_PACKET_MEASUREMENT_REPORT, "Pkt Meas Report" }, + { MT_PACKET_RESOURCE_REQUEST, "Pkt Resource Req" }, + { MT_PACKET_MOBILE_TBF_STATUS, "Pkt Mobile TBF Status" }, + { MT_PACKET_PSI_STATUS, "Pkt PSI Status" }, + { MT_EGPRS_PACKET_DOWNLINK_ACK_NACK, "EGPRS Pkt DL ACK/NACK" }, + { MT_PACKET_PAUSE, "Pkt Pause" }, + { MT_PACKET_ENHANCED_MEASUREMENT_REPORT,"Pkt Enchanced Meas Report" }, + { MT_ADDITIONAL_MS_RAC, "Additional MS RAC" }, + { MT_PACKET_CELL_CHANGE_NOTIFICATION, "Pkt Cell Changte Notification" }, + { MT_PACKET_SI_STATUS, "Pkt SI Status" }, + { MT_ENHANCED_MEASUREMENT_REPORT, "Enchanced Meas Report" }, + { 0, NULL } +}; + +static const struct value_string rlcmac_dl_msg_names[] = { + { MT_PACKET_CELL_CHANGE_ORDER, "Pkt Cell Change Order" }, + { MT_PACKET_DOWNLINK_ASSIGNMENT, "Pkt DL ASS" }, + { MT_PACKET_MEASUREMENT_ORDER, "Pkt Meas Order" }, + { MT_PACKET_POLLING_REQ, "Pkt Polling Req" }, + { MT_PACKET_POWER_CONTROL_TIMING_ADVANCE, "Pkt PWR CTRL TA" }, + { MT_PACKET_QUEUEING_NOTIFICATION, "Pkt Queueing Notification" }, + { MT_PACKET_TIMESLOT_RECONFIGURE, "Pkt TS Reconf" }, + { MT_PACKET_TBF_RELEASE, "Pkt TBF Release" }, + { MT_PACKET_UPLINK_ACK_NACK, "Pkt UL ACK/NACK" }, + { MT_PACKET_UPLINK_ASSIGNMENT, "Pkt UL ASS" }, + { MT_PACKET_CELL_CHANGE_CONTINUE, "Pkt Cell Change Continue" }, + { MT_PACKET_NEIGHBOUR_CELL_DATA, "Pkt Neightbour Cell Data" }, + { MT_PACKET_SERVING_CELL_DATA, "Pkt Serving Cell Data" }, + { MT_PACKET_HANDOVER_COMMAND, "Pkt Handover Cmd" }, + { MT_PACKET_PHYSICAL_INFORMATION, "Pkt Physical Info" }, + { MT_PACKET_ACCESS_REJECT, "Pkt Access Reject" }, + { MT_PACKET_PAGING_REQUEST, "Pkt Paging Request" }, + { MT_PACKET_PDCH_RELEASE, "Pkt PDCH Release" }, + { MT_PACKET_PRACH_PARAMETERS, "Pkt PRACH Params" }, + { MT_PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK, "Pkt DL Dummy Ctrl Block" }, + { MT_PACKET_SYSTEM_INFO_6, "Pkt SI 6" }, + { MT_PACKET_SYSTEM_INFO_1, "Pkt SI 1" }, + { MT_PACKET_SYSTEM_INFO_2, "Pkt SI 2" }, + { MT_PACKET_SYSTEM_INFO_3, "Pkt SI 3" }, + { MT_PACKET_SYSTEM_INFO_3_BIS, "Pkt SI 3bis" }, + { MT_PACKET_SYSTEM_INFO_4, "Pkt SI 4" }, + { MT_PACKET_SYSTEM_INFO_5, "Pkt SI 5" }, + { MT_PACKET_SYSTEM_INFO_13, "Pkt SI 13" }, + { MT_PACKET_SYSTEM_INFO_7, "Pkt SI 7" }, + { MT_PACKET_SYSTEM_INFO_8, "Pkt SI 8" }, + { MT_PACKET_SYSTEM_INFO_14, "Pkt SI 14" }, + { MT_PACKET_SYSTEM_INFO_3_TER, "Pkt SI 3ter" }, + { MT_PACKET_SYSTEM_INFO_3_QUATER, "Pkt SI 3quater" }, + { MT_PACKET_SYSTEM_INFO_15, "Pkt SI 15" }, + { 0, NULL } +}; + /* Returns 0 on success, negative on error. */ int decode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data) { @@ -5003,6 +4954,7 @@ int ret; unsigned readIndex = 0; guint8 payload_type = bitvec_read_field(vector, &readIndex, 2); + const char *msg_type_name; if (payload_type == PAYLOAD_TYPE_DATA) { @@ -5022,7 +4974,9 @@ readIndex = 0; /* recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_ul_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type: %s (%d)): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { case MT_PACKET_CELL_CHANGE_FAILURE: @@ -5111,7 +5065,7 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); + LOGP(DRLCMACDATA, LOGL_NOTICE, "%s: Got %d remaining bits unhandled by decoder at the end of bitvec\n", msg_type_name, ret); ret = 0; } @@ -5127,6 +5081,7 @@ gint bit_length; unsigned readIndex = 0; int ret; + const char *msg_type_name; data->PAYLOAD_TYPE = bitvec_read_field(vector, &readIndex, 2); data->RRBP = bitvec_read_field(vector, &readIndex, 2); @@ -5181,7 +5136,9 @@ csnStreamInit(&ar, bit_offset, bit_length); /* recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_dl_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type: %s (%d): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { @@ -5320,7 +5277,7 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); + LOGP(DRLCMACDATA, LOGL_NOTICE, "%s: Got %d remaining bits unhandled by decoder at the end of bitvec\n", msg_type_name, ret); ret = 0; } @@ -5333,13 +5290,16 @@ csnStream_t ar; unsigned writeIndex = 0; int ret; + const char *msg_type_name; data->NrOfBits = 23 * 8; csnStreamInit(&ar, 0, data->NrOfBits); writeIndex = 0; /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_ul_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type: %s (%d)): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { case MT_PACKET_CELL_CHANGE_FAILURE: @@ -5441,6 +5401,7 @@ { csnStream_t ar; int ret; + const char *msg_type_name; /* See RLC/MAC downlink control block structure in TS 44.060 / 10.3.1 */ gint bit_offset = 0; gint bit_length; @@ -5497,7 +5458,9 @@ /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_dl_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type: %s (%d)): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { case MT_PACKET_ACCESS_REJECT: @@ -5796,7 +5759,7 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); + LOGP(DRLCMACDATA, LOGL_NOTICE, "RAcap: Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); ret = 0; } return ret; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 497f4d8..a5c6a8e 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -1,37 +1,37 @@ -DCSN1 INFO csnStreamDecoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0xcf59564a | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 3478738506 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x78000000 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2013265920 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at PacketPollingID (idx 16): End ID | -DCSN1 INFO csnStreamEncoder (type=4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.UPLINK_TFI = 0 | u.UPLINK_TFI = 0 | : End u.Global_TFI | : End ID | TYPE_OF_ACK = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x7e8ce3dd | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2123162589 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=37): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=37): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=3): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 3 | TLLI = 0x87987447 | Padding = 1|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=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=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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) +DCSN1 INFO csnStreamDecoder (type: Pkt DL ASS (2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt DL ASS (2)): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0xcf59564a | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 3478738506 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt DL ASS (2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt DL ASS (2)): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x78000000 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2013265920 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt Polling Req (4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at PacketPollingID (idx 16): End ID | +DCSN1 INFO csnStreamEncoder (type: Pkt Polling Req (4)): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.UPLINK_TFI = 0 | u.UPLINK_TFI = 0 | : End u.Global_TFI | : End ID | TYPE_OF_ACK = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x7e8ce3dd | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2123162589 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt DL Dummy Ctrl Block (37): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt DL Dummy Ctrl Block (37)): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL Dummy Ctrl Block (3)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 3 | TLLI = 0x87987447 | Padding = 1|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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=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=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=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=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 (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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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 } | DRLCMACDATA NOTICE Got 145 remaining bits unhandled by decoder at the end of bitvec 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 } | -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 Gerrit-Change-Number: 17575 Gerrit-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 Mar 23 16:28:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 16:28:19 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Don't pass array element to CSN1 descriptors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17574 ) Change subject: rlcmac: Don't pass array element to CSN1 descriptors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6f10350d4734360c7a15a702c72b59efd84987ee Gerrit-Change-Number: 17574 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 23 Mar 2020 16: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 Mon Mar 23 16:32:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 16:32:34 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: Several fixes and improvements to RAcap tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17549 ) Change subject: tests/RLCMACTest: Several fixes and improvements to RAcap tests ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17549/1/tests/rlcmac/RLCMACTest.cpp File tests/rlcmac/RLCMACTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17549/1/tests/rlcmac/RLCMACTest.cpp at 255 PS1, Line 255: (currently fails due to failed decoding) This comment should be removed some day. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 Gerrit-Change-Number: 17549 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 23 Mar 2020 16:32: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 Mon Mar 23 16:34:51 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Mar 2020 16:34:51 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... doc: do not use random ip address for dns in default conf The default configuration has a random ip-address as first DNS server. This might cause unnedessary trouble for people who try osmo-ggsn the first time. Lets have some public DNS here, just to be sure. Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/76/17576/1 diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index 4000636..22aeb45 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -43,7 +43,7 @@ tun-device tun4 type-support v4 ip prefix dynamic 176.16.222.0/24 - ip dns 0 192.168.100.1 + ip dns 0 8.8.8.8 ip dns 1 8.8.8.8 ip ifconfig 176.16.222.0/24 no shutdown @@ -61,7 +61,7 @@ tun-device tun46 type-support v4v6 ip prefix dynamic 176.16.46.0/24 - ip dns 0 192.168.100.1 + ip dns 0 8.8.8.8 ip dns 1 8.8.8.8 ip ifconfig 176.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 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 Mar 23 16:48:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 16:48:07 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Log names of de/encoded rlcmac packet types 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/+/17575 to look at the new patch set (#2). Change subject: rlcmac: Log names of de/encoded rlcmac packet types ...................................................................... rlcmac: Log names of de/encoded rlcmac packet types Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.err 2 files changed, 120 insertions(+), 157 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/75/17575/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 Gerrit-Change-Number: 17575 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 Mar 23 16:49:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 16:49:07 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ggsn/+/17576/1/doc/examples/osmo-ggsn.cfg File doc/examples/osmo-ggsn.cfg: https://gerrit.osmocom.org/c/osmo-ggsn/+/17576/1/doc/examples/osmo-ggsn.cfg at 47 PS1, Line 47: ip dns 1 8.8.8.8 hThen better set tis to 8.8.8.4 (was it the secondary google dns?) https://gerrit.osmocom.org/c/osmo-ggsn/+/17576/1/doc/examples/osmo-ggsn.cfg at 65 PS1, Line 65: ip dns 1 8.8.8.8 Same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 16:49: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 Mon Mar 23 16:56:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 16:56:27 +0000 Subject: Change in osmo-pcu[master]: csn1: Validate recursive array max size during decoding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17572 ) Change subject: csn1: Validate recursive array max size during decoding ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e Gerrit-Change-Number: 17572 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 23 Mar 2020 16:56: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 Mar 23 16:59:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 16:59:29 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Fix bug receiving RA cap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17548 ) Change subject: rlcmac: Fix bug receiving RA cap ...................................................................... Patch Set 7: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17548/7/tests/rlcmac/RLCMACTest.cpp File tests/rlcmac/RLCMACTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17548/7/tests/rlcmac/RLCMACTest.cpp at 461 PS7, Line 461: Make sure there's 1 value (currently fails due to failed decoding) please update this comment too https://gerrit.osmocom.org/c/osmo-pcu/+/17548/7/tests/rlcmac/RLCMACTest.ok File tests/rlcmac/RLCMACTest.ok: https://gerrit.osmocom.org/c/osmo-pcu/+/17548/7/tests/rlcmac/RLCMACTest.ok at 146 PS7, Line 146: decode_gsm_ra_cap() returns 0 to be consistent, I would also print this line from the new test -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 16:59:29 +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 Mar 23 17:01:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 17:01:50 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Log names of de/encoded rlcmac packet types In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17575 ) Change subject: rlcmac: Log names of de/encoded rlcmac packet types ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 Gerrit-Change-Number: 17575 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 23 Mar 2020 17:01:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 17:04:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 17:04:08 +0000 Subject: Change in osmo-bts[master]: osmo-trx: do not set rx-gain to 1 by default In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17570 ) Change subject: osmo-trx: do not set rx-gain to 1 by default ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17570/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/17570/1//COMMIT_MSG at 7 PS1, Line 7: osmo-trx osmo-bts-trx -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Gerrit-Change-Number: 17570 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 17: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 Mon Mar 23 17:07:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 17:07:27 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17576/1/doc/examples/osmo-ggsn.cfg File doc/examples/osmo-ggsn.cfg: https://gerrit.osmocom.org/c/osmo-ggsn/+/17576/1/doc/examples/osmo-ggsn.cfg at 47 PS1, Line 47: ip dns 1 8.8.8.8 > hThen better set tis to 8.8.8. [?] ACK. Or 1.1.1.1 as an alternative. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 17:07:27 +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 Mar 23 17:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 17:15:15 +0000 Subject: Change in osmo-bts[master]: VTY: add "test-failure-event-report" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "test-failure-event-report" ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17573/3/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17573/3/src/common/vty.c at 931 PS3, Line 931: test I would prefer to see 'test' as an individual node, so if someone would need more special commands in the future they all will be grouped properly. That's at least how it's done in OsmocomBB. So 'test send-failure-event-report <0-255>' would be nice to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 17:15:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 17:18:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:18:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: do not set rx-gain to 1 by default In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bts/+/17570 ) Change subject: osmo-bts-trx: do not set rx-gain to 1 by default ...................................................................... osmo-bts-trx: do not set rx-gain to 1 by default The sample configs supplied within the doc/trx directory set the rx-gain parameter to 1. A low value like this may cause a noticeable degration of rx performance (For an USRP B200 an rx-gain of 38dbm is recommended). Lets remove this seting from the sample configuration to allow the default settings in osmo-trx to be applied. Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Related: OS#4467 --- M doc/examples/trx/osmo-bts-trx-calypso.cfg M doc/examples/trx/osmo-bts-trx.cfg 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/17570/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Gerrit-Change-Number: 17570 Gerrit-PatchSet: 2 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 Mon Mar 23 17:18:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:18:57 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: do not set rx-gain to 1 by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17570 ) Change subject: osmo-bts-trx: do not set rx-gain to 1 by default ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Gerrit-Change-Number: 17570 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 17:18:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 17:19:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:19:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: do not set rx-gain to 1 by default In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17570 ) Change subject: osmo-bts-trx: do not set rx-gain to 1 by default ...................................................................... osmo-bts-trx: do not set rx-gain to 1 by default The sample configs supplied within the doc/trx directory set the rx-gain parameter to 1. A low value like this may cause a noticeable degration of rx performance (For an USRP B200 an rx-gain of 38dbm is recommended). Lets remove this seting from the sample configuration to allow the default settings in osmo-trx to be applied. Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Related: OS#4467 --- M doc/examples/trx/osmo-bts-trx-calypso.cfg M doc/examples/trx/osmo-bts-trx.cfg 2 files changed, 0 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/trx/osmo-bts-trx-calypso.cfg b/doc/examples/trx/osmo-bts-trx-calypso.cfg index 6b52fd2..3f2e778 100644 --- a/doc/examples/trx/osmo-bts-trx-calypso.cfg +++ b/doc/examples/trx/osmo-bts-trx-calypso.cfg @@ -22,7 +22,6 @@ ! phy 0 instance 0 - osmotrx rx-gain 1 osmotrx ip local 127.0.0.1 osmotrx ip remote 127.0.0.1 osmotrx timing-advance-loop diff --git a/doc/examples/trx/osmo-bts-trx.cfg b/doc/examples/trx/osmo-bts-trx.cfg index 8342697..81313e5 100644 --- a/doc/examples/trx/osmo-bts-trx.cfg +++ b/doc/examples/trx/osmo-bts-trx.cfg @@ -21,7 +21,6 @@ ! phy 0 instance 0 - osmotrx rx-gain 1 osmotrx ip local 127.0.0.1 osmotrx ip remote 127.0.0.1 bts 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I76be1739b638b3c1b0de5ac667eed53397631caa Gerrit-Change-Number: 17570 Gerrit-PatchSet: 2 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 Mon Mar 23 17:20:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:20:20 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: Several fixes and improvements to RAcap tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17549 ) Change subject: tests/RLCMACTest: Several fixes and improvements to RAcap tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 Gerrit-Change-Number: 17549 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 23 Mar 2020 17:20:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 17:20:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:20:44 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Don't pass array element to CSN1 descriptors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17574 ) Change subject: rlcmac: Don't pass array element to CSN1 descriptors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6f10350d4734360c7a15a702c72b59efd84987ee Gerrit-Change-Number: 17574 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 23 Mar 2020 17:20: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 Mar 23 17:21:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:21:25 +0000 Subject: Change in osmo-pcu[master]: csn1: Validate recursive array max size during decoding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17572 ) Change subject: csn1: Validate recursive array max size during decoding ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e Gerrit-Change-Number: 17572 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 23 Mar 2020 17:21: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 Mar 23 17:23:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 17:23:42 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 23 Mar 2020 17:23: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 Mar 23 17:28:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:28:13 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 2: (1 comment) I find the implementation a bit "inteeresting" in that it neither a) uses the raw input data and stores that, only generating strings during "show" time, nor b) reuses the existing libosmocore/strrb.c code for ring-buffers of strings. I would say that either we store the raw/binary report data in some custom structure, but if we convert everything into strings at the time the alarm happens, then I would expect strrb.c to be usable? https://gerrit.osmocom.org/c/osmo-bsc/+/17571/2/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/2/src/osmo-bsc/osmo_bsc_main.c at 220 PS2, Line 220: entry = talloc_zero(fail_rep->bts, struct bts_oml_fail_rep); please either return NULL if talloc fails, or OSMO_ASSERT() on the result. The further talloc_strdup below result doesn't need to be checked, but if the first allocation fails, we are getting null pointer deref right below. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 23 Mar 2020 17:28:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 17:32:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Mar 2020 17:32:28 +0000 Subject: Change in osmo-bsc[master]: abis_nm.c: rx_fail_evt_rep: fix sd.bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17569 ) Change subject: abis_nm.c: rx_fail_evt_rep: fix sd.bts ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17569/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17569/1/src/osmo-bsc/abis_nm.c at 402 PS1, Line 402: sd.bts = bts; > rx_fail_evt_rep(mb, bts) is called by abis_nm_rcvmsg_report(mb, bts), which is called by abis_nm_rcv [?] msgb->trx is not used in osmo-bsc. Rather, it uses msg->dst, which points to an e1inp_sign_link, and not to a TRX. So any code dereferncing msgb->trx inside osmo-bsc must be wrong. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 Gerrit-Change-Number: 17569 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 17:32:28 +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 Mon Mar 23 17:54:20 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 17:54:20 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin 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/+/17560 to look at the new patch set (#4). Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... process: add stdin_write method to communicate with child on stdin Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 --- M src/osmo_gsm_tester/process.py 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/17560/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 4 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 17:54:21 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 17:54:21 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add scenario for airplane mode simulation in srsUE References: Message-ID: Andre Puschmann has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 ) Change subject: srs_ue: add scenario for airplane mode simulation in srsUE ...................................................................... srs_ue: add scenario for airplane mode simulation in srsUE Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb --- M example/defaults.conf A example/scenarios/mod-srsue-airplane_mode_sim at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 5 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/77/17577/1 diff --git a/example/defaults.conf b/example/defaults.conf index 60539c8..dcb84db 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -108,3 +108,5 @@ srsue: enable_pcap: false + airplane_t_on_ms: -1 + airplane_t_off_ms: -1 diff --git a/example/scenarios/mod-srsue-airplane_mode_sim at .conf b/example/scenarios/mod-srsue-airplane_mode_sim at .conf new file mode 100644 index 0000000..c05fba1 --- /dev/null +++ b/example/scenarios/mod-srsue-airplane_mode_sim at .conf @@ -0,0 +1,4 @@ +modifiers: + modem: + - airplane_t_on_ms: ${param1} + airplane_t_off_ms: ${param2} diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 8a93ea4..757a9c5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -106,6 +106,8 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, + 'modem[].airplane_t_on_ms': schema.INT, + 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, } diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index fdcd6dd..18545a2 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -223,6 +223,10 @@ config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + # Get airplane mode params + config.overlay(values, dict(ue=dict(airplane_t_on_ms = values['ue'].get('airplane_t_on_ms', '')))) + config.overlay(values, dict(ue=dict(airplane_t_off_ms = values['ue'].get('airplane_t_off_ms', '')))) + # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false')) config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 91f9277..d833493 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -336,6 +336,21 @@ #force_ul_amplitude = 0 ##################################################################### +# Simulation configuration options +# +# The UE simulation supports turning on and off airplane mode in the UE. +# The actions are carried periodically until the UE is stopped. +# +# airplane_t_on_ms: Time to leave airplane mode turned on (in ms) +# +# airplane_t_off_ms: Time to leave airplane mode turned off (in ms) +# +##################################################################### +[sim] +airplane_t_on_ms = ${ue.airplane_t_on_ms} +airplane_t_off_ms = ${ue.airplane_t_off_ms} + +##################################################################### # General configuration options # # metrics_csv_enable: Write UE metrics to CSV file. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb Gerrit-Change-Number: 17577 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 17:57:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 17:57:33 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17578 ) Change subject: rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits ...................................................................... rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits There's two variants for the Ms Radio Access Capabilities. * The usual encoding with spare bits (usually to fill up to octet boundary) as defined in TS 24.008 Table 10.5.146 And there's too: * MS Radio Access Capabilities 2 IE from TS44.060 section 12.30, which is the same but removing all spare bits, and which is used in messages like Packet Resource Request and Additional MS RAC messages. The later is used basically for messages having extra IEs after the MS Radio Access capabilities IE, since they are encoded immediatelly afterwards. So this patch does: * Adds the expected spare bits (M_PADDING) to MS_Radio_Access_capability_t * Creates a new MS_Radio_Access_capability2_t without padding * Updates code to use the new "2" version where needed. Note RLCMACTest long de/encoding line logs change only because the name of the struct changes (the "2" is added). Change-Id: Ibd756f80a03452a651e2771dbc628d701e55ac4b --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M src/pdch.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok M tests/tbf/TbfTest.cpp 6 files changed, 57 insertions(+), 58 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/78/17578/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 24b0235..c1dc80e 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -948,13 +948,16 @@ static const CSN_DESCR_BEGIN (MS_Radio_Access_capability_t) -/*Will be done in the main routines:*/ -/*M_UINT (MS_Radio_Access_capability_t, IEI, 8),*/ -/*M_UINT (MS_Radio_Access_capability_t, Length, 8),*/ - M_REC_TARRAY_1(MS_Radio_Access_capability_t, MS_RA_capability_value, MS_RA_capability_value_t, Count_MS_RA_capability_value), + M_PADDING_BITS(MS_Radio_Access_capability_t), CSN_DESCR_END (MS_Radio_Access_capability_t) +/* TS44.060 section 12.30 "MS Radio Access Capability 2". Same as above but without spare bits */ +static const +CSN_DESCR_BEGIN (MS_Radio_Access_capability2_t) + M_REC_TARRAY_1(MS_Radio_Access_capability_t, MS_RA_capability_value, MS_RA_capability_value_t, Count_MS_RA_capability_value), +CSN_DESCR_END (MS_Radio_Access_capability2_t) + /*< MS Classmark 3 IE >*/ static const CSN_DESCR_BEGIN(ARC_t) @@ -1319,8 +1322,8 @@ M_TYPE (Packet_Resource_Request_t, ID, PacketResourceRequestID_t), - M_NEXT_EXIST (Packet_Resource_Request_t, Exist_MS_Radio_Access_capability, 1), - M_TYPE (Packet_Resource_Request_t, MS_Radio_Access_capability, MS_Radio_Access_capability_t), + M_NEXT_EXIST (Packet_Resource_Request_t, Exist_MS_Radio_Access_capability2, 1), + M_TYPE (Packet_Resource_Request_t, MS_Radio_Access_capability2, MS_Radio_Access_capability2_t), M_TYPE (Packet_Resource_Request_t, Channel_Request_Description, Channel_Request_Description_t), @@ -4343,7 +4346,7 @@ /* Mac header */ M_TYPE (Additional_MS_Rad_Access_Cap_t, ID, AdditionalMsRadAccessCapID_t), - M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability, MS_Radio_Access_capability_t), + M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability, MS_Radio_Access_capability2_t), M_PADDING_BITS (Additional_MS_Rad_Access_Cap_t), CSN_DESCR_END (Additional_MS_Rad_Access_Cap_t) diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 9e38966..13afe59 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1619,8 +1619,8 @@ PacketResourceRequestID_t ID; - guint8 Exist_MS_Radio_Access_capability; - MS_Radio_Access_capability_t MS_Radio_Access_capability; + guint8 Exist_MS_Radio_Access_capability2; + MS_Radio_Access_capability_t MS_Radio_Access_capability2; Channel_Request_Description_t Channel_Request_Description; diff --git a/src/pdch.cpp b/src/pdch.cpp index 5b87d51..8560cb4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -596,12 +596,12 @@ ta = sba->ta; bts()->sba()->free_sba(sba); } - if (request->Exist_MS_Radio_Access_capability) { + if (request->Exist_MS_Radio_Access_capability2) { ms_class = Decoding::get_ms_class_by_capability( - &request->MS_Radio_Access_capability); + &request->MS_Radio_Access_capability2); egprs_ms_class = Decoding::get_egprs_ms_class_by_capability( - &request->MS_Radio_Access_capability); + &request->MS_Radio_Access_capability2); } if (!ms_class) LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n"); diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index b2ec25e..c271e5c 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -22,22 +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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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) +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 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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: 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 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 } | -DRLCMACDATA NOTICE RAcap: Got 145 remaining bits unhandled by decoder at the end of bitvec -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 } | -DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) +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 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 } | -DRLCMACDATA NOTICE RAcap: Got 143 remaining bits unhandled by decoder at the end of bitvec -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 } | -DRLCMACDATA NOTICE RAcap: Got 7 remaining bits unhandled by decoder at the end of bitvec +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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 088555e..c965ca1 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -136,9 +136,9 @@ GPRS multislot class = 3 EGPRS multislot class = 3 === Test encoding of MS RA Capability === -encode_gsm_ra_cap() returns -5 +encode_gsm_ra_cap() returns 0 vector1 (len_ind=27) = 13 65 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -vector2 (len_ind=65) = 18 25 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector2 (len_ind=65) = 18 25 14 62 30 00 00 00 00 03 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b === Test decoding of a malformed vector (short length indicator) === decode_gsm_ra_cap() returns -5 *** testMalformedRAcap *** diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5edb544..6420aca 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -678,23 +678,23 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.EGPRS_multislot_class = ms_class; } @@ -827,23 +827,23 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.EGPRS_multislot_class = ms_class; } @@ -1273,23 +1273,23 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.EGPRS_multislot_class = ms_class; } @@ -1590,22 +1590,22 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. EGPRS_multislot_class = ms_class; } @@ -2384,8 +2384,8 @@ presreq->PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; presreq->ID.UnionType = 1; /* != 0 */ presreq->ID.u.TLLI = tlli; - presreq->Exist_MS_Radio_Access_capability = 1; - pmsradiocap = &presreq->MS_Radio_Access_capability; + presreq->Exist_MS_Radio_Access_capability2 = 1; + pmsradiocap = &presreq->MS_Radio_Access_capability2; pmsradiocap->Count_MS_RA_capability_value = 1; pmsradiocap->MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; @@ -3210,8 +3210,8 @@ presreq->PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; presreq->ID.UnionType = 1; /* != 0 */ presreq->ID.u.TLLI = tlli; - presreq->Exist_MS_Radio_Access_capability = 1; - pmsradiocap = &presreq->MS_Radio_Access_capability; + presreq->Exist_MS_Radio_Access_capability2 = 1; + pmsradiocap = &presreq->MS_Radio_Access_capability2; pmsradiocap->Count_MS_RA_capability_value = 1; pmsradiocap->MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd756f80a03452a651e2771dbc628d701e55ac4b Gerrit-Change-Number: 17578 Gerrit-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 Mar 23 17:59:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 17:59:07 +0000 Subject: Change in osmo-pcu[master]: tests/RLCMACTest: Several fixes and improvements to RAcap tests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17549 ) Change subject: tests/RLCMACTest: Several fixes and improvements to RAcap tests ...................................................................... tests/RLCMACTest: Several fixes and improvements to RAcap tests It was recently discovered that the Racap value used for testRAcap was actually malformed (it was taken from a TTCN3 test). It had the presence bit for "EGPRS multislot class" set but no struct was put after it. So let's move that malformed value to a new test named testMalformedRAcap(). Since it doesn't make sense trying to re-encode or do similar things with an initially malformed value, let's drop all those parts in this new test. For the old testRAcap() test, use a new bitstream this time with the "EGPRS multoslot class" struct set inside (class 3). Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 --- M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 3 files changed, 91 insertions(+), 40 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index e62d6e4..6529d4d 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -219,12 +219,79 @@ void testRAcap(void *test_ctx) { + printf("*** %s ***\n", __func__); + MS_Radio_Access_capability_t data; + memset(&data, 0, sizeof(data)); + bitvec *bv_dec = bitvec_alloc(23, test_ctx); + bitvec *bv_enc = bitvec_alloc(23, test_ctx); + unsigned int len_dec, len_enc; + int rc; +/* +MS RA capability 1 + 0001 .... = Access Technology Type: GSM E --note that GSM E covers GSM P (1) + .... 0011 011. .... = Length in bits: 0x1b (27) + ...0 01.. RF Power Capability, GMSK Power Class: Not specified (1) + A5 Bits: Same values apply for parameters as in the immediately preceding Access capabilities field within this IE (0) + .... ...1 = Controlled early Classmark Sending: Implemented + 0... .... = Pseudo Synchronisation: Not Present + .0.. .... = Voice Group Call Service: no VGCS capability or no notifications wanted + ..0. .... = Voice Broadcast Service: no VBS capability or no notifications wanted + ...1 .... = Multislot capability struct: Present + HSCSD multislot class: Bits are not available (0) + SMS_VALUE (Switch-Measure-Switch): Bits are not available (0) + ECSD multislot class: Bits are not available (0) + DTM GPRS Multi Slot Class: Bits are not available (0) + .... ..00 011. .... = GPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) + ...0 .... = GPRS Extended Dynamic Allocation Capability: Not Implemented + .... ...0 0011 .... = EGPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) + .... 0... = EGPRS Extended Dynamic Allocation Capability: Not Implemented +*/ + bitvec_unhex(bv_dec, "1365146230"); + + printf("=== Test decoding of MS RA Capability ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); + OSMO_ASSERT(rc == 0); + + /* Make sure there's 1 value (currently fails due to failed decoding) */ + OSMO_ASSERT(data.Count_MS_RA_capability_value == 1); + + /* Make sure GPRS / EGPRS multislot class is parsed correctly */ + printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); + printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); + + /* Test encoding of decoded MS RA Capability */ + printf("=== Test encoding of MS RA Capability ===\n"); + rc = encode_gsm_ra_cap(bv_enc, &data); + printf("encode_gsm_ra_cap() returns %d\n", rc); + + bv_dec->cur_bit = 4; + len_dec = bitvec_get_uint(bv_dec, 7); + bv_enc->cur_bit = 4; + len_enc = bitvec_get_uint(bv_enc, 7); + + /* NOTE: vector2 is expected to be different because there is actually no + * way to distinguish between NULL and 0 in MS_Radio_Access_capability_t. + * The difference is in length indicator: 27 bits vs 65 bits. */ + printf("vector1 (len_ind=%u) = %s\n", len_dec, osmo_hexdump(bv_dec->data, bv_dec->data_len)); + printf("vector2 (len_ind=%u) = %s\n", len_enc, osmo_hexdump(bv_enc->data, bv_enc->data_len)); + + /* Mangle the length indicator (set it to 21) */ + unsigned int writeIndex = 4; + rc = bitvec_write_field(bv_dec, &writeIndex, 21, 7); + OSMO_ASSERT(rc == 0); + + /* Make sure decoding attempt fails */ + printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); + printf("decode_gsm_ra_cap() returns %d\n", rc); +} + +void testMalformedRAcap(void *test_ctx) +{ printf("*** %s ***\n", __func__); MS_Radio_Access_capability_t data; memset(&data, 0, sizeof(data)); bitvec *bv_dec = bitvec_alloc(23, test_ctx); - bitvec *bv_enc = bitvec_alloc(23, test_ctx); - unsigned int len_dec, len_enc; int rc; /* MS RA capability 1 @@ -239,48 +306,26 @@ ...1 .... = Multislot capability struct: Present .... ..00 011. .... = GPRS multislot class: Max Rx-Slot/TDMA:2 Max Tx-Slot/TDMA:2 Max-Sum-Slot/TDMA:3 Tta:3 Ttb:2 Tra:3 Trb:1 Type:1 (3) ...0 .... = GPRS Extended Dynamic Allocation Capability: Not Implemented + + It doesn't show up in wireshark's tree above because specific parser is + used, but this RA Cap bitstream has Exist_EGPRS_multislot_class = 1 but + it provides no struct with the expected data (malformed, generated + erroneusly through TTCN3). The CSN.1 dceoder should ideally return an + error here, but it doesn't (it returns a >0 value which we convert to 0 + in decode_gsm_ra_cap()). */ bitvec_unhex(bv_dec, "13a5146200"); printf("=== Test decoding of MS RA Capability ===\n"); rc = decode_gsm_ra_cap(bv_dec, &data); + printf("decode_gsm_ra_cap() returns %d\n", rc); OSMO_ASSERT(rc == 0); - /* Make sure there's 1 value (currently fails due to failed decoding) */ + /* For sake of completeness, check if the decoder could find 1 value + before failing to decode it */ OSMO_ASSERT(data.Count_MS_RA_capability_value == 1); - /* Make sure GPRS / EGPRS multislot class is parsed correctly */ - printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); - printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); - - /* Test encoding of decoded MS RA Capability */ - printf("=== Test encoding of MS RA Capability ===\n"); - rc = encode_gsm_ra_cap(bv_enc, &data); - printf("encode_gsm_ra_cap() returns %d\n", rc); - - bv_dec->cur_bit = 4; - len_dec = bitvec_get_uint(bv_dec, 7); - bv_enc->cur_bit = 4; - len_enc = bitvec_get_uint(bv_enc, 7); - - /* NOTE: vector2 is expected to be different because there is actually no - * way to distinguish between NULL and 0 in MS_Radio_Access_capability_t. - * The difference is in length indicator: 29 bits vs 65 bits. */ - printf("vector1 (len_ind=%u) = %s\n", len_dec, osmo_hexdump(bv_dec->data, bv_dec->data_len)); - printf("vector2 (len_ind=%u) = %s\n", len_enc, osmo_hexdump(bv_enc->data, bv_enc->data_len)); - - /* Mangle the length indicator (set it to 21) */ - unsigned int writeIndex = 4; - rc = bitvec_write_field(bv_dec, &writeIndex, 21, 7); - OSMO_ASSERT(rc == 0); - - /* Make sure decoding attempt fails */ - printf("=== Test decoding of a malformed vector (short length indicator) ===\n"); - rc = decode_gsm_ra_cap(bv_dec, &data); - printf("decode_gsm_ra_cap() returns %d\n", rc); - bitvec_free(bv_dec); - bitvec_free(bv_enc); } int main(int argc, char *argv[]) @@ -300,5 +345,6 @@ testRlcMacUplink(ctx); testCsnLeftAlignedVarBmpBounds(ctx); testRAcap(ctx); + testMalformedRAcap(ctx); talloc_free(ctx); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 13418ee..4434d9b 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -32,8 +32,10 @@ DCSN1 INFO csnStreamDecoder (type=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=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=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 = 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 } | -DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec -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 = 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 = 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 } | +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 } | +DRLCMACDATA NOTICE Got 145 remaining bits unhandled by decoder at the end of bitvec +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 } | DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) 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 } | +DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 89e07ec..ffcaeb3 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -134,10 +134,13 @@ *** testRAcap *** === Test decoding of MS RA Capability === GPRS multislot class = 3 -EGPRS multislot class = 0 +EGPRS multislot class = 3 === Test encoding of MS RA Capability === encode_gsm_ra_cap() returns -5 -vector1 (len_ind=29) = 13 a5 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -vector2 (len_ind=65) = 18 25 14 62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector1 (len_ind=27) = 13 65 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector2 (len_ind=65) = 18 25 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 === Test decoding of a malformed vector (short length indicator) === decode_gsm_ra_cap() returns -5 +*** testMalformedRAcap *** +=== Test decoding of MS RA Capability === +decode_gsm_ra_cap() returns 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1e7f8d8866695732ee24a79d8b54d660fd4f22d5 Gerrit-Change-Number: 17549 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 Mon Mar 23 17:59:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 17:59:07 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Don't pass array element to CSN1 descriptors In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17574 ) Change subject: rlcmac: Don't pass array element to CSN1 descriptors ...................................................................... rlcmac: Don't pass array element to CSN1 descriptors This way the macros can be used to access the arrays themselves and calculate its static size to enable validation later. In the case of Packet_Access_Reject_t, modify the description to use a M_REC_TARRAY_1 object to get rid of access to 2nd element. The new description is the correct one, since the first element is mandatory according to TS 44.060 Table 11.2.1. Change-Id: I6f10350d4734360c7a15a702c72b59efd84987ee --- M src/gsm_rlcmac.cpp 1 file changed, 11 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 40b75ed..db0e54a 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -902,7 +902,7 @@ static const CSN_DESCR_BEGIN (Additional_access_technologies_t) - M_REC_TARRAY (Additional_access_technologies_t, Additional_access_technologies[0], Additional_access_technologies_struct_t, Count_additional_access_technologies), + M_REC_TARRAY (Additional_access_technologies_t, Additional_access_technologies, Additional_access_technologies_struct_t, Count_additional_access_technologies), CSN_DESCR_END (Additional_access_technologies_t) gint16 Additional_access_technologies_Dissector(csnStream_t* ar, bitvec* vector, unsigned *readIndex, void* data) @@ -1365,7 +1365,7 @@ static const CSN_DESCR_BEGIN(PSI_Message_List_t) - M_REC_TARRAY (PSI_Message_List_t, PSI_Message[0], PSI_Message_t, Count_PSI_Message), + M_REC_TARRAY (PSI_Message_List_t, PSI_Message, PSI_Message_t, Count_PSI_Message), M_FIXED (PSI_Message_List_t, 1, 0x00), M_UINT (PSI_Message_List_t, ADDITIONAL_MSG_TYPE, 1), CSN_DESCR_END (PSI_Message_List_t) @@ -1402,7 +1402,7 @@ static const CSN_DESCR_BEGIN(SI_Message_List_t) - M_REC_TARRAY (SI_Message_List_t, SI_Message[0], SI_Message_t, Count_SI_Message), + M_REC_TARRAY (SI_Message_List_t, SI_Message, SI_Message_t, Count_SI_Message), M_FIXED (SI_Message_List_t, 1, 0x00), M_UINT (SI_Message_List_t, ADDITIONAL_MSG_TYPE, 1), CSN_DESCR_END (SI_Message_List_t) @@ -2602,8 +2602,7 @@ M_UINT (Packet_Access_Reject_t, MESSAGE_TYPE, 6), M_UINT (Packet_Access_Reject_t, PAGE_MODE, 2), - M_TYPE (Packet_Access_Reject_t, Reject, Reject_t), - M_REC_TARRAY (Packet_Access_Reject_t, Reject[1], Reject_t, Count_Reject), + M_REC_TARRAY_1(Packet_Access_Reject_t, Reject, Reject_t, Count_Reject), M_PADDING_BITS(Packet_Access_Reject_t), CSN_DESCR_END (Packet_Access_Reject_t) @@ -3572,7 +3571,7 @@ M_UINT (ENH_NC_Measurement_Report_t, SCALE, 1), M_NEXT_EXIST (ENH_NC_Measurement_Report_t, Exist_Serving_Cell_Data, 1), M_TYPE (ENH_NC_Measurement_Report_t, Serving_Cell_Data, Serving_Cell_Data_t), - M_REC_TARRAY (ENH_NC_Measurement_Report_t, RepeatedInvalid_BSIC_Info[0], RepeatedInvalid_BSIC_Info_t, Count_RepeatedInvalid_BSIC_Info), + M_REC_TARRAY (ENH_NC_Measurement_Report_t, RepeatedInvalid_BSIC_Info, RepeatedInvalid_BSIC_Info_t, Count_RepeatedInvalid_BSIC_Info), M_NEXT_EXIST (ENH_NC_Measurement_Report_t, Exist_ReportBitmap, 1), M_VAR_TARRAY (ENH_NC_Measurement_Report_t, REPORTING_QUANTITY_Instances, REPORTING_QUANTITY_Instance_t, Count_REPORTING_QUANTITY_Instances), CSN_DESCR_END (ENH_NC_Measurement_Report_t) @@ -3713,7 +3712,7 @@ M_UINT (EnhancedMeasurementReport_t, SCALE, 1), M_NEXT_EXIST (EnhancedMeasurementReport_t, Exist_ServingCellData, 1), M_TYPE (EnhancedMeasurementReport_t, ServingCellData, EMR_ServingCell_t), - M_REC_TARRAY (EnhancedMeasurementReport_t, RepeatedInvalid_BSIC_Info[0], RepeatedInvalid_BSIC_Info_t, + M_REC_TARRAY (EnhancedMeasurementReport_t, RepeatedInvalid_BSIC_Info, RepeatedInvalid_BSIC_Info_t, Count_RepeatedInvalid_BSIC_Info), M_NEXT_EXIST (EnhancedMeasurementReport_t, Exist_ReportBitmap, 1), M_VAR_TARRAY (EnhancedMeasurementReport_t, REPORTING_QUANTITY_Instances, REPORTING_QUANTITY_Instance_t, Count_REPORTING_QUANTITY_Instances), @@ -4472,7 +4471,7 @@ static const CSN_DESCR_BEGIN(NonHoppingPCCCH_t) - M_REC_TARRAY (NonHoppingPCCCH_t, Carriers[0], Non_Hopping_PCCCH_Carriers_t, Count_Carriers), + M_REC_TARRAY (NonHoppingPCCCH_t, Carriers, Non_Hopping_PCCCH_Carriers_t, Count_Carriers), CSN_DESCR_END (NonHoppingPCCCH_t) static const @@ -4484,7 +4483,7 @@ static const CSN_DESCR_BEGIN(HoppingPCCCH_t) M_UINT(HoppingPCCCH_t, MA_NUMBER, 4), - M_REC_TARRAY (HoppingPCCCH_t, Carriers[0], Hopping_PCCCH_Carriers_t, Count_Carriers), + M_REC_TARRAY (HoppingPCCCH_t, Carriers, Hopping_PCCCH_Carriers_t, Count_Carriers), CSN_DESCR_END (HoppingPCCCH_t) static const @@ -4510,10 +4509,10 @@ M_NEXT_EXIST (PSI2_t, Exist_Non_GPRS_Cell_Options, 1), M_TYPE (PSI2_t, Non_GPRS_Cell_Options, Non_GPRS_Cell_Options_t), - M_REC_TARRAY (PSI2_t, Reference_Frequency[0], Reference_Frequency_t, Count_Reference_Frequency), + M_REC_TARRAY (PSI2_t, Reference_Frequency, Reference_Frequency_t, Count_Reference_Frequency), M_TYPE (PSI2_t, Cell_Allocation, Cell_Allocation_t), - M_REC_TARRAY (PSI2_t, GPRS_MA[0], PSI2_MA_t, Count_GPRS_MA), - M_REC_TARRAY (PSI2_t, PCCCH_Description[0], PCCCH_Description_t, Count_PCCCH_Description), + M_REC_TARRAY (PSI2_t, GPRS_MA, PSI2_MA_t, Count_GPRS_MA), + M_REC_TARRAY (PSI2_t, PCCCH_Description, PCCCH_Description_t, Count_PCCCH_Description), M_PADDING_BITS(PSI2_t), CSN_DESCR_END (PSI2_t) /*< End Packet System Information Type 2 message content >*/ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6f10350d4734360c7a15a702c72b59efd84987ee Gerrit-Change-Number: 17574 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 Mon Mar 23 17:59:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 17:59:08 +0000 Subject: Change in osmo-pcu[master]: csn1: Validate recursive array max size during decoding In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17572 ) Change subject: csn1: Validate recursive array max size during decoding ...................................................................... csn1: Validate recursive array max size during decoding This way if CSN1 encoded bitstream contains more elements than what the defintion expects it will fail instead of overflowing the decoded buffer. RA cap struct placed in unit test is taken from a real android phone sending the value when attaching to the network. Then SGSN sends it back and osmo-pcu would crash similar to unit test: *** stack smashing detected ***: terminated Process terminating with default action of signal 6 (SIGABRT): dumping core at 0x4C62CE5: raise (in /usr/lib/libc-2.31.so) by 0x4C4C856: abort (in /usr/lib/libc-2.31.so) by 0x4CA62AF: __libc_message (in /usr/lib/libc-2.31.so) by 0x4D36069: __fortify_fail (in /usr/lib/libc-2.31.so) by 0x4D36033: __stack_chk_fail (in /usr/lib/libc-2.31.so) by 0x124706: testRAcap2(void*) (RLCMACTest.cpp:468) Related: OS#4463 Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e --- M src/csn1.c M src/csn1.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 163 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/csn1.c b/src/csn1.c index 296bf6c..7172847 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1278,9 +1278,10 @@ case CSN_RECURSIVE_TARRAY: { /* Recursive way to specify an array of type: ::= { 1 } ** 0 ; * M_REC_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField) - * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)} + * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} */ gint16 nSizeElement = (gint16)(gint32)pDescr->value; + guint32 nSizeArray = (guint32)((uintptr_t)pDescr->aux_fn); guint8 ElementCount = 0; pui8 = pui8DATA(data, pDescr->offset); @@ -1292,6 +1293,12 @@ remaining_bits_len--; ElementCount++; + if (ElementCount > nSizeArray) + { + LOGPC(DCSN1, LOGL_ERROR, "error: %s: too many elements (>%u) in recursive array. Increase its size! } |", pDescr->sz, nSizeArray); + return ProcessError(readIndex,"csnStreamDecoder", CSN_ERROR_STREAM_NOT_SUPPORTED, pDescr); + } + { /* unpack the following data structure */ csnStream_t arT = *ar; gint16 Status; @@ -1342,9 +1349,10 @@ case CSN_RECURSIVE_TARRAY_1: { /* Recursive way to specify an array of type: ::= { 1 } ** 0 ; * M_REC_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField) - * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)} + * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} */ gint16 nSizeElement = (gint16)(gint32)pDescr->value; + guint32 nSizeArray = (guint32)((uintptr_t)pDescr->aux_fn); guint8 ElementCount = 0; csnStream_t arT = *ar; gboolean EndOfList = FALSE; @@ -1355,6 +1363,12 @@ { /* get data element */ ElementCount++; + if (ElementCount > nSizeArray) + { + LOGPC(DCSN1, LOGL_ERROR, "error: %s: too many elements (>%u) in recursive array. Increase its size! } |", pDescr->sz, nSizeArray); + return ProcessError(readIndex,"csnStreamDecoder", CSN_ERROR_STREAM_NOT_SUPPORTED, pDescr); + } + LOGPC(DCSN1, LOGL_DEBUG, "%s { | ", pDescr->sz); csnStreamInit(&arT, bit_offset, remaining_bits_len); diff --git a/src/csn1.h b/src/csn1.h index b3fdc0a..0421b39 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -443,7 +443,7 @@ * Par4: will hold the number of element in the array after unpacking *****************************************************************************/ #define M_REC_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), NULL} + {CSN_RECURSIVE_TARRAY, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} /****************************************************************************** * M_REC_TARRAY1(Par1, Par2, Par3, Par4) @@ -451,7 +451,7 @@ * ::= {1 } ** 0 ; *****************************************************************************/ #define M_REC_TARRAY_1(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY_1, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), NULL} + {CSN_RECURSIVE_TARRAY_1, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} /****************************************************************************** * M_REC_TARRAY2(Par1, Par2, Par3, Par4) @@ -459,7 +459,7 @@ * ::= { 0 } ** 1 ; *****************************************************************************/ #define M_REC_TARRAY_2(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY_2, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), NULL} + {CSN_RECURSIVE_TARRAY_2, offsetof(_STRUCT, _ElementCountField), {(const void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, sizeof(_MEMBER_TYPE), (void_fn_t)ElementsOf(((_STRUCT*)0)->_MEMBER)} /****************************************************************************** * M_TYPE(Par1, Par2, Par3) diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 6529d4d..058d57e 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -328,6 +328,146 @@ bitvec_free(bv_dec); } +/* Reproduce crash from ticket OS#4463 */ +void testRAcap2(void *test_ctx) +{ + printf("*** %s ***\n", __func__); + MS_Radio_Access_capability_t data; + memset(&data, 0, sizeof(data)); + bitvec *bv_dec = bitvec_alloc(23, test_ctx); + int rc; +/* +MS Radio Access Capability + Element ID: 0x13 + 1... .... = ext: 1 + Length: 23 + ------------------------------------------- Hex bitstream starts here: + MS RA capability 1 + 0001 .... = Access Technology Type: GSM E --note that GSM E covers GSM P (1) + .... 1001 001. .... = Length in bits: 0x49 (73) + ...1 00.. RF Power Capability, GMSK Power Class: 2 W (33 dBm) (4) + A5 Bits: A5 bits follow (1) + A5/1: encryption algorithm available (1) + A5/2: encryption algorithm not available (0) + A5/3: encryption algorithm available (1) + A5/4: encryption algorithm not available (0) + A5/5: encryption algorithm not available (0) + A5/6: encryption algorithm not available (0) + A5/7: encryption algorithm not available (0) + .... ..1. = Controlled early Classmark Sending: Implemented + .... ...1 = Pseudo Synchronisation: Present + 0... .... = Voice Group Call Service: no VGCS capability or no notifications wanted + .0.. .... = Voice Broadcast Service: no VBS capability or no notifications wanted + ..1. .... = Multislot capability struct: Present + HSCSD multislot class: Bits are not available (0) + .... 0111 = SMS_VALUE (Switch-Measure-Switch): 8/4 timeslot (~1154 microseconds) (7) + 0001 .... = (SM_VALUE) Switch-Measure: 2/4 timeslot (~288 microseconds) (1) + ECSD multislot class: Bits are not available (0) + .... ...0 = Single Slot DTM: Not supported + 1... .... = DTM EGPRS Multi Slot Class: Present + .... .011 00.. .... = GPRS multislot class: Max Rx-Slot/TDMA:4 Max Tx-Slot/TDMA:4 Max-Sum-Slot/TDMA:5 Tta:2 Ttb:1 Tra:2 Trb:1 Type:1 (12) + ..1. .... = GPRS Extended Dynamic Allocation Capability: Implemented + .... ..01 100. .... = EGPRS multislot class: Max Rx-Slot/TDMA:4 Max Tx-Slot/TDMA:4 Max-Sum-Slot/TDMA:5 Tta:2 Ttb:1 Tra:2 Trb:1 Type:1 (12) + ...1 .... = EGPRS Extended Dynamic Allocation Capability: Implemented + .... .11. = DTM GPRS Multi Slot Class: Multislot class 11 supported (3) + .11. .... = DTM EGPRS Multi Slot Class: Multislot class 11 supported (3) + ...1 .... = 8PSK Power Capability Bits: Present + 8PSK Power Capability: Power class E2 (2) + .... ..0. = COMPACT Interference Measurement Capability: Not Implemented + .... ...1 = Revision Level Indicator: The ME is Release '99 onwards + 0... .... = UMTS FDD Radio Access Technology Capability: Not supported + .0.. .... = UMTS 3.84 Mcps TDD Radio Access Technology Capability: Not supported + ..0. .... = CDMA 2000 Radio Access Technology Capability: Not supported + ...0 .... = UMTS 1.28 Mcps TDD Radio Access Technology Capability: Not supported + .... 1... = GERAN Feature Package 1: Supported + Extended DTM EGPRS Multi Slot Class: Bits are not available (0) + .... ..0. = Modulation based multislot class support: Not supported + High Multislot Capability: Bits are not available (0) + 0... .... = GERAN Iu mode: Not supported + GMSK Multislot Power Profile: GMSK_MULTISLOT_POWER_PROFILE 3 (3) + 8-PSK Multislot Power Profile: 8-PSK_MULTISLOT_POWER_PROFILE 3 (3) + .... .0.. = Multiple TBF Capability: Not supported + .... ..01 = Downlink Advanced Receiver Performance: Downlink Advanced Receiver Performance - phase I supported (1) + 1... .... = Extended RLC/MAC Control Message Segmentation Capability: Supported + .1.. .... = DTM Enhancements Capability: The mobile station supports enhanced DTM CS establishment and enhanced DTM CS release procedures + ...0 .... = PS Handover Capability: Not supported + MS RA capability 2 + .... .011 1... .... = Access Technology Type: GSM 850 (7) + .010 0010 = Length in bits: 0x22 (34) + 100. .... RF Power Capability, GMSK Power Class: 2 W (33 dBm) (4) + A5 Bits: Same values apply for parameters as in the immediately preceding Access capabilities field within this IE (0) + .... 1... = Controlled early Classmark Sending: Implemented + .... .1.. = Pseudo Synchronisation: Present + .... ..0. = Voice Group Call Service: no VGCS capability or no notifications wanted + .... ...0 = Voice Broadcast Service: no VBS capability or no notifications wanted + 0... .... = Multislot capability struct: Not Present + .1.. .... = 8PSK Power Capability Bits: Present + 8PSK Power Capability: Power class E2 (2) + .... 0... = COMPACT Interference Measurement Capability: Not Implemented + .... .1.. = Revision Level Indicator: The ME is Release '99 onwards + .... ..0. = UMTS FDD Radio Access Technology Capability: Not supported + .... ...0 = UMTS 3.84 Mcps TDD Radio Access Technology Capability: Not supported + 0... .... = CDMA 2000 Radio Access Technology Capability: Not supported + .0.. .... = UMTS 1.28 Mcps TDD Radio Access Technology Capability: Not supported + ..1. .... = GERAN Feature Package 1: Supported + Extended DTM EGPRS Multi Slot Class: Bits are not available (0) + .... 0... = Modulation based multislot class support: Not supported + High Multislot Capability: Bits are not available (0) + .... ..0. = GERAN Iu mode: Not supported + GMSK Multislot Power Profile: GMSK_MULTISLOT_POWER_PROFILE 3 (3) + 8-PSK Multislot Power Profile: 8-PSK_MULTISLOT_POWER_PROFILE 3 (3) + ...0 .... = Multiple TBF Capability: Not supported + .... 01.. = Downlink Advanced Receiver Performance: Downlink Advanced Receiver Performance - phase I supported (1) + .... ..1. = Extended RLC/MAC Control Message Segmentation Capability: Supported + .... ...1 = DTM Enhancements Capability: The mobile station supports enhanced DTM CS establishment and enhanced DTM CS release procedures + .0.. .... = PS Handover Capability: Not supported + MS RA capability 3 + ...0 011. = Access Technology Type: GSM 1800 (3) + .... ...0 1000 10.. = Length in bits: 0x22 (34) + .... ..00 1... .... RF Power Capability, GMSK Power Class: 1 W (30 dBm) (1) + A5 Bits: Same values apply for parameters as in the immediately preceding Access capabilities field within this IE (0) + ..1. .... = Controlled early Classmark Sending: Implemented + ...1 .... = Pseudo Synchronisation: Present + .... 0... = Voice Group Call Service: no VGCS capability or no notifications wanted + .... .0.. = Voice Broadcast Service: no VBS capability or no notifications wanted + .... ..0. = Multislot capability struct: Not Present + .... ...1 = 8PSK Power Capability Bits: Present + 8PSK Power Capability: Power class E2 (2) + ..0. .... = COMPACT Interference Measurement Capability: Not Implemented + ...1 .... = Revision Level Indicator: The ME is Release '99 onwards + .... 0... = UMTS FDD Radio Access Technology Capability: Not supported + .... .0.. = UMTS 3.84 Mcps TDD Radio Access Technology Capability: Not supported + .... ..0. = CDMA 2000 Radio Access Technology Capability: Not supported + .... ...0 = UMTS 1.28 Mcps TDD Radio Access Technology Capability: Not supported + 1... .... = GERAN Feature Package 1: Supported + Extended DTM EGPRS Multi Slot Class: Bits are not available (0) + ..0. .... = Modulation based multislot class support: Not supported + High Multislot Capability: Bits are not available (0) + .... 0... = GERAN Iu mode: Not supported + GMSK Multislot Power Profile: GMSK_MULTISLOT_POWER_PROFILE 3 (3) + 8-PSK Multislot Power Profile: 8-PSK_MULTISLOT_POWER_PROFILE 3 (3) + .0.. .... = Multiple TBF Capability: Not supported + ..01 .... = Downlink Advanced Receiver Performance: Downlink Advanced Receiver Performance - phase I supported (1) + .... 1... = Extended RLC/MAC Control Message Segmentation Capability: Supported + .... .1.. = DTM Enhancements Capability: The mobile station supports enhanced DTM CS establishment and enhanced DTM CS release procedures + .... ...0 = PS Handover Capability: Not supported +*/ + bitvec_unhex(bv_dec, "1933432b37159ef90879cba28c6421e72688b190879c00"); + + printf("=== Test decoding of multi-band MS RA Capability ===\n"); + rc = decode_gsm_ra_cap(bv_dec, &data); + OSMO_ASSERT(rc == CSN_ERROR_STREAM_NOT_SUPPORTED); +#if 0 + /* Make sure there's 1 value (currently fails due to failed decoding) */ + OSMO_ASSERT(data.Count_MS_RA_capability_value == 3); + + /* Make sure GPRS / EGPRS multislot class is parsed correctly */ + printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); + printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); +#endif + bitvec_free(bv_dec); +} + int main(int argc, char *argv[]) { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); @@ -346,5 +486,6 @@ testCsnLeftAlignedVarBmpBounds(ctx); testRAcap(ctx); testMalformedRAcap(ctx); + testRAcap2(ctx); talloc_free(ctx); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 4434d9b..b225bfd 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -39,3 +39,4 @@ 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 } | DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec +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 } | error: MS_RA_capability_value: too many elements (>2) in recursive array. Increase its size! } |DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at MS_RA_capability_value (idx 131) diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index ffcaeb3..313511f 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -144,3 +144,5 @@ *** testMalformedRAcap *** === Test decoding of MS RA Capability === decode_gsm_ra_cap() returns 0 +*** testRAcap2 *** +=== Test decoding of multi-band MS RA Capability === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9fe0e55e0a6a41ae2cc885fba490c1d4a186231e Gerrit-Change-Number: 17572 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 18:06:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 18:06:06 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Fix bug receiving RA cap 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/+/17548 to look at the new patch set (#8). Change subject: rlcmac: Fix bug receiving RA cap ...................................................................... rlcmac: Fix bug receiving RA cap It seems the assumptions regarding maximum number of RA capabilitites in one message were wrong. Doing some rough calculations, each RA capabilitiy value (without extensions) can take around 20ish bits, which means for a message containing up to 52 bytes that quite a lot of different values could be theoretically fed in. Let's be safe and increase the array size to be able to handle all different access technologies listed in See TS 24.008 table 10.5.146 following restrictions: * "The MS Radio Access capability is a type 4 information element, with a maximum length of 52 octets." * "Among the three Access Type Technologies GSM 900-P, GSM 900-E and GSM 900-R only one shall be present." * "the mobile station should provide the relevant radio access capability for either GSM 1800 band OR GSM 1900 band, not both". Wireshark requires similar fix (it's not important though because it currently uses another ad-hoc decoder for RAcap). Related: OS#4463 Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff --- M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 16 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/17548/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 8 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 Mon Mar 23 18:09:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 18:09:56 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Fix bug receiving RA cap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17548 ) Change subject: rlcmac: Fix bug receiving RA cap ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 18:09: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 Mar 23 18:10:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 18:10:07 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17578 ) Change subject: rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17578/1/tests/rlcmac/RLCMACTest.err File tests/rlcmac/RLCMACTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/17578/1/tests/rlcmac/RLCMACTest.err at a38 PS1, Line 38: DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) Huh, interesting side effect :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd756f80a03452a651e2771dbc628d701e55ac4b Gerrit-Change-Number: 17578 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 23 Mar 2020 18:10:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 18:22:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 18:22:55 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 4 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 18:22: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 Mar 23 18:32:34 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Mar 2020 18:32:34 +0000 Subject: Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17380 ) Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE ...................................................................... Abandoned merged as Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I25cb50fea3501f90c762f0cbeeeedc9835c5db87 Gerrit-Change-Number: 17380 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Mon Mar 23 18:52:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 18:52:50 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Fix bug receiving RA cap In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17548 ) Change subject: rlcmac: Fix bug receiving RA cap ...................................................................... rlcmac: Fix bug receiving RA cap It seems the assumptions regarding maximum number of RA capabilitites in one message were wrong. Doing some rough calculations, each RA capabilitiy value (without extensions) can take around 20ish bits, which means for a message containing up to 52 bytes that quite a lot of different values could be theoretically fed in. Let's be safe and increase the array size to be able to handle all different access technologies listed in See TS 24.008 table 10.5.146 following restrictions: * "The MS Radio Access capability is a type 4 information element, with a maximum length of 52 octets." * "Among the three Access Type Technologies GSM 900-P, GSM 900-E and GSM 900-R only one shall be present." * "the mobile station should provide the relevant radio access capability for either GSM 1800 band OR GSM 1900 band, not both". Wireshark requires similar fix (it's not important though because it currently uses another ad-hoc decoder for RAcap). Related: OS#4463 Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff --- M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 4 files changed, 16 insertions(+), 20 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 10bb6af..9e38966 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1224,10 +1224,6 @@ } Content_t; -#define ABSOLUTE_MAX_BANDS 2 /* New fields for R4 extend the length of the capabilities message so we can only send 2 */ - -#define MAX_ACCESS_TECHNOLOGIES_COUNT 16 /* No more than 16 instances */ - typedef enum {/* See TS 24.008 table 10.5.146 */ AccTech_GSMP = 0x0, @@ -1246,14 +1242,9 @@ AccTech_GSMT810 = 0xd, AccTech_GSMOther = 0xf } AccessTechnology_t; - -#if 0 -typedef struct -{ - guint8 CountAccessTechnologies; - AccessTechnology_t AccessTechnologies[MAX_ACCESS_TECHNOLOGIES_COUNT]; -} AccessTechnologiesRequest_t; -#endif +/* Maximum entries in one message, Enum above, appying restrictions from section + 12.30 "MS Radio Access Capability 2": */ +#define MAX_ACCESS_TECHNOLOGIES_COUNT 11 typedef struct { @@ -1266,8 +1257,8 @@ { guint8 Count_additional_access_technologies; /* The value 0xf cannot be set for the first ATT, therefore we can only have - ABSOLUTE_MAX_BANDS-1 additional access technologies. */ - Additional_access_technologies_struct_t Additional_access_technologies[ABSOLUTE_MAX_BANDS-1]; + MAX_ACCESS_TECHNOLOGIES_COUNT-1 additional access technologies. */ + Additional_access_technologies_struct_t Additional_access_technologies[MAX_ACCESS_TECHNOLOGIES_COUNT-1]; } Additional_access_technologies_t; typedef struct @@ -1285,7 +1276,7 @@ typedef struct { guint8 Count_MS_RA_capability_value; /* Recursive */ - MS_RA_capability_value_t MS_RA_capability_value[ABSOLUTE_MAX_BANDS]; + MS_RA_capability_value_t MS_RA_capability_value[MAX_ACCESS_TECHNOLOGIES_COUNT]; } MS_Radio_Access_capability_t; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 058d57e..200cac8 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -456,15 +456,16 @@ printf("=== Test decoding of multi-band MS RA Capability ===\n"); rc = decode_gsm_ra_cap(bv_dec, &data); - OSMO_ASSERT(rc == CSN_ERROR_STREAM_NOT_SUPPORTED); -#if 0 - /* Make sure there's 1 value (currently fails due to failed decoding) */ + printf("decode_gsm_ra_cap() returns %d\n", rc); + OSMO_ASSERT(rc == 0); + + /* Make sure there's 3 values */ OSMO_ASSERT(data.Count_MS_RA_capability_value == 3); /* Make sure GPRS / EGPRS multislot class is parsed correctly */ printf("GPRS multislot class = %u\n", Decoding::get_ms_class_by_capability(&data)); printf("EGPRS multislot class = %u\n", Decoding::get_egprs_ms_class_by_capability(&data)); -#endif + bitvec_free(bv_dec); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index b225bfd..497f4d8 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -39,4 +39,5 @@ 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 } | DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec -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 } | error: MS_RA_capability_value: too many elements (>2) in recursive array. Increase its size! } |DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at MS_RA_capability_value (idx 131) +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 } | +DRLCMACDATA NOTICE Got 7 remaining bits unhandled by decoder at the end of bitvec diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 313511f..3ef15d4 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -146,3 +146,6 @@ decode_gsm_ra_cap() returns 0 *** testRAcap2 *** === Test decoding of multi-band MS RA Capability === +decode_gsm_ra_cap() returns 0 +GPRS multislot class = 12 +EGPRS multislot class = 12 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5334eaacfbc238fae8bea50c9e9667c2117f81ff Gerrit-Change-Number: 17548 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 18:52:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 18:52:50 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Log names of de/encoded rlcmac packet types In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17575 ) Change subject: rlcmac: Log names of de/encoded rlcmac packet types ...................................................................... rlcmac: Log names of de/encoded rlcmac packet types Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.err 2 files changed, 120 insertions(+), 157 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index db0e54a..24b0235 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -29,6 +29,10 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +extern "C" { +#include +} + #include "gsm_rlcmac.h" /* Initialize the protocol and registered fields */ @@ -4798,120 +4802,6 @@ CSN_DESCR_END (PSI13_t) /*< End Packet System Information Type 13 message content >*/ - - -//typedef char* MT_Strings_t; - -static const char* szMT_Downlink[] = { - "Invalid Message Type", /* 0x00 */ - "PACKET_CELL_CHANGE_ORDER", /* 0x01 */ - "PACKET_DOWNLINK_ASSIGNMENT", /* 0x02 */ - "PACKET_MEASUREMENT_ORDER", /* 0x03 */ - "PACKET_POLLING_REQUEST", /* 0x04 */ - "PACKET_POWER_CONTROL_TIMING_ADVANCE", /* 0x05 */ - "PACKET_QUEUEING_NOTIFICATION", /* 0x06 */ - "PACKET_TIMESLOT_RECONFIGURE", /* 0x07 */ - "PACKET_TBF_RELEASE", /* 0x08 */ - "PACKET_UPLINK_ACK_NACK", /* 0x09 */ - "PACKET_UPLINK_ASSIGNMENT", /* 0x0A */ - "PACKET_CELL_CHANGE_CONTINUE", /* 0x0B */ - "PACKET_NEIGHBOUR_CELL_DATA", /* 0x0C */ - "PACKET_SERVING_CELL_DATA", /* 0x0D */ - "Invalid Message Type", /* 0x0E */ - "Invalid Message Type", /* 0x0F */ - "Invalid Message Type", /* 0x10 */ - "Invalid Message Type", /* 0x11 */ - "Invalid Message Type", /* 0x12 */ - "Invalid Message Type", /* 0x13 */ - "Invalid Message Type", /* 0x14 */ - "PACKET_HANDOVER_COMMAND", /* 0x15 */ - "PACKET_PHYSICAL_INFORMATION", /* 0x16 */ - "Invalid Message Type", /* 0x17 */ - "Invalid Message Type", /* 0x18 */ - "Invalid Message Type", /* 0x19 */ - "Invalid Message Type", /* 0x1A */ - "Invalid Message Type", /* 0x1B */ - "Invalid Message Type", /* 0x1C */ - "Invalid Message Type", /* 0x1D */ - "Invalid Message Type", /* 0x1E */ - "Invalid Message Type", /* 0x1F */ - "Invalid Message Type", /* 0x20 */ - "PACKET_ACCESS_REJECT", /* 0x21 */ - "PACKET_PAGING_REQUEST", /* 0x22 */ - "PACKET_PDCH_RELEASE", /* 0x23 */ - "PACKET_PRACH_PARAMETERS", /* 0x24 */ - "PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK", /* 0x25 */ - "Invalid Message Type", /* 0x26 */ - "Invalid Message Type", /* 0x27 */ - "Invalid Message Type", /* 0x28 */ - "Invalid Message Type", /* 0x29 */ - "Invalid Message Type", /* 0x2A */ - "Invalid Message Type", /* 0x2B */ - "Invalid Message Type", /* 0x2C */ - "Invalid Message Type", /* 0x2D */ - "Invalid Message Type", /* 0x2E */ - "Invalid Message Type", /* 0x2F */ - "PACKET_SYSTEM_INFO_6", /* 0x30 */ - "PACKET_SYSTEM_INFO_1", /* 0x31 */ - "PACKET_SYSTEM_INFO_2", /* 0x32 */ - "PACKET_SYSTEM_INFO_3", /* 0x33 */ - "PACKET_SYSTEM_INFO_3_BIS", /* 0x34 */ - "PACKET_SYSTEM_INFO_4", /* 0x35 */ - "PACKET_SYSTEM_INFO_5", /* 0x36 */ - "PACKET_SYSTEM_INFO_13", /* 0x37 */ - "PACKET_SYSTEM_INFO_7", /* 0x38 */ - "PACKET_SYSTEM_INFO_8", /* 0x39 */ - "PACKET_SYSTEM_INFO_14", /* 0x3A */ - "Invalid Message Type", /* 0x3B */ - "PACKET_SYSTEM_INFO_3_TER", /* 0x3C */ - "PACKET_SYSTEM_INFO_3_QUATER", /* 0x3D */ - "PACKET_SYSTEM_INFO_15" /* 0x3E */ -}; - -static const char* szMT_Uplink[] = { - "PACKET_CELL_CHANGE_FAILURE", /* 0x00 */ - "PACKET_CONTROL_ACKNOWLEDGEMENT", /* 0x01 */ - "PACKET_DOWNLINK_ACK_NACK", /* 0x02 */ - "PACKET_UPLINK_DUMMY_CONTROL_BLOCK", /* 0x03 */ - "PACKET_MEASUREMENT_REPORT", /* 0x04 */ - "PACKET_RESOURCE_REQUEST", /* 0x05 */ - "PACKET_MOBILE_TBF_STATUS", /* 0x06 */ - "PACKET_PSI_STATUS", /* 0x07 */ - "EGPRS_PACKET_DOWNLINK_ACK_NACK", /* 0x08 */ - "PACKET_PAUSE", /* 0x09 */ - "PACKET_ENHANCED_MEASUREMENT_REPORT", /* 0x0A */ - "ADDITIONAL_MS_RAC", /* 0x0B */ - "PACKET_CELL_CHANGE_NOTIFICATION", /* 0x0C */ - "PACKET_SI_STATUS", /* 0x0D */ -}; - -const char* -MT_DL_TextGet(guint8 mt) -{ - if (mt < ElementsOf(szMT_Downlink)) - { - return(szMT_Downlink[mt]); - } - else - { - return("Unknown message type"); - } -} - -const char* -MT_UL_TextGet(guint8 mt) -{ - if (mt < ElementsOf(szMT_Uplink)) - { - return(szMT_Uplink[mt]); - } - else - { - return("Unknown message type"); - } -} - - /* SI1_RestOctet_t */ static const @@ -4996,6 +4886,67 @@ M_UINT_LH (SI6_RestOctet_t, BandIndicator, 1), CSN_DESCR_END (SI6_RestOctet_t) + +// ---------------------------------------------------------------------------- +// osmo-pcu RLCMAC APIs +// ---------------------------------------------------------------------------- +static const struct value_string rlcmac_ul_msg_names[] = { + { MT_PACKET_CELL_CHANGE_FAILURE, "Pkt Cell Change Failure" }, + { MT_PACKET_CONTROL_ACK, "Pkt Control Ack" }, + { MT_PACKET_DOWNLINK_ACK_NACK , "Pkt DL ACK/NACK" }, + { MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK, "Pkt UL Dummy Ctrl Block" }, + { MT_PACKET_MEASUREMENT_REPORT, "Pkt Meas Report" }, + { MT_PACKET_RESOURCE_REQUEST, "Pkt Resource Req" }, + { MT_PACKET_MOBILE_TBF_STATUS, "Pkt Mobile TBF Status" }, + { MT_PACKET_PSI_STATUS, "Pkt PSI Status" }, + { MT_EGPRS_PACKET_DOWNLINK_ACK_NACK, "EGPRS Pkt DL ACK/NACK" }, + { MT_PACKET_PAUSE, "Pkt Pause" }, + { MT_PACKET_ENHANCED_MEASUREMENT_REPORT,"Pkt Enchanced Meas Report" }, + { MT_ADDITIONAL_MS_RAC, "Additional MS RAC" }, + { MT_PACKET_CELL_CHANGE_NOTIFICATION, "Pkt Cell Changte Notification" }, + { MT_PACKET_SI_STATUS, "Pkt SI Status" }, + { MT_ENHANCED_MEASUREMENT_REPORT, "Enchanced Meas Report" }, + { 0, NULL } +}; + +static const struct value_string rlcmac_dl_msg_names[] = { + { MT_PACKET_CELL_CHANGE_ORDER, "Pkt Cell Change Order" }, + { MT_PACKET_DOWNLINK_ASSIGNMENT, "Pkt DL ASS" }, + { MT_PACKET_MEASUREMENT_ORDER, "Pkt Meas Order" }, + { MT_PACKET_POLLING_REQ, "Pkt Polling Req" }, + { MT_PACKET_POWER_CONTROL_TIMING_ADVANCE, "Pkt PWR CTRL TA" }, + { MT_PACKET_QUEUEING_NOTIFICATION, "Pkt Queueing Notification" }, + { MT_PACKET_TIMESLOT_RECONFIGURE, "Pkt TS Reconf" }, + { MT_PACKET_TBF_RELEASE, "Pkt TBF Release" }, + { MT_PACKET_UPLINK_ACK_NACK, "Pkt UL ACK/NACK" }, + { MT_PACKET_UPLINK_ASSIGNMENT, "Pkt UL ASS" }, + { MT_PACKET_CELL_CHANGE_CONTINUE, "Pkt Cell Change Continue" }, + { MT_PACKET_NEIGHBOUR_CELL_DATA, "Pkt Neightbour Cell Data" }, + { MT_PACKET_SERVING_CELL_DATA, "Pkt Serving Cell Data" }, + { MT_PACKET_HANDOVER_COMMAND, "Pkt Handover Cmd" }, + { MT_PACKET_PHYSICAL_INFORMATION, "Pkt Physical Info" }, + { MT_PACKET_ACCESS_REJECT, "Pkt Access Reject" }, + { MT_PACKET_PAGING_REQUEST, "Pkt Paging Request" }, + { MT_PACKET_PDCH_RELEASE, "Pkt PDCH Release" }, + { MT_PACKET_PRACH_PARAMETERS, "Pkt PRACH Params" }, + { MT_PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK, "Pkt DL Dummy Ctrl Block" }, + { MT_PACKET_SYSTEM_INFO_6, "Pkt SI 6" }, + { MT_PACKET_SYSTEM_INFO_1, "Pkt SI 1" }, + { MT_PACKET_SYSTEM_INFO_2, "Pkt SI 2" }, + { MT_PACKET_SYSTEM_INFO_3, "Pkt SI 3" }, + { MT_PACKET_SYSTEM_INFO_3_BIS, "Pkt SI 3bis" }, + { MT_PACKET_SYSTEM_INFO_4, "Pkt SI 4" }, + { MT_PACKET_SYSTEM_INFO_5, "Pkt SI 5" }, + { MT_PACKET_SYSTEM_INFO_13, "Pkt SI 13" }, + { MT_PACKET_SYSTEM_INFO_7, "Pkt SI 7" }, + { MT_PACKET_SYSTEM_INFO_8, "Pkt SI 8" }, + { MT_PACKET_SYSTEM_INFO_14, "Pkt SI 14" }, + { MT_PACKET_SYSTEM_INFO_3_TER, "Pkt SI 3ter" }, + { MT_PACKET_SYSTEM_INFO_3_QUATER, "Pkt SI 3quater" }, + { MT_PACKET_SYSTEM_INFO_15, "Pkt SI 15" }, + { 0, NULL } +}; + /* Returns 0 on success, negative on error. */ int decode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data) { @@ -5003,6 +4954,7 @@ int ret; unsigned readIndex = 0; guint8 payload_type = bitvec_read_field(vector, &readIndex, 2); + const char *msg_type_name; if (payload_type == PAYLOAD_TYPE_DATA) { @@ -5022,7 +4974,9 @@ readIndex = 0; /* recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_ul_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type: %s (%d)): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { case MT_PACKET_CELL_CHANGE_FAILURE: @@ -5111,7 +5065,7 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); + LOGP(DRLCMACDATA, LOGL_NOTICE, "%s: Got %d remaining bits unhandled by decoder at the end of bitvec\n", msg_type_name, ret); ret = 0; } @@ -5127,6 +5081,7 @@ gint bit_length; unsigned readIndex = 0; int ret; + const char *msg_type_name; data->PAYLOAD_TYPE = bitvec_read_field(vector, &readIndex, 2); data->RRBP = bitvec_read_field(vector, &readIndex, 2); @@ -5181,7 +5136,9 @@ csnStreamInit(&ar, bit_offset, bit_length); /* recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_dl_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type: %s (%d): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { @@ -5320,7 +5277,7 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); + LOGP(DRLCMACDATA, LOGL_NOTICE, "%s: Got %d remaining bits unhandled by decoder at the end of bitvec\n", msg_type_name, ret); ret = 0; } @@ -5333,13 +5290,16 @@ csnStream_t ar; unsigned writeIndex = 0; int ret; + const char *msg_type_name; data->NrOfBits = 23 * 8; csnStreamInit(&ar, 0, data->NrOfBits); writeIndex = 0; /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_ul_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type: %s (%d)): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { case MT_PACKET_CELL_CHANGE_FAILURE: @@ -5441,6 +5401,7 @@ { csnStream_t ar; int ret; + const char *msg_type_name; /* See RLC/MAC downlink control block structure in TS 44.060 / 10.3.1 */ gint bit_offset = 0; gint bit_length; @@ -5497,7 +5458,9 @@ /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type=%d): ", data->u.MESSAGE_TYPE); + msg_type_name = get_value_string(rlcmac_dl_msg_names, data->u.MESSAGE_TYPE); + LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type: %s (%d)): ", + msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { case MT_PACKET_ACCESS_REJECT: @@ -5796,7 +5759,7 @@ LOGPC(DCSN1, LOGL_INFO, "\n"); if (ret > 0) { - LOGP(DRLCMACDATA, LOGL_NOTICE, "Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); + LOGP(DRLCMACDATA, LOGL_NOTICE, "RAcap: Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); ret = 0; } return ret; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 497f4d8..b2ec25e 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -1,43 +1,43 @@ -DCSN1 INFO csnStreamDecoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0xcf59564a | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 3478738506 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x78000000 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2013265920 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at PacketPollingID (idx 16): End ID | -DCSN1 INFO csnStreamEncoder (type=4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.UPLINK_TFI = 0 | u.UPLINK_TFI = 0 | : End u.Global_TFI | : End ID | TYPE_OF_ACK = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x7e8ce3dd | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2123162589 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=37): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=37): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type=3): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 3 | TLLI = 0x87987447 | Padding = 1|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamEncoder (type=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=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=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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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) +DCSN1 INFO csnStreamDecoder (type: Pkt DL ASS (2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt DL ASS (2)): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 5 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 28 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 15 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 1 | Slot[3].GAMMA_TN = 0 | Slot[4].Exist = 1 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 1 | Slot[5].GAMMA_TN = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 0 | Padding = 11|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 4 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 14 | TIMING_ADVANCE_TIMESLOT_NUMBER = 4 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 5 | u.Indirect_encoding = 1 | : u.Indirect_encoding | MAIO = 0 | MA_NUMBER = 14 | Exist_CHANGE_MARK = 1 | : CHANGE_MARK | CHANGE_MARK_1 = 0 | Exist_CHANGE_MARK_2 = 0 | : End CHANGE_MARK | : End u.Indirect_encoding | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 7 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 1 | Slot[4].USF_TN = 0 | Slot[4].GAMMA_TN = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 3|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0xcf59564a | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 6 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : 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 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 3478738506 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 0 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 28 | : End u.Global_TFI | : End ID | u.PUA_GPRS_Struct = 0 | : u.PUA_GPRS_Struct | CHANNEL_CODING_COMMAND = 1 | TLLI_BLOCK_CHANNEL_CODING = 1 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 9 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 2 | u.ARFCN = 0 | u.ARFCN = 631 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 19 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 8 | 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 = 1 | Slot[6].USF_TN = 0 | Slot[6].GAMMA_TN = 9 | Slot[7].Exist = 0 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | Exist_AdditionsR99 = 0 | : End u.PUA_GPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt DL ASS (2): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketDownlinkID = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt DL ASS (2)): MESSAGE_TYPE = 2 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.DOWNLINK_TFI = 1 | u.DOWNLINK_TFI = 0 | : End u.Global_TFI | : End ID | 0x00 = 0 | MAC_MODE = 0 | RLC_MODE = 0 | CONTROL_ACK = 0 | TIMESLOT_ALLOCATION = 3 | : Packet_Timing_Advance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 1 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End Packet_Timing_Advance | Exist_P0_and_BTS_PWR_CTRL_MODE = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | Exist_DOWNLINK_TFI_ASSIGNMENT = 1 | DOWNLINK_TFI_ASSIGNMENT = 0 | Exist_Power_Control_Parameters = 1 | : Power_Control_Parameters | ALPHA = 10 | 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 = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].GAMMA_TN = 27 | : End Power_Control_Parameters | Exist_TBF_Starting_Time = 0 | Exist_Measurement_Mapping = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_Params = 1 | EGPRS_WindowSize = 6 | LINK_QUALITY_MEASUREMENT_MODE = 0 | Exist_BEP_PERIOD2 = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Exist_COMPACT_ReducedMA = 0 | : End AdditionsR99 | Padding = 11|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ASS (10): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | Choice PacketUplinkID = 2 | u.TLLI = 0x78000000 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ASS (10)): MESSAGE_TYPE = 10 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | : ID | u.TLLI = 2 | u.TLLI = 2013265920 | : End ID | u.PUA_EGPRS_Struct = 1 | : u.PUA_EGPRS_Struct | u.PUA_EGPRS_00 = 0 | : u.PUA_EGPRS_00 | Exist_CONTENTION_RESOLUTION_TLLI = 0 | Exist_COMPACT_ReducedMA = 0 | EGPRS_CHANNEL_CODING_COMMAND = 0 | RESEGMENT = 1 | EGPRS_WindowSize = 6 | AccessTechnologyType = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | TLLI_BLOCK_CHANNEL_CODING = 0 | Exist_BEP_PERIOD2 = 0 | : PacketTimingAdvance | Exist_TIMING_ADVANCE_VALUE = 0 | Exist_IndexAndtimeSlot = 1 | TIMING_ADVANCE_INDEX = 0 | TIMING_ADVANCE_TIMESLOT_NUMBER = 6 | : End PacketTimingAdvance | Exist_Packet_Extended_Timing_Advance = 0 | Exist_Frequency_Parameters = 1 | : Frequency_Parameters | TSC = 0 | u.ARFCN = 0 | u.ARFCN = 623 | : End Frequency_Parameters | u.Dynamic_Allocation = 1 | : u.Dynamic_Allocation | Extended_Dynamic_Allocation = 0 | Exist_P0 = 0 | USF_GRANULARITY = 0 | Exist_UPLINK_TFI_ASSIGNMENT = 1 | UPLINK_TFI_ASSIGNMENT = 0 | Exist_RLC_DATA_BLOCKS_GRANTED = 0 | Exist_TBF_Starting_Time = 0 | u.Timeslot_Allocation_Power_Ctrl_Param = 1 | : u.Timeslot_Allocation_Power_Ctrl_Param | ALPHA = 10 | 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 = 1 | Slot[6].USF_TN = 1 | Slot[6].GAMMA_TN = 27 | Slot[7].Exist = 1 | Slot[7].USF_TN = 1 | Slot[7].GAMMA_TN = 27 | : End u.Timeslot_Allocation_Power_Ctrl_Param | : End u.Dynamic_Allocation | : End u.PUA_EGPRS_00 | : End u.PUA_EGPRS_Struct | Padding = 11|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x78000000 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 1 | u.PU_AckNack_EGPRS_Struct = 1 | : u.PU_AckNack_EGPRS_Struct | u.PU_AckNack_EGPRS_00 = 0 | : u.PU_AckNack_EGPRS_00 | EGPRS_ChannelCodingCommand = 3 | RESEGMENT = 1 | PRE_EMPTIVE_TRANSMISSION = 1 | PRR_RETRANSMISSION_REQUEST = 0 | ARAC_RETRANSMISSION_REQUEST = 0 | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2013265920 | TBF_EST = 0 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Exist_Packet_Extended_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 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 | : End u.PU_AckNack_EGPRS_00 | : End u.PU_AckNack_EGPRS_Struct | Padding = 43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt Polling Req (4): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at PacketPollingID (idx 16): End ID | +DCSN1 INFO csnStreamEncoder (type: Pkt Polling Req (4)): MESSAGE_TYPE = 4 | PAGE_MODE = 3 | : ID | u.Global_TFI = 0 | : u.Global_TFI | u.UPLINK_TFI = 0 | u.UPLINK_TFI = 0 | : End u.Global_TFI | : End ID | TYPE_OF_ACK = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL ACK/NACK (9): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 0x7e8ce3dd | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt UL ACK/NACK (9)): MESSAGE_TYPE = 9 | PAGE_MODE = 0 | 0x00 = 0 | UPLINK_TFI = 24 | u.PU_AckNack_GPRS_Struct = 0 | : u.PU_AckNack_GPRS_Struct | CHANNEL_CODING_COMMAND = 0 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 255 | RECEIVED_BLOCK_BITMAP[1] = 255 | RECEIVED_BLOCK_BITMAP[2] = 255 | RECEIVED_BLOCK_BITMAP[3] = 255 | RECEIVED_BLOCK_BITMAP[4] = 255 | RECEIVED_BLOCK_BITMAP[5] = 255 | RECEIVED_BLOCK_BITMAP[6] = 255 | RECEIVED_BLOCK_BITMAP[7] = 255 | : End Ack_Nack_Description | Common_Uplink_Ack_Nack_Data.Exist_CONTENTION_RESOLUTION_TLLI = 1 | Common_Uplink_Ack_Nack_Data.CONTENTION_RESOLUTION_TLLI = 2123162589 | Common_Uplink_Ack_Nack_Data.Exist_Packet_Timing_Advance = 0 | Common_Uplink_Ack_Nack_Data.Exist_Power_Control_Parameters = 0 | Common_Uplink_Ack_Nack_Data.Exist_Extension_Bits = 0 | u.FixedAllocationDummy = 0 | u.FixedAllocationDummy = 1 | Exist_AdditionsR99 = 0 | : End u.PU_AckNack_GPRS_Struct | Padding = 43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt DL Dummy Ctrl Block (37): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamEncoder (type: Pkt DL Dummy Ctrl Block (37)): MESSAGE_TYPE = 37 | PAGE_MODE = 0 | Exist_PERSISTENCE_LEVEL = 0 | Padding = 43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +DCSN1 INFO csnStreamDecoder (type: Pkt UL Dummy Ctrl Block (3)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 3 | TLLI = 0x87987447 | Padding = 1|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| +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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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=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=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=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=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=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 (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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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 } | -DRLCMACDATA NOTICE Got 145 remaining bits unhandled by decoder at the end of bitvec +DRLCMACDATA NOTICE RAcap: Got 145 remaining bits unhandled by decoder at the end of bitvec 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 } | DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) 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 } | -DRLCMACDATA NOTICE Got 143 remaining bits unhandled by decoder at the end of bitvec +DRLCMACDATA NOTICE RAcap: Got 143 remaining bits unhandled by decoder at the end of bitvec 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 } | -DRLCMACDATA NOTICE Got 7 remaining bits unhandled by decoder at the end of bitvec +DRLCMACDATA NOTICE RAcap: Got 7 remaining bits unhandled by decoder at the end of bitvec -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6a6e79d7e12cd5e8e969bf0eaa30ddac6b0aa7d3 Gerrit-Change-Number: 17575 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 18:52:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 18:52:50 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17578 ) Change subject: rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits ...................................................................... rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits There's two variants for the Ms Radio Access Capabilities. * The usual encoding with spare bits (usually to fill up to octet boundary) as defined in TS 24.008 Table 10.5.146 And there's too: * MS Radio Access Capabilities 2 IE from TS44.060 section 12.30, which is the same but removing all spare bits, and which is used in messages like Packet Resource Request and Additional MS RAC messages. The later is used basically for messages having extra IEs after the MS Radio Access capabilities IE, since they are encoded immediatelly afterwards. So this patch does: * Adds the expected spare bits (M_PADDING) to MS_Radio_Access_capability_t * Creates a new MS_Radio_Access_capability2_t without padding * Updates code to use the new "2" version where needed. Note RLCMACTest long de/encoding line logs change only because the name of the struct changes (the "2" is added). Change-Id: Ibd756f80a03452a651e2771dbc628d701e55ac4b --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M src/pdch.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok M tests/tbf/TbfTest.cpp 6 files changed, 57 insertions(+), 58 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 24b0235..c1dc80e 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -948,13 +948,16 @@ static const CSN_DESCR_BEGIN (MS_Radio_Access_capability_t) -/*Will be done in the main routines:*/ -/*M_UINT (MS_Radio_Access_capability_t, IEI, 8),*/ -/*M_UINT (MS_Radio_Access_capability_t, Length, 8),*/ - M_REC_TARRAY_1(MS_Radio_Access_capability_t, MS_RA_capability_value, MS_RA_capability_value_t, Count_MS_RA_capability_value), + M_PADDING_BITS(MS_Radio_Access_capability_t), CSN_DESCR_END (MS_Radio_Access_capability_t) +/* TS44.060 section 12.30 "MS Radio Access Capability 2". Same as above but without spare bits */ +static const +CSN_DESCR_BEGIN (MS_Radio_Access_capability2_t) + M_REC_TARRAY_1(MS_Radio_Access_capability_t, MS_RA_capability_value, MS_RA_capability_value_t, Count_MS_RA_capability_value), +CSN_DESCR_END (MS_Radio_Access_capability2_t) + /*< MS Classmark 3 IE >*/ static const CSN_DESCR_BEGIN(ARC_t) @@ -1319,8 +1322,8 @@ M_TYPE (Packet_Resource_Request_t, ID, PacketResourceRequestID_t), - M_NEXT_EXIST (Packet_Resource_Request_t, Exist_MS_Radio_Access_capability, 1), - M_TYPE (Packet_Resource_Request_t, MS_Radio_Access_capability, MS_Radio_Access_capability_t), + M_NEXT_EXIST (Packet_Resource_Request_t, Exist_MS_Radio_Access_capability2, 1), + M_TYPE (Packet_Resource_Request_t, MS_Radio_Access_capability2, MS_Radio_Access_capability2_t), M_TYPE (Packet_Resource_Request_t, Channel_Request_Description, Channel_Request_Description_t), @@ -4343,7 +4346,7 @@ /* Mac header */ M_TYPE (Additional_MS_Rad_Access_Cap_t, ID, AdditionalMsRadAccessCapID_t), - M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability, MS_Radio_Access_capability_t), + M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability, MS_Radio_Access_capability2_t), M_PADDING_BITS (Additional_MS_Rad_Access_Cap_t), CSN_DESCR_END (Additional_MS_Rad_Access_Cap_t) diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 9e38966..13afe59 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1619,8 +1619,8 @@ PacketResourceRequestID_t ID; - guint8 Exist_MS_Radio_Access_capability; - MS_Radio_Access_capability_t MS_Radio_Access_capability; + guint8 Exist_MS_Radio_Access_capability2; + MS_Radio_Access_capability_t MS_Radio_Access_capability2; Channel_Request_Description_t Channel_Request_Description; diff --git a/src/pdch.cpp b/src/pdch.cpp index 5b87d51..8560cb4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -596,12 +596,12 @@ ta = sba->ta; bts()->sba()->free_sba(sba); } - if (request->Exist_MS_Radio_Access_capability) { + if (request->Exist_MS_Radio_Access_capability2) { ms_class = Decoding::get_ms_class_by_capability( - &request->MS_Radio_Access_capability); + &request->MS_Radio_Access_capability2); egprs_ms_class = Decoding::get_egprs_ms_class_by_capability( - &request->MS_Radio_Access_capability); + &request->MS_Radio_Access_capability2); } if (!ms_class) LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n"); diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index b2ec25e..c271e5c 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -22,22 +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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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) +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 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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_capability = 1 | : MS_Radio_Access_capability | 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_capability | : 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: 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 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 } | -DRLCMACDATA NOTICE RAcap: Got 145 remaining bits unhandled by decoder at the end of bitvec -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 } | -DRLCMACDATA ERROR Failed to encode MS RA Capability IE: not enough bits in the output buffer (rc=107) +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 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 } | -DRLCMACDATA NOTICE RAcap: Got 143 remaining bits unhandled by decoder at the end of bitvec -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 } | -DRLCMACDATA NOTICE RAcap: Got 7 remaining bits unhandled by decoder at the end of bitvec +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| diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 3ef15d4..4e4967b 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -136,9 +136,9 @@ GPRS multislot class = 3 EGPRS multislot class = 3 === Test encoding of MS RA Capability === -encode_gsm_ra_cap() returns -5 +encode_gsm_ra_cap() returns 0 vector1 (len_ind=27) = 13 65 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -vector2 (len_ind=65) = 18 25 14 62 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +vector2 (len_ind=65) = 18 25 14 62 30 00 00 00 00 03 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b === Test decoding of a malformed vector (short length indicator) === decode_gsm_ra_cap() returns -5 *** testMalformedRAcap *** diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5edb544..6420aca 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -678,23 +678,23 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.EGPRS_multislot_class = ms_class; } @@ -827,23 +827,23 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.EGPRS_multislot_class = ms_class; } @@ -1273,23 +1273,23 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content. Multislot_capability.EGPRS_multislot_class = ms_class; } @@ -1590,22 +1590,22 @@ ulreq.u.Packet_Resource_Request.PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ulreq.u.Packet_Resource_Request.ID.UnionType = 1; /* != 0 */ ulreq.u.Packet_Resource_Request.ID.u.TLLI = tlli; - ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.Exist_MS_Radio_Access_capability2 = 1; + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. Count_MS_RA_capability_value = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Exist_Multislot_capability = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_GPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. GPRS_multislot_class = ms_class; if (egprs_ms_class) { - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. Exist_EGPRS_multislot_class = 1; - ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability. + ulreq.u.Packet_Resource_Request.MS_Radio_Access_capability2. MS_RA_capability_value[0].u.Content.Multislot_capability. EGPRS_multislot_class = ms_class; } @@ -2384,8 +2384,8 @@ presreq->PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; presreq->ID.UnionType = 1; /* != 0 */ presreq->ID.u.TLLI = tlli; - presreq->Exist_MS_Radio_Access_capability = 1; - pmsradiocap = &presreq->MS_Radio_Access_capability; + presreq->Exist_MS_Radio_Access_capability2 = 1; + pmsradiocap = &presreq->MS_Radio_Access_capability2; pmsradiocap->Count_MS_RA_capability_value = 1; pmsradiocap->MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; @@ -3210,8 +3210,8 @@ presreq->PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; presreq->ID.UnionType = 1; /* != 0 */ presreq->ID.u.TLLI = tlli; - presreq->Exist_MS_Radio_Access_capability = 1; - pmsradiocap = &presreq->MS_Radio_Access_capability; + presreq->Exist_MS_Radio_Access_capability2 = 1; + pmsradiocap = &presreq->MS_Radio_Access_capability2; pmsradiocap->Count_MS_RA_capability_value = 1; pmsradiocap->MS_RA_capability_value[0].u.Content. Exist_Multislot_capability = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibd756f80a03452a651e2771dbc628d701e55ac4b Gerrit-Change-Number: 17578 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 Mon Mar 23 19:04:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Mar 2020 19:04:15 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters 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/+/17504 to look at the new patch set (#6). Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... manual: add SCCP/M3UA section from common chapters Link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 --- A TODO-RELEASE M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc 3 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/17504/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 19:04:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Mar 2020 19:04:56 +0000 Subject: Change in osmo-msc[master]: manual: add missing mention of MGCP in "Multiple instances" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17579 ) Change subject: manual: add missing mention of MGCP in "Multiple instances" ...................................................................... manual: add missing mention of MGCP in "Multiple instances" Change-Id: I91d06921e4dca08428bf45fc1a3fd6e124599371 --- M doc/manuals/chapters/running.adoc 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/79/17579/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 03dade6..4bd3913 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -84,6 +84,7 @@ - The SCCP/M3UA links are established by OsmoMSC contacting an STP. - The GSUP link is established by OsmoMSC contacting an HLR. +- The MGCP link is established by OsmoMSC contacting an MGW. === Configure primary links -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91d06921e4dca08428bf45fc1a3fd6e124599371 Gerrit-Change-Number: 17579 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 Mar 23 19:04:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Mar 2020 19:04:56 +0000 Subject: Change in osmo-msc[master]: manual: link to new common cs7-config.adoc, remove some dup of that References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17580 ) Change subject: manual: link to new common cs7-config.adoc, remove some dup of that ...................................................................... manual: link to new common cs7-config.adoc, remove some dup of that Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: Ie88dd2c7f7318a31ae04fbd6930346d92141fde5 --- A TODO-RELEASE M doc/manuals/chapters/running.adoc M doc/manuals/osmomsc-usermanual.adoc 3 files changed, 24 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/80/17580/1 diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..dde4b72 --- /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://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# 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 +manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 4bd3913..18fdad9 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -91,20 +91,24 @@ ==== Configure SCCP/M3UA to accept _A_ and _IuCS_ links -OsmoMSC will contact an STP instance to establish an SCCP/M3UA link. BSC and -HNBGW will then reach the MSC via this link. By default, an STP instance is -assumed to listen on the default M3UA port (2905) on the local host. +OsmoMSC acts as client to contact an STP instance and establish an SCCP/M3UA +link. -Establishing an SCCP/M3UA link towards an STP instance not on the local host -can be configured as follows: +An example configuration of OsmoMSC's SCCP link: ---- cs7 instance 0 - asp my-OsmoMSC 2905 0 m3ua - ! IP address of the remote STP: - remote-ip 10.23.24.1 + point-code 0.23.1 + asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua + remote-ip 127.0.0.1 + sctp-role client + as as-clnt-OsmoMSC-A-Iu m3ua + asp asp-clnt-OsmoMSC-A-Iu + #routing-key 2 0.23.1 ---- +This configuration is explained in detail in <>. + Note that _A_ and _IuCS_ may use different SCCP instances, if so desired: ---- @@ -119,21 +123,6 @@ cs7-instance-iu 1 ---- -A full configuration needs an `asp` on an `as` -- an Application Server Process -running on an Application Server -- as well as a local point code and routing -configuration. The SCCP VTY automatically creates those parts that are missing, -by assuming sane defaults. A complete configuration would look like this: - ----- -cs7 instance 0 - point-code 0.23.1 - asp my-OsmoMSC-A-Iu 2905 0 m3ua - remote-ip 127.0.0.1 - as my-as-for-OsmoMSC-A-Iu m3ua - asp my-OsmoMSC-A-Iu - routing-key 0 0.23.1 ----- - ==== Configure GSUP to reach the HLR OsmoMSC will assume a GSUP server (OsmoHLR) to run on the local host and the diff --git a/doc/manuals/osmomsc-usermanual.adoc b/doc/manuals/osmomsc-usermanual.adoc index d680a51..848d9c0 100644 --- a/doc/manuals/osmomsc-usermanual.adoc +++ b/doc/manuals/osmomsc-usermanual.adoc @@ -22,6 +22,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/cs7-config.adoc[] + include::{srcdir}/chapters/net.adoc[] include::./common/chapters/smpp.adoc[] -- 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: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 19:08:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 19:08:06 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add scenario for airplane mode simulation in srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 ) Change subject: srs_ue: add scenario for airplane mode simulation in srsUE ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577/1/src/osmo_gsm_tester/srs_ue.py File src/osmo_gsm_tester/srs_ue.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577/1/src/osmo_gsm_tester/srs_ue.py at 226 PS1, Line 226: # Get airplane mode params You don't need this. Instead, add default values in defaults.conf -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb Gerrit-Change-Number: 17577 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 19:08: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 Mar 23 19:08:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 19:08:43 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add scenario for airplane mode simulation in srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 ) Change subject: srs_ue: add scenario for airplane mode simulation in srsUE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577/1/src/osmo_gsm_tester/srs_ue.py File src/osmo_gsm_tester/srs_ue.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577/1/src/osmo_gsm_tester/srs_ue.py at 221 PS1, Line 221: values = dict(ue=config.get_defaults('srsue')) See from here it takes stuff from defaults.conf from the "srsue" section. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb Gerrit-Change-Number: 17577 Gerrit-PatchSet: 1 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 19:08:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 19:33:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 19:33:48 +0000 Subject: Change in osmo-pcu[master]: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17581 ) Change subject: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate ...................................................................... rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate This a leftover from I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198. Most of the CSN.1 codec related logging messages are now using LOGL_DEBUG, so the rlcmac code should also do the same. Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 --- M src/gsm_rlcmac.cpp 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/81/17581/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index c1dc80e..03e0417 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -4978,7 +4978,7 @@ /* recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ msg_type_name = get_value_string(rlcmac_ul_msg_names, data->u.MESSAGE_TYPE); - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type: %s (%d)): ", + LOGP(DCSN1, LOGL_DEBUG, "csnStreamDecoder (type: %s (%d)): ", msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { @@ -5065,7 +5065,7 @@ /* recursive csnStreamDecoder call uses LOGPC everywhere without trailing newline, so as a caller we are responisble for submitting it */ - LOGPC(DCSN1, LOGL_INFO, "\n"); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); if (ret > 0) { LOGP(DRLCMACDATA, LOGL_NOTICE, "%s: Got %d remaining bits unhandled by decoder at the end of bitvec\n", msg_type_name, ret); @@ -5140,7 +5140,7 @@ /* recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ msg_type_name = get_value_string(rlcmac_dl_msg_names, data->u.MESSAGE_TYPE); - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (type: %s (%d): ", + LOGP(DCSN1, LOGL_DEBUG, "csnStreamDecoder (type: %s (%d): ", msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) @@ -5277,7 +5277,7 @@ /* recursive csnStreamDecoder call uses LOGPC everywhere without trailing newline, so as a caller we are responisble for submitting it */ - LOGPC(DCSN1, LOGL_INFO, "\n"); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); if (ret > 0) { LOGP(DRLCMACDATA, LOGL_NOTICE, "%s: Got %d remaining bits unhandled by decoder at the end of bitvec\n", msg_type_name, ret); @@ -5301,7 +5301,7 @@ /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ msg_type_name = get_value_string(rlcmac_ul_msg_names, data->u.MESSAGE_TYPE); - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type: %s (%d)): ", + LOGP(DCSN1, LOGL_DEBUG, "csnStreamEncoder (type: %s (%d)): ", msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { @@ -5388,7 +5388,7 @@ /* recursive csnStreamDecoder call uses LOGPC everywhere without trailing newline, so as a caller we are responisble for submitting it */ - LOGPC(DCSN1, LOGL_INFO, "\n"); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); if (ret > 0 || ret == CSN_ERROR_NEED_MORE_BITS_TO_UNPACK) { LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode an Uplink block: not enough bits " @@ -5462,7 +5462,7 @@ /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ msg_type_name = get_value_string(rlcmac_dl_msg_names, data->u.MESSAGE_TYPE); - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (type: %s (%d)): ", + LOGP(DCSN1, LOGL_DEBUG, "csnStreamEncoder (type: %s (%d)): ", msg_type_name, data->u.MESSAGE_TYPE); switch (data->u.MESSAGE_TYPE) { @@ -5598,7 +5598,7 @@ /* recursive csnStreamDecoder call uses LOGPC everywhere without trailing newline, so as a caller we are responisble for submitting it */ - LOGPC(DCSN1, LOGL_INFO, "\n"); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); if (ret > 0 || ret == CSN_ERROR_NEED_MORE_BITS_TO_UNPACK) { LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode a Downlink block: not enough bits " @@ -5754,12 +5754,12 @@ csnStreamInit(&ar, 0, 8 * vector->data_len); /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamDecoder (RAcap): "); + LOGP(DCSN1, LOGL_DEBUG, "csnStreamDecoder (RAcap): "); ret = csnStreamDecoder(&ar, CSNDESCR(MS_Radio_Access_capability_t), vector, &readIndex, data); /* recursive csnStreamDecoder call uses LOGPC everywhere without trailing newline, so as a caller we are responisble for submitting it */ - LOGPC(DCSN1, LOGL_INFO, "\n"); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); if (ret > 0) { LOGP(DRLCMACDATA, LOGL_NOTICE, "RAcap: Got %d remaining bits unhandled by decoder at the end of bitvec\n", ret); @@ -5780,9 +5780,9 @@ csnStreamInit(&ar, 0, vector->data_len * 8); /* recursive csnStreamEncoder call uses LOGPC everywhere, so we need to start the log somewhere... */ - LOGP(DCSN1, LOGL_INFO, "csnStreamEncoder (RAcap): "); + LOGP(DCSN1, LOGL_DEBUG, "csnStreamEncoder (RAcap): "); ret = csnStreamEncoder(&ar, CSNDESCR(MS_Radio_Access_capability_t), vector, &writeIndex, data); - LOGPC(DCSN1, LOGL_INFO, "\n"); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); if (ret > 0 || ret == CSN_ERROR_NEED_MORE_BITS_TO_UNPACK) { LOGP(DRLCMACDATA, LOGL_ERROR, "Failed to encode MS RA Capability IE: not enough bits " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 Gerrit-Change-Number: 17581 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 Mar 23 19:38:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Mar 2020 19:38:00 +0000 Subject: Change in osmo-pcu[master]: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/17581 ) Change subject: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate ...................................................................... rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate This a leftover from I7b42c9e21ad8d8a5b54e7a3b68490934ce3d3198. Most of the CSN.1 codec related logging messages are now using LOGL_DEBUG, so the rlcmac code should also do the same. Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 --- M src/gsm_rlcmac.cpp M tests/rlcmac/RLCMACTest.err 2 files changed, 50 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/81/17581/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 Gerrit-Change-Number: 17581 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 Mon Mar 23 19:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 19:53:32 +0000 Subject: Change in osmo-gsm-tester[master]: process: add stdin_write method to communicate with child on stdin In-Reply-To: References: Message-ID: Andre Puschmann has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 ) Change subject: process: add stdin_write method to communicate with child on stdin ...................................................................... process: add stdin_write method to communicate with child on stdin Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 --- M src/osmo_gsm_tester/process.py 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index f399b29..5d02ab5 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -350,6 +350,13 @@ def wait(self, timeout=300): MainLoop.wait(self, self.terminated, timeout=timeout) + def stdin_write(self, cmd): + ''' + Send a cmd to the stdin of a process (convert to byte before) + ''' + if self.process_obj.stdin is not None: + self.process_obj.stdin.write(cmd.encode("utf-8")) + self.process_obj.stdin.flush() class RemoteProcess(Process): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5 Gerrit-Change-Number: 17560 Gerrit-PatchSet: 4 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 19:53:45 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 19:53:45 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: send t+Enter to stdin after launching app In-Reply-To: References: Message-ID: Andre Puschmann has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 ) Change subject: srs_ue: send t+Enter to stdin after launching app ...................................................................... srs_ue: send t+Enter to stdin after launching app this enables the console trace which is printed to stdout and provides human readable radio statistics Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index f725587..388fbf1 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -120,6 +120,10 @@ else: self.start_remotely() + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + def start_remotely(self): self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) lib = self.inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768 Gerrit-Change-Number: 17561 Gerrit-PatchSet: 4 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 19:53:55 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 19:53:55 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: run srsUE as normal RemoteProcess In-Reply-To: References: Message-ID: Andre Puschmann has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17562 ) Change subject: srs_ue: run srsUE as normal RemoteProcess ...................................................................... srs_ue: run srsUE as normal RemoteProcess running with RemoteProcessFixIgnoreSIGHUP was needed bc srsUE used to ignore SIGHUP that is delivered to the process when the SSH session is terminated causing the UE to not quit properly. This isn't the case anymore so we can use RemoteProcess for spawning the UE. Furthermore, the wrapper script didn't pass along stdin to it's child process, i.e., srsUE. Therefore the console trace can't be seen if the run through the wrapper. Change-Id: Iab4dafc58167620362a36ec9e904b8d49a7d5fc1 --- M src/osmo_gsm_tester/srs_ue.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/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 388fbf1..fdcd6dd 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -170,7 +170,7 @@ '--pcap.filename=' + self.remote_pcap_file, '--general.metrics_csv_filename=' + self.remote_metrics_file) - self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, util.Dir(srsUE.REMOTE_DIR), 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.suite_run.remember_to_stop(self.process) self.process.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab4dafc58167620362a36ec9e904b8d49a7d5fc1 Gerrit-Change-Number: 17562 Gerrit-PatchSet: 4 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Andre Puschmann 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 Mar 23 20:00:44 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 20:00:44 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}.conf.tmpl: make sure to only use a single PHY thread when... 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/+/17563 to look at the new patch set (#5). Change subject: srs{enb,ue}.conf.tmpl: make sure to only use a single PHY thread when running with ZMQ ...................................................................... srs{enb,ue}.conf.tmpl: make sure to only use a single PHY thread when running with ZMQ Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/63/17563/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa Gerrit-Change-Number: 17563 Gerrit-PatchSet: 5 Gerrit-Owner: Andre Puschmann 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 Mar 23 20:00:44 2020 From: gerrit-no-reply at lists.osmocom.org (Andre Puschmann) Date: Mon, 23 Mar 2020 20:00:44 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add scenario for airplane mode simulation in 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/+/17577 to look at the new patch set (#2). Change subject: srs_ue: add scenario for airplane mode simulation in srsUE ...................................................................... srs_ue: add scenario for airplane mode simulation in srsUE Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb --- M example/defaults.conf A example/scenarios/mod-srsue-airplane_mode_sim at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 4 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/77/17577/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb Gerrit-Change-Number: 17577 Gerrit-PatchSet: 2 Gerrit-Owner: Andre Puschmann 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 Mar 23 22:23:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 22:23:28 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add scenario for airplane mode simulation in srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 ) Change subject: srs_ue: add scenario for airplane mode simulation in srsUE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb Gerrit-Change-Number: 17577 Gerrit-PatchSet: 2 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 22:23:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 23 22:24:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 22:24:46 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}.conf.tmpl: make sure to only use a single PHY thread when... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 ) Change subject: srs{enb,ue}.conf.tmpl: make sure to only use a single PHY thread when running with ZMQ ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa Gerrit-Change-Number: 17563 Gerrit-PatchSet: 5 Gerrit-Owner: Andre Puschmann Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 22:24: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 Mon Mar 23 22:28:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 22:28:30 +0000 Subject: Change in osmo-pcu[master]: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17581 ) Change subject: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate ...................................................................... Patch Set 2: I'm not sure that's really what we want. I mean, with current setup if you use INFO level you get one line for each message with the message being handled, which is "acceptable", while using DEBUG then you get tons of detailed parsing information. If you set it to notice (the default) you then don't see those. What do you think? It may look more annoying because of the red color. I'm fine if you want to swap for instance red with the other category in orange/brown, which usually shows more "interesting" stuff. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 Gerrit-Change-Number: 17581 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 22:28: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 Mon Mar 23 22:39:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 22:39:54 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17504 ) Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 22:39: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 Mar 23 22:42:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 22:42:57 +0000 Subject: Change in osmo-msc[master]: manual: add missing mention of MGCP in "Multiple instances" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17579 ) Change subject: manual: add missing mention of MGCP in "Multiple instances" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91d06921e4dca08428bf45fc1a3fd6e124599371 Gerrit-Change-Number: 17579 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 22:42: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 Mar 23 22:46:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Mar 2020 22:46:57 +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: pespin 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 1: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17580/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-msc/+/17580/1/doc/manuals/chapters/running.adoc at 107 PS1, Line 107: #routing-key 2 0.23.1 what about this comment? -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Mar 2020 22:46:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 07:20:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 07:20:18 +0000 Subject: Change in osmo-bsc[master]: abis_nm.c: rx_fail_evt_rep: fix sd.bts In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17569 ) Change subject: abis_nm.c: rx_fail_evt_rep: fix sd.bts ...................................................................... abis_nm.c: rx_fail_evt_rep: fix sd.bts Use the extra bts pointer instead of mb->trx->bts, which does not point to an allocated bts. Related: OS#1605 Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 --- M src/osmo-bsc/abis_nm.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/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index a874b53..2d181e8 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -399,7 +399,7 @@ rc = -EINVAL; } - sd.bts = mb->trx->bts; + sd.bts = bts; sd.msg = mb; sd.tp = &tp; if (e_type) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie61512f5690763fa380bdf0e7fb4763dbda019d2 Gerrit-Change-Number: 17569 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge 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 Tue Mar 24 07:32:29 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 07:32:29 +0000 Subject: Change in osmo-bts[master]: VTY: add "test send-failure-event-report" In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 to look at the new patch set (#4). Change subject: VTY: add "test send-failure-event-report" ...................................................................... VTY: add "test send-failure-event-report" Send test failure event report OML message to the BSC. I found this useful while manually testing related handling code in OsmoBSC. Related: OS#1605 Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e --- M src/common/vty.c 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/17573/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 07:33:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 07:33:00 +0000 Subject: Change in osmo-bts[master]: VTY: add "test send-failure-event-report" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "test send-failure-event-report" ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17573/3/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/17573/3/src/common/vty.c at 931 PS3, Line 931: test > I would prefer to see 'test' as an individual node, so if someone would need more special commands i [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 07:33: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 Mar 24 07:52:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 24 Mar 2020 07:52:52 +0000 Subject: Change in osmo-bts[master]: VTY: add "test send-failure-event-report" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "test send-failure-event-report" ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 07:52: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 Mar 24 08:01:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 08:01:05 +0000 Subject: Change in osmo-bts[master]: VTY: add "test send-failure-event-report" In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17573 ) Change subject: VTY: add "test send-failure-event-report" ...................................................................... VTY: add "test send-failure-event-report" Send test failure event report OML message to the BSC. I found this useful while manually testing related handling code in OsmoBSC. Related: OS#1605 Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e --- M src/common/vty.c 1 file changed, 20 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/vty.c b/src/common/vty.c index ab38dc1..2cf3224 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -928,6 +928,25 @@ return CMD_SUCCESS; } +DEFUN(test_send_failure_event_report, test_send_failure_event_report_cmd, "test send-failure-event-report <0-255>", + "Various testing commands\n" + "Send a test OML failure event report to the BSC\n" BTS_NR_STR) +{ + struct gsm_network *net = gsmnet_from_vty(vty); + int bts_nr = atoi(argv[0]); + struct gsm_bts *bts; + + if (bts_nr >= net->num_bts) { + vty_out(vty, "%% can't find BTS '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + bts = gsm_bts_num(net, bts_nr); + oml_tx_failure_event_rep(&bts->mo, NM_SEVER_MINOR, OSMO_EVT_WARN_SW_WARN, "test message sent from VTY"); + + return CMD_SUCCESS; +} + static void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx) { vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", @@ -1716,6 +1735,7 @@ install_element(ENABLE_NODE, &bts_t_t_l_jitter_buf_cmd); install_element(ENABLE_NODE, &bts_t_t_l_loopback_cmd); install_element(ENABLE_NODE, &no_bts_t_t_l_loopback_cmd); + install_element(ENABLE_NODE, &test_send_failure_event_report_cmd); install_element(CONFIG_NODE, &cfg_phy_cmd); install_node(&phy_node, config_write_phy); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0c4eba1636d8faf5012db26643bdf1d9fb6bfa1e Gerrit-Change-Number: 17573 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 08:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 08:39:00 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: add scenario for airplane mode simulation in srsUE In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 ) Change subject: srs_ue: add scenario for airplane mode simulation in srsUE ...................................................................... srs_ue: add scenario for airplane mode simulation in srsUE Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb --- M example/defaults.conf A example/scenarios/mod-srsue-airplane_mode_sim at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 4 files changed, 23 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index 60539c8..dcb84db 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -108,3 +108,5 @@ srsue: enable_pcap: false + airplane_t_on_ms: -1 + airplane_t_off_ms: -1 diff --git a/example/scenarios/mod-srsue-airplane_mode_sim at .conf b/example/scenarios/mod-srsue-airplane_mode_sim at .conf new file mode 100644 index 0000000..c05fba1 --- /dev/null +++ b/example/scenarios/mod-srsue-airplane_mode_sim at .conf @@ -0,0 +1,4 @@ +modifiers: + modem: + - airplane_t_on_ms: ${param1} + airplane_t_off_ms: ${param2} diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 8a93ea4..757a9c5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -106,6 +106,8 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, + 'modem[].airplane_t_on_ms': schema.INT, + 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, } diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index ffcafcd..12081c5 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -336,6 +336,21 @@ #force_ul_amplitude = 0 ##################################################################### +# Simulation configuration options +# +# The UE simulation supports turning on and off airplane mode in the UE. +# The actions are carried periodically until the UE is stopped. +# +# airplane_t_on_ms: Time to leave airplane mode turned on (in ms) +# +# airplane_t_off_ms: Time to leave airplane mode turned off (in ms) +# +##################################################################### +[sim] +airplane_t_on_ms = ${ue.airplane_t_on_ms} +airplane_t_off_ms = ${ue.airplane_t_off_ms} + +##################################################################### # General configuration options # # metrics_csv_enable: Write UE metrics to CSV file. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5db2ff325ce4b4236c1ceec0831dd7420d52dedb Gerrit-Change-Number: 17577 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 Tue Mar 24 08:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 08:39:00 +0000 Subject: Change in osmo-gsm-tester[master]: srs{enb, ue}.conf.tmpl: make sure to only use a single PHY thread when... In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 ) Change subject: srs{enb,ue}.conf.tmpl: make sure to only use a single PHY thread when running with ZMQ ...................................................................... srs{enb,ue}.conf.tmpl: make sure to only use a single PHY thread when running with ZMQ Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index 51afcce..d16f9d1 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -135,11 +135,11 @@ # # max_aggr_level: Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3) # pdsch_mcs: Optional fixed PDSCH MCS (ignores reported CQIs if specified) -# pdsch_max_mcs: Optional PDSCH MCS limit +# pdsch_max_mcs: Optional PDSCH MCS limit # pusch_mcs: Optional fixed PUSCH MCS (ignores reported CQIs if specified) -# pusch_max_mcs: Optional PUSCH MCS limit -# min_nof_ctrl_symbols: Minimum number of control symbols -# max_nof_ctrl_symbols: Maximum number of control symbols +# pusch_max_mcs: Optional PUSCH MCS limit +# min_nof_ctrl_symbols: Minimum number of control symbols +# max_nof_ctrl_symbols: Maximum number of control symbols # ##################################################################### [scheduler] @@ -265,7 +265,9 @@ [expert] #pusch_max_its = 8 # These are half iterations #pusch_8bit_decoder = false -#nof_phy_threads = 3 +% if enb.get('rf_dev_type') == 'zmq': +nof_phy_threads = 1 +% endif #metrics_period_secs = 1 #metrics_csv_enable = false #metrics_csv_filename = /tmp/enb_metrics.csv diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 4a4828e..ffcafcd 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -317,7 +317,9 @@ #snr_ema_coeff = 0.1 #snr_estim_alg = refs #pdsch_max_its = 8 # These are half iterations -#nof_phy_threads = 3 +% if ue.get('rf_dev_type') == 'zmq': +nof_phy_threads = 1 +% endif #equalizer_mode = mmse #sfo_ema = 0.1 #sfo_correct_period = 10 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa Gerrit-Change-Number: 17563 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 Mar 24 09:07:00 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 09:07:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms: add optional param to specify fixed SPGW address assigned to MS References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 ) Change subject: ms: add optional param to specify fixed SPGW address assigned to MS ...................................................................... ms: add optional param to specify fixed SPGW address assigned to MS this allows to specify a fixed SPGW address for each subscriber in the HLR. If the param is not provided in the resources config, the default allocation type is used, which is to dynamically allocate an IP in the supported range. Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl 5 files changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/17582/1 diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index f8a9245..a7729a6 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -367,6 +367,7 @@ self.dbg('creating from syspath %s' % self.syspath) self._ki = None self._imsi = None + self._spgw_addr = None self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name().strip('/'))) self.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) @@ -467,6 +468,14 @@ return self._ki return super().ki() + def set_spgw_addr(self, spgw_addr): + self._spgw_addr = spgw_addr + + def spgw_addr(self): + if self._spgw_addr is not None: + return self._spgw_addr + return 'dynamic' + def features(self): return self._conf.get('features', []) diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py index 222a078..d192727 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/ms.py @@ -34,6 +34,9 @@ def ki(self): return self._conf.get('ki') + def spgw_addr(self): + return self._conf.get('spgw_addr', None) + def auth_algo(self): return self._conf.get('auth_algo', None) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 757a9c5..32da088 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -100,6 +100,7 @@ 'modem[].imsi': schema.IMSI, 'modem[].ki': schema.KI, 'modem[].auth_algo': schema.AUTH_ALGO, + 'modem[].spgw_addr': schema.IPV4, 'modem[].remote_user': schema.STR, 'modem[].addr': schema.IPV4, 'modem[].ciphers[]': schema.CIPHER, diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 0d020bc..a346a86 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -199,7 +199,7 @@ raise log.Error("Auth algo %r selected but no KI specified" % algo_str) subscriber_id = len(self.subscriber_list) # list index - self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None}) + self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'spgw_addr': modem.spgw_addr()}) self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo_str=algo_str) diff --git a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl index c213e53..8dd6257 100644 --- a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl @@ -20,5 +20,5 @@ #ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic #ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001255,7,dynamic %for sub in epc.hss.subscribers: -ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},dynamic +ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},${sub.spgw_addr} %endfor -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 Gerrit-Change-Number: 17582 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 Mar 24 09:07:03 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 09:07:03 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add num_cells param to srsENB References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 ) Change subject: srs_enb: add num_cells param to srsENB ...................................................................... srs_enb: add num_cells param to srsENB this is needed to support the upcoming multi-cell feature in srsENB. It's required for carrier aggregation (CA) but can also be used for (currently) two independent 4G cells. This commit adds baseline support for the parameter. Upcoming commits will add hooks to configure the cell's EARFCN, etc. Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 3 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/17583/1 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 32da088..2609d67 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -90,6 +90,7 @@ 'enb[].addr': schema.IPV4, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'enb[].num_cells': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'arfcn[].arfcn': schema.INT, diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 940665e..83d9814 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -81,6 +81,7 @@ self.remote_pcap_file = None self._num_prb = 0 self._txmode = 0 + self._num_cells = 1 self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) @@ -201,6 +202,8 @@ assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) assert self._txmode + self._num_cells = int(values['enb'].get('num_cells', None)) + assert self._num_cells config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) # We need to set some specific variables programatically here to match IP addresses: @@ -248,6 +251,9 @@ def num_prb(self): return self._num_prb + def num_cells(self): + return self._num_cells + def num_ports(self): if self._txmode == 1: return 1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 3dd3fee..2d31c3d 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -86,5 +86,42 @@ rsrq_config = 4; }; } +% if enb.get('num_cells') == '2': + , + { + rf_port = 1; + cell_id = 0x02; + tac = 0x0002; + pci = 2; + root_seq_idx = 205; + dl_earfcn = 2910; + ul_earfcn = 20910; + ho_active = false; + + // CA cells + scell_list = ( + {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true} + ) + + // Cells available for handover + meas_cell_list = + ( + { + eci = 0x19C02; + dl_earfcn = 2850; + pci = 1; + } + ); + + // ReportCfg (only A3 supported) + meas_report_desc = { + a3_report_type = "RSRP"; + a3_offset = 6; + a3_hysteresis = 0; + a3_time_to_trigger = 480; + rsrq_config = 4; + }; + } +% endif // Add here more cells ); -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 Gerrit-Change-Number: 17583 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 Mar 24 09:54:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 09:54:36 +0000 Subject: Change in osmo-gsm-tester[master]: ms: add optional param to specify fixed SPGW address assigned to MS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 ) Change subject: ms: add optional param to specify fixed SPGW address assigned to MS ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582/1/src/osmo_gsm_tester/modem.py File src/osmo_gsm_tester/modem.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582/1/src/osmo_gsm_tester/modem.py at 471 PS1, Line 471: def set_spgw_addr(self, spgw_addr): Do you plan to set it through test? are you already using it? otherwise I think we can drop this one for now. It probably makes more sense to change it through dictionaries, agree? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582/1/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582/1/src/osmo_gsm_tester/resource.py at 103 PS1, Line 103: 'modem[].spgw_addr': schema.IPV4, Can we have something more generic (3g vs 4g) which we can also later extend? For instance "apn_ipaddr". This way later one we may want to have a "apn" dictionary with properties inside. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 Gerrit-Change-Number: 17582 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 09:54: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 Tue Mar 24 09:58:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 09:58:33 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add num_cells param to srsENB In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 ) Change subject: srs_enb: add num_cells param to srsENB ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583/1/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583/1/src/osmo_gsm_tester/srs_enb.py at 84 PS1, Line 84: self._num_cells = 1 Rather define the default value 1 in defaults.conf. See how it's done for bsc_bts and bts nodes in defaults.conf, as well as example.conf.prod (check "num_trx", "max_trx" attributes and check in osmo-bts how dictionaries containing configuration for each TRX are mangled based on those). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 Gerrit-Change-Number: 17583 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 09:58: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 Tue Mar 24 11:02:26 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 11:02:26 +0000 Subject: Change in osmo-ggsn[master]: doc: switch log levels to notice References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 ) Change subject: doc: switch log levels to notice ...................................................................... doc: switch log levels to notice Some of the log levels are set to info, lets switch them to info Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/84/17584/1 diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index 22aeb45..d3693e1 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -7,9 +7,9 @@ logging color 1 logging print category 0 logging timestamp 0 - logging level ip info - logging level tun info - logging level ggsn info + logging level ip notice + logging level tun notice + logging level ggsn notice logging level sgsn notice logging level icmp6 notice logging level lglobal notice @@ -20,7 +20,7 @@ logging level lmib notice logging level lsms notice logging level lctrl notice - logging level lgtp info + logging level lgtp notice logging level lstats notice logging level lgsup notice logging level loap notice -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 Gerrit-Change-Number: 17584 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 Mar 24 11:08:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 11:08:31 +0000 Subject: Change in osmo-ggsn[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 ) Change subject: doc: switch log levels to notice ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/17584/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ggsn/+/17584/1//COMMIT_MSG at 9 PS1, Line 9: Some of the log levels are set to info, lets switch them to info to notice. Is this really useful? Is it too verbose now? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 Gerrit-Change-Number: 17584 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 11:08: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 Tue Mar 24 13:30:31 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 13:30:31 +0000 Subject: Change in osmo-gsm-tester[master]: ms: add optional param to specify fixed APN IP address assigned to a MS 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/+/17582 to look at the new patch set (#2). Change subject: ms: add optional param to specify fixed APN IP address assigned to a MS ...................................................................... ms: add optional param to specify fixed APN IP address assigned to a MS this allows to specify a fixed APN address for each subscriber in the HLR. If the param is not provided in the resources config, the default allocation type is used, which is to dynamically allocate an IP in the supported range. Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl 5 files changed, 12 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/17582/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 Gerrit-Change-Number: 17582 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 Tue Mar 24 13:30:31 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 13:30:31 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add num_cells param to srsENB 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/+/17583 to look at the new patch set (#2). Change subject: srs_enb: add num_cells param to srsENB ...................................................................... srs_enb: add num_cells param to srsENB this is needed to support the upcoming multi-cell feature in srsENB. It's required for carrier aggregation (CA) but can also be used for (currently) two independent 4G cells. This commit adds baseline support for the parameter. Upcoming commits will add hooks to configure the cell's EARFCN, etc. Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 --- M example/defaults.conf A example/scenarios/mod-enb-ncells at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 5 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/17583/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 Gerrit-Change-Number: 17583 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 Mar 24 13:30:32 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 13:30:32 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: adding num_carriers paramter and corresponding modifier References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585 ) Change subject: srs_ue: adding num_carriers paramter and corresponding modifier ...................................................................... srs_ue: adding num_carriers paramter and corresponding modifier this allows to configure a UE to support multiple carriers Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b --- A example/scenarios/mod-srsue-ncarriers at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 3 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/17585/1 diff --git a/example/scenarios/mod-srsue-ncarriers at .conf b/example/scenarios/mod-srsue-ncarriers at .conf new file mode 100644 index 0000000..bb6409a --- /dev/null +++ b/example/scenarios/mod-srsue-ncarriers at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - num_carriers: ${param1} diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 3b805ff..bb44f39 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -108,6 +108,7 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, + 'modem[].num_carriers': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 12081c5..90925b3 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -31,13 +31,18 @@ # Default is auto (yes for UHD, no for rest) ##################################################################### [rf] -dl_earfcn = 3400 +% if ue.num_carriers == 2: +dl_earfcn = 2850,3050 +% else: +dl_earfcn = 2850 +% endif freq_offset = 0 tx_gain = 80 #rx_gain = 40 #nof_radios = 1 nof_antennas = ${ue.num_antennas} +nof_carriers = ${ue.num_carriers} device_name = ${ue.rf_dev_type} @@ -138,8 +143,13 @@ # mbms_service_port: Port of the MBMS service ##################################################################### [rrc] +% if ue.num_carriers == 2: +ue_category = 7 +release = 10 +% else: #ue_category = 4 #release = 8 +% endif #feature_group = 0xe6041000 #mbms_service_id = -1 #mbms_service_port = 4321 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b Gerrit-Change-Number: 17585 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 Mar 24 13:30:32 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 13:30:32 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: add secondary cell and set dl/ul freq in eNB/UE config ... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 ) Change subject: srs_{enb,ue}: add secondary cell and set dl/ul freq in eNB/UE config accordingly ...................................................................... srs_{enb,ue}: add secondary cell and set dl/ul freq in eNB/UE config accordingly Change-Id: I3730856003fffda4f3c3f9e835d62ddc312c4c31 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 4 files changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/17586/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index c4c72bc..ae9b12f 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -213,6 +213,7 @@ + ',tx_port2=tcp://' + self.addr() + ':2002' \ + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ + + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index fdcd6dd..3764496 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -234,6 +234,7 @@ + ',tx_port2=tcp://' + self.addr() + ':2003' \ + ',rx_port=tcp://' + self.enb.addr() + ':2000' \ + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \ + + ',tx_freq=2510e6,rx_freq=2630e6,tx_freq2=2530e6,rx_freq2=2650e6' \ + ',id=ue,base_srate='+ str(base_srate) ))) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index d16f9d1..954b63f 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -63,7 +63,6 @@ # Default "auto". B210 USRP: 400 us, bladeRF: 0 us. ##################################################################### [rf] -dl_earfcn = 3400 tx_gain = 80 rx_gain = 40 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 2d31c3d..cd9f4aa 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -58,8 +58,8 @@ tac = 0x0001; pci = 1; // root_seq_idx = 204; - dl_earfcn = 3400; - //ul_earfcn = 21400; + dl_earfcn = 2850; + //ul_earfcn = 20850; ho_active = false; // CA cells @@ -94,8 +94,8 @@ tac = 0x0002; pci = 2; root_seq_idx = 205; - dl_earfcn = 2910; - ul_earfcn = 20910; + dl_earfcn = 3050; + //ul_earfcn = 21050; ho_active = false; // CA cells -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3730856003fffda4f3c3f9e835d62ddc312c4c31 Gerrit-Change-Number: 17586 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 Mar 24 13:30:33 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 13:30:33 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: enable console trace, use RemoteProcess class and fix params References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587 ) Change subject: srs_enb: enable console trace, use RemoteProcess class and fix params ...................................................................... srs_enb: enable console trace, use RemoteProcess class and fix params In order for the console trace to work over SSH this commit switches to use the default RemoteProcess class. Note that srsENB now correctly handles the SIGHUP signal. The commit also remove a few unneeded params of the eNB. Change-Id: If5af43effa9145b6764a32557a20a2e1760f0486 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/17587/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index ae9b12f..b354408 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -116,6 +116,10 @@ else: self.start_locally() + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + def start_remotely(self): self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) lib = self.inst.child('lib') @@ -150,12 +154,10 @@ '--enb_files.sib_config=' + self.remote_config_sib_file, '--enb_files.rr_config=' + self.remote_config_rr_file, '--enb_files.drb_config=' + self.remote_config_drb_file, - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file) - self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) self.process.launch() @@ -176,8 +178,6 @@ '--enb_files.sib_config=' + os.path.abspath(self.config_sib_file), '--enb_files.rr_config=' + os.path.abspath(self.config_rr_file), '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If5af43effa9145b6764a32557a20a2e1760f0486 Gerrit-Change-Number: 17587 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 Mar 24 13:46:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 13:46:21 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report 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-bsc/+/17571 to look at the new patch set (#3). Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS. Add a VTY command to display them conveniently. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c 4 files changed, 75 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/17571/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 3 Gerrit-Owner: osmith 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 Mar 24 13:46:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 13:46:22 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... abis_nm: move fail report parsing to extra func Separate raw input parsing from handling the failure report. A follow-up patch will use the new parsing function to print saved failure reports to the VTY. Related: OS#1605 Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 --- M include/osmocom/bsc/abis_nm.h M src/osmo-bsc/abis_nm.c 2 files changed, 59 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/17588/1 diff --git a/include/osmocom/bsc/abis_nm.h b/include/osmocom/bsc/abis_nm.h index 45bbe2c..83bc2f8 100644 --- a/include/osmocom/bsc/abis_nm.h +++ b/include/osmocom/bsc/abis_nm.h @@ -27,6 +27,7 @@ #include #include +#include /* max number of attributes represented as 3GPP TS 52.021 ?9.4.62 SW Description array */ #define MAX_BTS_ATTR 5 @@ -170,6 +171,8 @@ int abis_nm_select_newest_sw(const struct abis_nm_sw_desc *sw, const size_t len); +struct nm_fail_rep_signal_data *abis_nm_fail_evt_rep_parse(struct msgb *mb, struct gsm_bts *bts); + /* Helper functions for updating attributes */ int abis_nm_update_max_power_red(struct gsm_bts_trx *trx); diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 2d181e8..01249b4 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -353,38 +353,72 @@ }; } -static int rx_fail_evt_rep(struct msgb *mb, struct gsm_bts *bts) +/* Parse into newly allocated struct abis_nm_fail_evt_rep, caller must free it. */ +struct nm_fail_rep_signal_data *abis_nm_fail_evt_rep_parse(struct msgb *mb, struct gsm_bts *bts) { struct abis_om_hdr *oh = msgb_l2(mb); struct abis_om_fom_hdr *foh = msgb_l3(mb); - struct e1inp_sign_link *sign_link = mb->dst; - struct nm_fail_rep_signal_data sd; - struct tlv_parsed tp; - int rc = 0; + struct nm_fail_rep_signal_data *sd; + struct tlv_parsed *tp; const uint8_t *p_val = NULL; char *p_text = NULL; const char *e_type = NULL, *severity = NULL; - abis_nm_tlv_parse(&tp, sign_link->trx->bts, foh->data, - oh->length-sizeof(*foh)); + sd = talloc_zero(tall_bsc_ctx, struct nm_fail_rep_signal_data); + OSMO_ASSERT(sd); + tp = talloc(sd, struct tlv_parsed); + OSMO_ASSERT(tp); - if (TLVP_PRESENT(&tp, NM_ATT_ADD_TEXT)) { - const uint8_t *val = TLVP_VAL(&tp, NM_ATT_ADD_TEXT); - p_text = talloc_strndup(tall_bsc_ctx, (const char *) val, - TLVP_LEN(&tp, NM_ATT_ADD_TEXT)); + abis_nm_tlv_parse(tp, bts, foh->data, oh->length-sizeof(*foh)); + + if (TLVP_PRESENT(tp, NM_ATT_ADD_TEXT)) { + const uint8_t *val = TLVP_VAL(tp, NM_ATT_ADD_TEXT); + p_text = talloc_strndup(sd, (const char *) val, TLVP_LEN(tp, NM_ATT_ADD_TEXT)); } - if (TLVP_PRESENT(&tp, NM_ATT_EVENT_TYPE)) - e_type = abis_nm_event_type_name(*TLVP_VAL(&tp, - NM_ATT_EVENT_TYPE)); + if (TLVP_PRESENT(tp, NM_ATT_EVENT_TYPE)) + e_type = abis_nm_event_type_name(*TLVP_VAL(tp, NM_ATT_EVENT_TYPE)); - if (TLVP_PRESENT(&tp, NM_ATT_SEVERITY)) - severity = abis_nm_severity_name(*TLVP_VAL(&tp, - NM_ATT_SEVERITY)); + if (TLVP_PRESENT(tp, NM_ATT_SEVERITY)) + severity = abis_nm_severity_name(*TLVP_VAL(tp, NM_ATT_SEVERITY)); - if (TLVP_PRESENT(&tp, NM_ATT_PROB_CAUSE)) { - p_val = TLVP_VAL(&tp, NM_ATT_PROB_CAUSE); + if (TLVP_PRESENT(tp, NM_ATT_PROB_CAUSE)) + p_val = TLVP_VAL(tp, NM_ATT_PROB_CAUSE); + sd->bts = bts; + sd->msg = mb; + sd->tp = tp; + if (e_type) + sd->parsed.event_type = e_type; + else + sd->parsed.event_type = ""; + if (severity) + sd->parsed.severity = severity; + else + sd->parsed.severity = ""; + if (p_text) + sd->parsed.additional_text = p_text; + else + sd->parsed.additional_text = ""; + sd->parsed.probable_cause = p_val; + + return sd; +} + +static int rx_fail_evt_rep(struct msgb *mb, struct gsm_bts *bts) +{ + struct nm_fail_rep_signal_data *sd; + int rc = 0; + const uint8_t *p_val; + const char *e_type, *severity, *p_text; + + sd = abis_nm_fail_evt_rep_parse(mb, bts); + e_type = sd->parsed.event_type; + severity = sd->parsed.severity; + p_text = sd->parsed.additional_text; + p_val = sd->parsed.probable_cause; + + if (p_val) { switch (p_val[0]) { case NM_PCAUSE_T_MANUF: handle_manufact_report(bts, p_val, e_type, severity, @@ -394,32 +428,14 @@ log_oml_fail_rep(bts, e_type, severity, p_val, p_text); }; } else { + struct abis_om_fom_hdr *foh = msgb_l3(mb); LOGPFOH(DNM, LOGL_ERROR, foh, "BTS%u: Failure Event Report without " "Probable Cause?!\n", bts->nr); rc = -EINVAL; } - sd.bts = bts; - sd.msg = mb; - sd.tp = &tp; - if (e_type) - sd.parsed.event_type = e_type; - else - sd.parsed.event_type = ""; - if (severity) - sd.parsed.severity = severity; - else - sd.parsed.severity = ""; - if (p_text) - sd.parsed.additional_text = p_text; - else - sd.parsed.additional_text = ""; - sd.parsed.probable_cause = p_val; - osmo_signal_dispatch(SS_NM, S_NM_FAIL_REP, &sd); - - if (p_text) - talloc_free(p_text); - + osmo_signal_dispatch(SS_NM, S_NM_FAIL_REP, sd); + talloc_free(sd); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 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 Mar 24 13:47:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Mar 2020 13:47:46 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 3: (1 comment) > Patch Set 2: > > (1 comment) > > I find the implementation a bit "inteeresting" in that it neither > > a) uses the raw input data and stores that, only generating strings during "show" time, nor > b) reuses the existing libosmocore/strrb.c code for ring-buffers of strings. > > I would say that either we store the raw/binary report data in some custom structure, but if we convert everything into strings at the time the alarm happens, then I would expect strrb.c to be usable? Thanks for the review. Patch rewritten to store the raw msgb and parse it again when running the "show" command. https://gerrit.osmocom.org/c/osmo-bsc/+/17571/2/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/2/src/osmo-bsc/osmo_bsc_main.c at 220 PS2, Line 220: entry = talloc_zero(fail_rep->bts, struct bts_oml_fail_rep); > please either return NULL if talloc fails, or OSMO_ASSERT() on the result. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 24 Mar 2020 13:47:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 13:52:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Mar 2020 13:52:52 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17493 ) Change subject: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Gerrit-Change-Number: 17493 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 13:52: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 Mar 24 13:52:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Mar 2020 13:52:54 +0000 Subject: Change in osmocom-bb[master]: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17493 ) Change subject: layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm ...................................................................... layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm GPRS (PDCH) and CBCH related frames have nothing to do with LAPDm. The former uses LLC for the user-plane data, while CBCH involves its own segmentation described in 3GPP TS 23.041 and TS 44.012. There is currently no code for handling these kinds of frames, so let's just send them to GSMTAP and release the memory (msgb). Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Related: OS#4439 --- M src/host/layer23/src/common/l1ctl.c 1 file changed, 10 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/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index b6ee455..b7d0ecd 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -319,6 +319,16 @@ dl->snr, ccch->data, sizeof(ccch->data)); } + /* Do not pass PDCH and CBCH frames to LAPDm */ + switch (chan_type) { + case RSL_CHAN_OSMO_PDCH: + case RSL_CHAN_OSMO_CBCH4: + case RSL_CHAN_OSMO_CBCH8: + /* TODO: pass directly to l23 application */ + msgb_free(msg); + return 0; + } + /* determine LAPDm entity based on SACCH or not */ if (dl->link_id & 0x40) le = &ms->lapdm_channel.lapdm_acch; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I59b4acbe22217f8989f73b79b128a43e8bcdfa2f Gerrit-Change-Number: 17493 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 Tue Mar 24 14:05:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:05:09 +0000 Subject: Change in osmo-gsm-tester[master]: ms: add optional param to specify fixed APN IP address assigned to a MS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 ) Change subject: ms: add optional param to specify fixed APN IP address assigned to a MS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 Gerrit-Change-Number: 17582 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14:05: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 Mar 24 14:09:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:09:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add num_cells param to srsENB In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 ) Change subject: srs_enb: add num_cells param to srsENB ...................................................................... Patch Set 2: Code-Review+2 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583/2/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583/2/src/osmo_gsm_tester/srs_enb.py at 253 PS2, Line 253: def num_cells(self): Avoid adding getter for no good reason if nobody's going to use them. Let's try keeping the APIs at the minimum necessary so that other object implementation don't need to provide them too later. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583/2/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl File src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583/2/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl at 89 PS2, Line 89: % if enb.get('num_cells') == '2': We could change all this into a for loop at some point. Fyi counter of the loop is available as ${loop.index}. Eg: %for trx in osmo_bts_octphy.trx_list: trx ${loop.index} %endfor -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 Gerrit-Change-Number: 17583 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14:09:11 +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 Mar 24 14:10:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:10:26 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: adding num_carriers paramter and corresponding modifier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585 ) Change subject: srs_ue: adding num_carriers paramter and corresponding modifier ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585/1/src/osmo_gsm_tester/templates/srsue.conf.tmpl File src/osmo_gsm_tester/templates/srsue.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585/1/src/osmo_gsm_tester/templates/srsue.conf.tmpl at 146 PS1, Line 146: % if ue.num_carriers == 2: We should at some point stop using so many conditionals and simply providing values, but fine for now. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b Gerrit-Change-Number: 17585 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14:10: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 Tue Mar 24 14:12:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:12:50 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: add secondary cell and set dl/ul freq in eNB/UE config ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 ) Change subject: srs_{enb,ue}: add secondary cell and set dl/ul freq in eNB/UE config accordingly ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586/1/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl File src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586/1/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl at 62 PS1, Line 62: //ul_earfcn = 20850; Is this meant to be kept commented out? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3730856003fffda4f3c3f9e835d62ddc312c4c31 Gerrit-Change-Number: 17586 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14:12:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 14:12:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:12:54 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: add secondary cell and set dl/ul freq in eNB/UE config ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 ) Change subject: srs_{enb,ue}: add secondary cell and set dl/ul freq in eNB/UE config accordingly ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3730856003fffda4f3c3f9e835d62ddc312c4c31 Gerrit-Change-Number: 17586 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14: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 Tue Mar 24 14:13:20 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 14:13:20 +0000 Subject: Change in osmo-gsm-tester[master]: ms: add optional param to specify fixed APN IP address assigned to a MS In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 ) Change subject: ms: add optional param to specify fixed APN IP address assigned to a MS ...................................................................... ms: add optional param to specify fixed APN IP address assigned to a MS this allows to specify a fixed APN address for each subscriber in the HLR. If the param is not provided in the resources config, the default allocation type is used, which is to dynamically allocate an IP in the supported range. Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 --- M src/osmo_gsm_tester/modem.py M src/osmo_gsm_tester/ms.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl 5 files changed, 12 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py index f8a9245..a1e5e97 100644 --- a/src/osmo_gsm_tester/modem.py +++ b/src/osmo_gsm_tester/modem.py @@ -367,6 +367,7 @@ self.dbg('creating from syspath %s' % self.syspath) 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.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) @@ -467,6 +468,11 @@ return self._ki return super().ki() + def apn_ipaddr(self): + if self._apn_ipaddr is not None: + return self._apn_ipaddr + return 'dynamic' + def features(self): return self._conf.get('features', []) diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py index 222a078..3276aff 100644 --- a/src/osmo_gsm_tester/ms.py +++ b/src/osmo_gsm_tester/ms.py @@ -34,6 +34,9 @@ def ki(self): return self._conf.get('ki') + def apn_ipaddr(self): + return self._conf.get('apn_ipaddr', 'dynamic') + def auth_algo(self): return self._conf.get('auth_algo', None) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 757a9c5..5862aef 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -100,6 +100,7 @@ '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, diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 0d020bc..947eb7b 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -199,7 +199,7 @@ raise log.Error("Auth algo %r selected but no KI specified" % algo_str) subscriber_id = len(self.subscriber_list) # list index - self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None}) + self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'apn_ipaddr': modem.apn_ipaddr()}) self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo_str=algo_str) diff --git a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl index c213e53..5b970bf 100644 --- a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl @@ -20,5 +20,5 @@ #ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic #ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001255,7,dynamic %for sub in epc.hss.subscribers: -ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},dynamic +ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},${sub.apn_ipaddr} %endfor -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 Gerrit-Change-Number: 17582 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 Tue Mar 24 14:15:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:15:23 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: enable console trace, use RemoteProcess class and fix params In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587 ) Change subject: srs_enb: enable console trace, use RemoteProcess class and fix params ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587/1/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587/1/src/osmo_gsm_tester/srs_enb.py at a179 PS1, Line 179: '--expert.nof_phy_threads=1', This should go ideally into a separate patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If5af43effa9145b6764a32557a20a2e1760f0486 Gerrit-Change-Number: 17587 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 24 Mar 2020 14:15: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 Tue Mar 24 14:21:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:21:19 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 369 PS1, Line 369: tp = talloc(sd, struct tlv_parsed); Can we simply have a struct tlv_parsed instead of a pointer inside struct nm_fail_rep_signal_data? This way we get rid of one extra alloc+free. https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 372 PS1, Line 372: abis_nm_tlv_parse(tp, bts, foh->data, oh->length-sizeof(*foh)); no error checking? https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 394 PS1, Line 394: sd->parsed.event_type = ""; Here you are making it point to a stack-allocated buffer. That's not probably what you want. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14:21: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 Tue Mar 24 14:27:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 24 Mar 2020 14:27:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: cosmetic: fix formatting of 'execute' statements References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17589 ) Change subject: pcu: cosmetic: fix formatting of 'execute' statements ...................................................................... pcu: cosmetic: fix formatting of 'execute' statements Change-Id: Ia5a0eca1be13cc6580329b272ed9f663938f1e60 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/17589/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 2564617..505592c 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1530,10 +1530,10 @@ execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); - execute (TC_paging_cs_from_sgsn_sign() ); - execute (TC_paging_cs_from_sgsn_ptp() ); - execute (TC_paging_ps_from_sgsn_sign() ); - execute (TC_paging_ps_from_sgsn_ptp() ); + execute( TC_paging_cs_from_sgsn_sign() ); + execute( TC_paging_cs_from_sgsn_ptp() ); + execute( TC_paging_ps_from_sgsn_sign() ); + execute( TC_paging_ps_from_sgsn_ptp() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia5a0eca1be13cc6580329b272ed9f663938f1e60 Gerrit-Change-Number: 17589 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 Mar 24 14:27:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:27:55 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 3: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/abis_nm.c at 421 PS3, Line 421: entry->mb = msgb_copy_c(entry, mb, "OML failure report"); copy_c? is this going to be freed after mainloop iteration? https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/abis_nm.c at 422 PS3, Line 422: list = &bts->oml_fail_rep; Drop this variable, it makes stuff more confusing that helping, since later on it's confusing with the "list" attribute of "struct bts_oml_fail_rep". https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c at 579 PS3, Line 579: list = &bts->oml_fail_rep; Again, drop this variable. https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c at 606 PS3, Line 606: When is this list cleared or getting smaller? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 24 Mar 2020 14:27:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 14:28:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 14:28:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: cosmetic: fix formatting of 'execute' statements In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17589 ) Change subject: pcu: cosmetic: fix formatting of 'execute' statements ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia5a0eca1be13cc6580329b272ed9f663938f1e60 Gerrit-Change-Number: 17589 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 14:28: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 Mar 24 15:31:33 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 15:31:33 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add num_cells param to srsENB In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 ) Change subject: srs_enb: add num_cells param to srsENB ...................................................................... srs_enb: add num_cells param to srsENB this is needed to support the upcoming multi-cell feature in srsENB. It's required for carrier aggregation (CA) but can also be used for (currently) two independent 4G cells. This commit adds baseline support for the parameter. Upcoming commits will add hooks to configure the cell's EARFCN, etc. Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 --- M example/defaults.conf A example/scenarios/mod-enb-ncells at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 5 files changed, 47 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index dcb84db..b1fbfbb 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -105,6 +105,7 @@ num_prb: 100 transmission_mode: 1 enable_pcap: false + num_cells: 1 srsue: enable_pcap: false diff --git a/example/scenarios/mod-enb-ncells at .conf b/example/scenarios/mod-enb-ncells at .conf new file mode 100644 index 0000000..b57b94a --- /dev/null +++ b/example/scenarios/mod-enb-ncells at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_cells: ${param1} diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 5862aef..3b805ff 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -90,6 +90,7 @@ 'enb[].addr': schema.IPV4, 'enb[].num_prb': schema.UINT, 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'enb[].num_cells': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, 'arfcn[].arfcn': schema.INT, diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 940665e..c4c72bc 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -201,6 +201,8 @@ assert self._num_prb self._txmode = int(values['enb'].get('transmission_mode', None)) assert self._txmode + self._num_cells = int(values['enb'].get('num_cells', None)) + assert self._num_cells config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) # We need to set some specific variables programatically here to match IP addresses: @@ -248,6 +250,9 @@ def num_prb(self): return self._num_prb + def num_cells(self): + return self._num_cells + def num_ports(self): if self._txmode == 1: return 1 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 3dd3fee..2d31c3d 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -86,5 +86,42 @@ rsrq_config = 4; }; } +% if enb.get('num_cells') == '2': + , + { + rf_port = 1; + cell_id = 0x02; + tac = 0x0002; + pci = 2; + root_seq_idx = 205; + dl_earfcn = 2910; + ul_earfcn = 20910; + ho_active = false; + + // CA cells + scell_list = ( + {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true} + ) + + // Cells available for handover + meas_cell_list = + ( + { + eci = 0x19C02; + dl_earfcn = 2850; + pci = 1; + } + ); + + // ReportCfg (only A3 supported) + meas_report_desc = { + a3_report_type = "RSRP"; + a3_offset = 6; + a3_hysteresis = 0; + a3_time_to_trigger = 480; + rsrq_config = 4; + }; + } +% endif // Add here more cells ); -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 Gerrit-Change-Number: 17583 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 Tue Mar 24 15:31:34 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 15:31:34 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: adding num_carriers paramter and corresponding modifier In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585 ) Change subject: srs_ue: adding num_carriers paramter and corresponding modifier ...................................................................... srs_ue: adding num_carriers paramter and corresponding modifier this allows to configure a UE to support multiple carriers Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b --- A example/scenarios/mod-srsue-ncarriers at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 3 files changed, 15 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/scenarios/mod-srsue-ncarriers at .conf b/example/scenarios/mod-srsue-ncarriers at .conf new file mode 100644 index 0000000..bb6409a --- /dev/null +++ b/example/scenarios/mod-srsue-ncarriers at .conf @@ -0,0 +1,3 @@ +modifiers: + modem: + - num_carriers: ${param1} diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 3b805ff..bb44f39 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -108,6 +108,7 @@ 'modem[].features[]': schema.MODEM_FEATURE, 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, + 'modem[].num_carriers': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 12081c5..90925b3 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -31,13 +31,18 @@ # Default is auto (yes for UHD, no for rest) ##################################################################### [rf] -dl_earfcn = 3400 +% if ue.num_carriers == 2: +dl_earfcn = 2850,3050 +% else: +dl_earfcn = 2850 +% endif freq_offset = 0 tx_gain = 80 #rx_gain = 40 #nof_radios = 1 nof_antennas = ${ue.num_antennas} +nof_carriers = ${ue.num_carriers} device_name = ${ue.rf_dev_type} @@ -138,8 +143,13 @@ # mbms_service_port: Port of the MBMS service ##################################################################### [rrc] +% if ue.num_carriers == 2: +ue_category = 7 +release = 10 +% else: #ue_category = 4 #release = 8 +% endif #feature_group = 0xe6041000 #mbms_service_id = -1 #mbms_service_port = 4321 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b Gerrit-Change-Number: 17585 Gerrit-PatchSet: 1 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 Mar 24 15:31:34 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 15:31:34 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: add secondary cell and set dl/ul freq in eNB/UE config ... In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 ) Change subject: srs_{enb,ue}: add secondary cell and set dl/ul freq in eNB/UE config accordingly ...................................................................... srs_{enb,ue}: add secondary cell and set dl/ul freq in eNB/UE config accordingly Change-Id: I3730856003fffda4f3c3f9e835d62ddc312c4c31 --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py M src/osmo_gsm_tester/templates/srsenb.conf.tmpl M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl 4 files changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index c4c72bc..ae9b12f 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -213,6 +213,7 @@ + ',tx_port2=tcp://' + self.addr() + ':2002' \ + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ + + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index fdcd6dd..3764496 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -234,6 +234,7 @@ + ',tx_port2=tcp://' + self.addr() + ':2003' \ + ',rx_port=tcp://' + self.enb.addr() + ':2000' \ + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \ + + ',tx_freq=2510e6,rx_freq=2630e6,tx_freq2=2530e6,rx_freq2=2650e6' \ + ',id=ue,base_srate='+ str(base_srate) ))) diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index d16f9d1..954b63f 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -63,7 +63,6 @@ # Default "auto". B210 USRP: 400 us, bladeRF: 0 us. ##################################################################### [rf] -dl_earfcn = 3400 tx_gain = 80 rx_gain = 40 diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 2d31c3d..cd9f4aa 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -58,8 +58,8 @@ tac = 0x0001; pci = 1; // root_seq_idx = 204; - dl_earfcn = 3400; - //ul_earfcn = 21400; + dl_earfcn = 2850; + //ul_earfcn = 20850; ho_active = false; // CA cells @@ -94,8 +94,8 @@ tac = 0x0002; pci = 2; root_seq_idx = 205; - dl_earfcn = 2910; - ul_earfcn = 20910; + dl_earfcn = 3050; + //ul_earfcn = 21050; ho_active = false; // CA cells -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3730856003fffda4f3c3f9e835d62ddc312c4c31 Gerrit-Change-Number: 17586 Gerrit-PatchSet: 1 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 Mar 24 15:40:46 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 15:40:46 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: enable console trace, use RemoteProcess class References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17590 ) Change subject: srs_enb: enable console trace, use RemoteProcess class ...................................................................... srs_enb: enable console trace, use RemoteProcess class In order for the console trace to work over SSH this commit switches to use the default RemoteProcess class. Note that srsENB now correctly handles the SIGHUP signal. Change-Id: I26391eb8409e14b34987e0b338e10613fa157e06 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/90/17590/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index ae9b12f..364b3fd 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -116,6 +116,10 @@ else: self.start_locally() + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + def start_remotely(self): self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) lib = self.inst.child('lib') @@ -155,7 +159,7 @@ '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file) - self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) self.process.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26391eb8409e14b34987e0b338e10613fa157e06 Gerrit-Change-Number: 17590 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 Mar 24 15:40:47 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 15:40:47 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: remove unneeded enb parameters References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17591 ) Change subject: srs_enb: remove unneeded enb parameters ...................................................................... srs_enb: remove unneeded enb parameters Change-Id: I1f2e18c6552fc4a6e3a68d75a85744fadf26aacb --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/91/17591/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 364b3fd..b354408 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -154,8 +154,6 @@ '--enb_files.sib_config=' + self.remote_config_sib_file, '--enb_files.rr_config=' + self.remote_config_rr_file, '--enb_files.drb_config=' + self.remote_config_drb_file, - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file) @@ -180,8 +178,6 @@ '--enb_files.sib_config=' + os.path.abspath(self.config_sib_file), '--enb_files.rr_config=' + os.path.abspath(self.config_rr_file), '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1f2e18c6552fc4a6e3a68d75a85744fadf26aacb Gerrit-Change-Number: 17591 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 Mar 24 15:40:48 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 15:40:48 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: remove num_cells getter References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17592 ) Change subject: srs_enb: remove num_cells getter ...................................................................... srs_enb: remove num_cells getter Change-Id: Ic5c45bb17440d2ee241840591baf02930a0b3470 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/92/17592/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index b354408..772b447 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -251,9 +251,6 @@ def num_prb(self): return self._num_prb - def num_cells(self): - return self._num_cells - def num_ports(self): if self._txmode == 1: return 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic5c45bb17440d2ee241840591baf02930a0b3470 Gerrit-Change-Number: 17592 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 Mar 24 15:41:17 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 24 Mar 2020 15:41:17 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting References: Message-ID: neels has uploaded this change for review. ( 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, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/93/17593/1 diff --git a/doc/examples/mobile/default.cfg b/doc/examples/mobile/default.cfg index cc81630..596a580 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-target none no shutdown diff --git a/doc/examples/mobile/multi_ms.cfg b/doc/examples/mobile/multi_ms.cfg index bef2406..4735189 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-target 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-target 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..f4682d4 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 target */ +enum audio_io_target { + /* Nothing, don't care about TCH */ + AUDIO_IO_NONE = 0, + /* Return to sender */ + AUDIO_IO_LOOPBACK, +}; + +extern const struct value_string audio_io_target_names[]; +static inline const char *audio_io_target_name(enum audio_io_target val) +{ return get_value_string(audio_io_target_names, val); } + +struct audio_settings { + enum audio_io_target io_target; +}; + 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..1898bbd 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 */ + set->audio.io_target = AUDIO_IO_NONE; + /* network search */ set->plmn_mode = PLMN_MODE_AUTO; diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 70ee703..fc9ec6f 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,16 @@ vty_out(vty, " c7-any-timeout %d%s", set->any_timeout, VTY_NEWLINE); + vty_out(vty, " audio%s", VTY_NEWLINE); + switch (set->audio.io_target) { + case AUDIO_IO_NONE: + vty_out(vty, " no io-target%s", VTY_NEWLINE); + break; + default: + vty_out(vty, " io-target %s%s", audio_io_target_name(set->audio.io_target), VTY_NEWLINE); + break; + } + /* 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 +2743,48 @@ 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_target(struct gsm_settings *set, enum audio_io_target val) +{ + /* Don't restart on unchanged value */ + if (val == set->audio.io_target) + return CMD_SUCCESS; + set->audio.io_target = val; + + /* Restart required */ + vty_restart_if_started(vty, ms); + + return CMD_SUCCESS; +} + +DEFUN(cfg_ms_audio_io_target, cfg_ms_audio_io_target_cmd, + "io-target loopback", "Set TCH frame I/O target\n" + "Return TCH frame payload back to sender\n") + +{ + struct osmocom_ms *ms = vty->index; + struct gsm_settings *set = &ms->settings; + + return set_audio_io_target(set, get_string_value(audio_io_target_names, argv[0])); +} + +DEFUN(cfg_ms_audio_no_io_target, cfg_ms_audio_no_io_target_cmd, + "no io-target", NO_STR "Disable TCH frame processing") +{ + struct osmocom_ms *ms = vty->index; + struct gsm_settings *set = &ms->settings; + + return set_audio_io_target(set, AUDIO_IO_NONE); +} + DEFUN(cfg_no_shutdown, cfg_ms_no_shutdown_cmd, "no shutdown", NO_STR "Activate and run MS") { @@ -2807,6 +2865,7 @@ break; case TESTSIM_NODE: case SUPPORT_NODE: + case AUDIO_NODE: vty->node = MS_NODE; break; default: @@ -2918,6 +2977,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 +3055,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_target_cmd); + install_element(AUDIO_NODE, &cfg_ms_audio_no_io_target_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: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 15:41:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 24 Mar 2020 15:41:48 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 3: This change is ready for review. -- 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: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 24 Mar 2020 15:41: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 Tue Mar 24 15:42:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 24 Mar 2020 15:42:31 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: neels 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 1: @fixeria, I used your audio config section but tweaked to use a value string instead of a switch, I hope you agree with it -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 24 Mar 2020 15:42: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 Tue Mar 24 15:46:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 24 Mar 2020 15:46:52 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting 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/osmocom-bb/+/17593 to look at the new patch set (#2). 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, 96 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/93/17593/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: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 19:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:06:29 +0000 Subject: Change in osmo-trx[master]: doc: switch log levels to notice References: Message-ID: dexter has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/94/17594/1 diff --git a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg index e2c67d6..58b27fb 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 e2c67d6..58b27fb 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 1b15b47..3a99491 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 7d02506..a0c5078 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 19:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:06:29 +0000 Subject: Change in osmo-trx[master]: doc: do not set the base-port of the trx References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17595 ) Change subject: doc: do not set the base-port of the trx ...................................................................... doc: do not set the base-port of the trx In current config files a base port for osmo-trx is set. Lets remove this setting so that compiled-in default (which is the same value) is used. Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 --- 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, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/95/17595/1 diff --git a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg index 58b27fb..6d787f6 100644 --- a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 egprs disable tx-sps 4 rx-sps 4 diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg index 58b27fb..6d787f6 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 egprs disable tx-sps 4 rx-sps 4 diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg index 3a99491..2e45da9 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 dev-args addr=192.168.10.2,pa=NONE,pa_power_max_dbm=23,fifo_ctrl_window=0,status_port=12345 egprs disable tx-sps 4 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 a0c5078..e47d183 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg @@ -12,7 +12,6 @@ trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 - base-port 5700 egprs disable tx-sps 4 rx-sps 4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 Gerrit-Change-Number: 17595 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 Mar 24 19:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:06:29 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... doc: apply an rssi-offset of 28 by default. Set an rssi offset of 28 in the example configs to make sure that the power control loop gets RSSI values that match at least half way the reality. Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 --- M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/96/17596/1 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 e47d183..3ba701b 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg @@ -13,6 +13,7 @@ bind-ip 127.0.0.1 remote-ip 127.0.0.1 egprs disable + rssi-offset 28.000000 tx-sps 4 rx-sps 4 clock-ref external -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 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 Mar 24 19:11:20 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:11:20 +0000 Subject: Change in libosmo-sccp[master]: doc: do not use logging level "debug" in example config References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 ) Change subject: doc: do not use logging level "debug" in example config ...................................................................... doc: do not use logging level "debug" in example config The example config for osmo-stp has some log categories set to debug. This is too verbose for an example config. 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(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/97/17597/1 diff --git a/doc/examples/osmo-stp.cfg b/doc/examples/osmo-stp.cfg index ed37672..bfdfc43 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 debug - logging level lsccp debug - logging level lsua debug - logging level lm3ua debug + logging level set-all info 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 19:14:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:14:46 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice 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/+/17597 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/97/17597/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: 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 Mar 24 19:33:35 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:33:35 +0000 Subject: Change in osmo-msc[master]: doc: do not use random ip-address for MGW References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/17598 ) Change subject: doc: do not use random ip-address for MGW ...................................................................... doc: do not use random ip-address for MGW The example configs suggest to use a random ip-address as MGW address. Lets use a loopback address here. This will suit the usual case where MGW and MSC run together on the same machine. Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c --- M doc/examples/osmo-msc/osmo-msc.cfg M doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg M doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/17598/1 diff --git a/doc/examples/osmo-msc/osmo-msc.cfg b/doc/examples/osmo-msc/osmo-msc.cfg index f80143d..83b2c6f 100644 --- a/doc/examples/osmo-msc/osmo-msc.cfg +++ b/doc/examples/osmo-msc/osmo-msc.cfg @@ -13,7 +13,7 @@ rrlp mode none mm info 1 msc - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw local-port 2728 assign-tmsi diff --git a/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg b/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg index 39ca9d4..d949ef9 100644 --- a/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg +++ b/doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg @@ -21,7 +21,7 @@ msc cs7-instance-a 0 cs7-instance-iu 0 - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw local-port 2728 assign-tmsi diff --git a/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg b/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg index 2af1726..cb1157d 100644 --- a/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg +++ b/doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg @@ -23,7 +23,7 @@ msc cs7-instance-a 0 cs7-instance-iu 1 - mgw remote-ip 10.23.24.1 + mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw local-port 2728 assign-tmsi -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2b2094fdcfed45353d9ba22cb07eed626fd143c Gerrit-Change-Number: 17598 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 Mar 24 19:37:54 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:37:54 +0000 Subject: Change in osmo-mgw[master]: doc: do not bind osmo-mgw to random ip-address References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17599 ) Change subject: doc: do not bind osmo-mgw to random ip-address ...................................................................... doc: do not bind osmo-mgw to random ip-address The example config bind the MGW to a random ip-address, lets use the loopback address here, this will suit cases where osmo-bts runs on the same machine as the MGW (nitb). For all other cases were an external BTS is used the ip-address still needs to be changed. Change-Id: Iae52c671c48953ea6b52b18c5d77347343cde0df --- M doc/examples/osmo-mgw/osmo-mgw.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/17599/1 diff --git a/doc/examples/osmo-mgw/osmo-mgw.cfg b/doc/examples/osmo-mgw/osmo-mgw.cfg index 3057369..dca858e 100644 --- a/doc/examples/osmo-mgw/osmo-mgw.cfg +++ b/doc/examples/osmo-mgw/osmo-mgw.cfg @@ -4,7 +4,7 @@ mgcp bind ip 127.0.0.1 rtp port-range 4002 16000 - rtp bind-ip 10.9.1.122 + rtp bind-ip 127.0.0.1 rtp ip-probing rtp ip-tos 184 bind port 2427 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iae52c671c48953ea6b52b18c5d77347343cde0df Gerrit-Change-Number: 17599 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 Mar 24 19:39:59 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:39:59 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss References: Message-ID: dexter has uploaded this change for review. ( 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 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/00/17600/1 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 -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 19:51:18 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Mar 2020 19:51:18 +0000 Subject: Change in osmo-ggsn[master]: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 ) Change subject: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. ...................................................................... doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. The example config for osmo-sgsn suggests to use 127.0.0.6 as bind ip, this is a bit far off, lets use 127.0.0.2 instead. Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/01/17601/1 diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index d3693e1..e1e5cbb 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -37,7 +37,7 @@ ! ggsn ggsn0 gtp state-dir /tmp - gtp bind-ip 127.0.0.6 + gtp bind-ip 127.0.0.2 apn internet gtpu-mode tun tun-device tun4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 Gerrit-Change-Number: 17601 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 Mar 24 20:00:46 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 20:00:46 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: remove hard-coded num phy thread param References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17602 ) Change subject: srs_ue: remove hard-coded num phy thread param ...................................................................... srs_ue: remove hard-coded num phy thread param Change-Id: Ia4fac188ecbe6aba393a68ec0291b51cd1441029 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/02/17602/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 3764496..2dc5ddf 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -164,7 +164,6 @@ #'strace', '-ff', args = (remote_binary, self.remote_config_file, - '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, @@ -200,7 +199,6 @@ util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) args = (binary, os.path.abspath(self.config_file), - '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia4fac188ecbe6aba393a68ec0291b51cd1441029 Gerrit-Change-Number: 17602 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 Mar 24 20:21:54 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 20:21:54 +0000 Subject: Change in osmo-gsm-tester[master]: defaults.conf: set num_carriers default value References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17603 ) Change subject: defaults.conf: set num_carriers default value ...................................................................... defaults.conf: set num_carriers default value Change-Id: Ibe94fada0a40c499dd516408756c4ef7988ccec5 --- M example/defaults.conf 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/17603/1 diff --git a/example/defaults.conf b/example/defaults.conf index b1fbfbb..2708b18 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -111,3 +111,4 @@ enable_pcap: false airplane_t_on_ms: -1 airplane_t_off_ms: -1 + num_carriers: 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibe94fada0a40c499dd516408756c4ef7988ccec5 Gerrit-Change-Number: 17603 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 Mar 24 22:01:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:01:02 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: enable console trace, use RemoteProcess class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17590 ) Change subject: srs_enb: enable console trace, use RemoteProcess class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26391eb8409e14b34987e0b338e10613fa157e06 Gerrit-Change-Number: 17590 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:01:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 22:01:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:01:15 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: remove unneeded enb parameters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17591 ) Change subject: srs_enb: remove unneeded enb parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1f2e18c6552fc4a6e3a68d75a85744fadf26aacb Gerrit-Change-Number: 17591 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:01: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 Mar 24 22:01:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:01:31 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: remove num_cells getter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17592 ) Change subject: srs_enb: remove num_cells getter ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic5c45bb17440d2ee241840591baf02930a0b3470 Gerrit-Change-Number: 17592 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:01: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 Mar 24 22:01:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:01:45 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: remove hard-coded num phy thread param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17602 ) Change subject: srs_ue: remove hard-coded num phy thread param ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia4fac188ecbe6aba393a68ec0291b51cd1441029 Gerrit-Change-Number: 17602 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:01: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 Mar 24 22:02:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:02:08 +0000 Subject: Change in osmo-gsm-tester[master]: defaults.conf: set num_carriers default value In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17603 ) Change subject: defaults.conf: set num_carriers default value ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibe94fada0a40c499dd516408756c4ef7988ccec5 Gerrit-Change-Number: 17603 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22: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 Tue Mar 24 22:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:07:23 +0000 Subject: Change in osmo-trx[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17594 ) Change subject: doc: switch log levels to notice ...................................................................... Patch Set 1: I usually use osmo-trx with info level set and it looks good for me. I like seeing the clock indications to see that everything's smoothly. I'm not against the patch though, just sharing my opinion. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:07:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 22:08:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:08:11 +0000 Subject: Change in osmo-trx[master]: doc: do not set the base-port of the trx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17595 ) Change subject: doc: do not set the base-port of the trx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 Gerrit-Change-Number: 17595 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:08: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 Mar 24 22:11:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Mar 2020 22:11:50 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: pespin 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 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/17597/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-sccp/+/17597/2//COMMIT_MSG at 9 PS2, Line 9: Lets make sure all logging levels are set to notice Commit description doesn't match the commit changes. notive vs info. -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Mar 2020 22:11:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 24 22:14:27 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 22:14:27 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: enable console trace, use RemoteProcess class In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17590 ) Change subject: srs_enb: enable console trace, use RemoteProcess class ...................................................................... srs_enb: enable console trace, use RemoteProcess class In order for the console trace to work over SSH this commit switches to use the default RemoteProcess class. Note that srsENB now correctly handles the SIGHUP signal. Change-Id: I26391eb8409e14b34987e0b338e10613fa157e06 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index ae9b12f..364b3fd 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -116,6 +116,10 @@ else: self.start_locally() + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + def start_remotely(self): self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) lib = self.inst.child('lib') @@ -155,7 +159,7 @@ '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file) - self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) self.process.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26391eb8409e14b34987e0b338e10613fa157e06 Gerrit-Change-Number: 17590 Gerrit-PatchSet: 1 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 Mar 24 22:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 22:14:28 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: remove unneeded enb parameters In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17591 ) Change subject: srs_enb: remove unneeded enb parameters ...................................................................... srs_enb: remove unneeded enb parameters Change-Id: I1f2e18c6552fc4a6e3a68d75a85744fadf26aacb --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 364b3fd..b354408 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -154,8 +154,6 @@ '--enb_files.sib_config=' + self.remote_config_sib_file, '--enb_files.rr_config=' + self.remote_config_rr_file, '--enb_files.drb_config=' + self.remote_config_drb_file, - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file) @@ -180,8 +178,6 @@ '--enb_files.sib_config=' + os.path.abspath(self.config_sib_file), '--enb_files.rr_config=' + os.path.abspath(self.config_rr_file), '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), - '--expert.nof_phy_threads=1', - '--expert.rrc_inactivity_timer=1500', '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1f2e18c6552fc4a6e3a68d75a85744fadf26aacb Gerrit-Change-Number: 17591 Gerrit-PatchSet: 1 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 Mar 24 22:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 22:14:28 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: remove num_cells getter In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17592 ) Change subject: srs_enb: remove num_cells getter ...................................................................... srs_enb: remove num_cells getter Change-Id: Ic5c45bb17440d2ee241840591baf02930a0b3470 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index b354408..772b447 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -251,9 +251,6 @@ def num_prb(self): return self._num_prb - def num_cells(self): - return self._num_cells - def num_ports(self): if self._txmode == 1: return 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic5c45bb17440d2ee241840591baf02930a0b3470 Gerrit-Change-Number: 17592 Gerrit-PatchSet: 1 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 Mar 24 22:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 22:14:28 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: remove hard-coded num phy thread param In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17602 ) Change subject: srs_ue: remove hard-coded num phy thread param ...................................................................... srs_ue: remove hard-coded num phy thread param Change-Id: Ia4fac188ecbe6aba393a68ec0291b51cd1441029 --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 3764496..2dc5ddf 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -164,7 +164,6 @@ #'strace', '-ff', args = (remote_binary, self.remote_config_file, - '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, @@ -200,7 +199,6 @@ util.create_netns(self.netns(), self.run_dir.new_dir('create_netns')) args = (binary, os.path.abspath(self.config_file), - '--phy.nof_phy_threads=1', '--gw.netns=' + self.netns(), '--log.filename=' + self.log_file, '--pcap.filename=' + self.pcap_file, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia4fac188ecbe6aba393a68ec0291b51cd1441029 Gerrit-Change-Number: 17602 Gerrit-PatchSet: 1 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 Mar 24 22:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 24 Mar 2020 22:14:28 +0000 Subject: Change in osmo-gsm-tester[master]: defaults.conf: set num_carriers default value In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17603 ) Change subject: defaults.conf: set num_carriers default value ...................................................................... defaults.conf: set num_carriers default value Change-Id: Ibe94fada0a40c499dd516408756c4ef7988ccec5 --- M example/defaults.conf 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/defaults.conf b/example/defaults.conf index b1fbfbb..2708b18 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -111,3 +111,4 @@ enable_pcap: false airplane_t_on_ms: -1 airplane_t_off_ms: -1 + num_carriers: 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibe94fada0a40c499dd516408756c4ef7988ccec5 Gerrit-Change-Number: 17603 Gerrit-PatchSet: 1 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 admin at opensuse.org Wed Mar 25 01:40:02 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 25 Mar 2020 01:40:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5e7ab67a26b13_7c5b2abd7634c5fc293237@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-pcu failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 287s] [397/417] installing util-linux-2.27.1-6ubuntu3 [ 288s] Processing triggers for mime-support (3.59ubuntu1) ... [ 288s] Processing triggers for man-db (2.7.5-1) ... [ 289s] [398/417] installing texlive-binaries-2015.20160222.37495-1 [ 291s] update-alternatives: using /usr/bin/xdvi-xaw to provide /usr/bin/xdvi.bin (xdvi.bin) in auto mode [ 291s] update-alternatives: using /usr/bin/bibtex.original to provide /usr/bin/bibtex (bibtex) in auto mode [ 291s] Processing triggers for install-info (6.1.0.dfsg.1-5) ... [ 291s] Processing triggers for man-db (2.7.5-1) ... [ 292s] Processing triggers for tex-common (6.04) ... [ 292s] update-language: texlive-base not installed and configured, doing nothing! [ 292s] texlive-base is not ready, skipping fmtutil-sys --all call [ 292s] [399/417] installing texlive-base-2015.20160320-1 [ 292s] dpkg-deb (subprocess): decompressing archive member: internal gzip read error: ': incorrect data check' [ 292s] tar: Unexpected EOF in archive [ 292s] tar: Unexpected EOF in archive [ 292s] tar: Error is not recoverable: exiting now [ 292s] dpkg-deb: error: subprocess tar returned error exit status 2 [ 292s] dpkg: error processing archive .init_b_cache/texlive-base.deb (--install): [ 292s] subprocess dpkg-deb --control returned error exit status 2 [ 292s] Errors were encountered while processing: [ 292s] .init_b_cache/texlive-base.deb [ 292s] exit ... [ 292s] ### VM INTERACTION START ### [ 296s] [ 270.625668] sysrq: SysRq : Power Off [ 296s] [ 270.637550] reboot: Power down [ 296s] ### VM INTERACTION END ### [ 296s] [ 296s] lamb02 failed "build osmo-pcu_0.8.0.88.e50c.dsc" at Wed Mar 25 01:39:57 UTC 2020. [ 296s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Mar 25 07:34:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 07:34:17 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 07:34: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 Mar 25 07:46:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 07:46:59 +0000 Subject: Change in osmo-trx[master]: doc: do not set the base-port of the trx In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17595 ) Change subject: doc: do not set the base-port of the trx ...................................................................... Patch Set 1: Code-Review-1 I am sorry, but what's the point of this change? I believe the configuration examples should contain all available options, so there is no need to refer documentation / source code every time you need to remember position / format of some option. Look at configuration examples of srsLTE - everything is listed and documented there, so you don't have to leave your text editor at all. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 Gerrit-Change-Number: 17595 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 07:46: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 Mar 25 07:55:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 07:55:17 +0000 Subject: Change in osmo-trx[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17594 ) Change subject: doc: switch log levels to notice ...................................................................... Patch Set 1: Code-Review-1 > Patch Set 1: > > I usually use osmo-trx with info level set and it looks good for me. I like seeing the clock indications to see that everything's smoothly. I'm not against the patch though, just sharing my opinion. Same here, I am fine with INFO. Clock indications can be suspended by setting DTRXCLK to NOTICE. And I don't see what a regular user would benefit from this change... among with sending us even less informative bug reports. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Mar 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 Wed Mar 25 08:08:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 08:08:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: cosmetic: fix formatting of 'execute' statements In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17589 ) Change subject: pcu: cosmetic: fix formatting of 'execute' statements ...................................................................... pcu: cosmetic: fix formatting of 'execute' statements Change-Id: Ia5a0eca1be13cc6580329b272ed9f663938f1e60 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 2564617..505592c 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1530,10 +1530,10 @@ execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); - execute (TC_paging_cs_from_sgsn_sign() ); - execute (TC_paging_cs_from_sgsn_ptp() ); - execute (TC_paging_ps_from_sgsn_sign() ); - execute (TC_paging_ps_from_sgsn_ptp() ); + execute( TC_paging_cs_from_sgsn_sign() ); + execute( TC_paging_cs_from_sgsn_ptp() ); + execute( TC_paging_ps_from_sgsn_sign() ); + execute( TC_paging_ps_from_sgsn_ptp() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia5a0eca1be13cc6580329b272ed9f663938f1e60 Gerrit-Change-Number: 17589 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 Wed Mar 25 10:32:04 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 10:32:04 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) 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, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/1 diff --git a/src/logging.c b/src/logging.c index 4d6224d..d67181c 100644 --- a/src/logging.c +++ b/src/logging.c @@ -1052,10 +1052,17 @@ 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)); + + /* Make sure that the loglevel is set to NOTICE in case + * no loglevel has been preset. */ + if (!osmo_log_info->cat[i].loglevel) + *(uint8_t*) (&osmo_log_info->cat[i].loglevel) = + LOGL_NOTICE; } } -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 10:44:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 10:44:11 +0000 Subject: Change in openbsc[master]: debug: use only LOGL_NOTICE as default loglevel References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/17605 ) Change subject: debug: use only LOGL_NOTICE as default loglevel ...................................................................... debug: use only LOGL_NOTICE as default loglevel in libcommon/debug.c one can find some of the log categories set to LOGL_INFO or even to LOGL_DEBUG. Lets use only LOGL_NOTICE to avoid too much log output Change-Id: Id2bca6ec3d29a3d10e84f9b3067be09b64a6b587 Related: OS#2577 --- M openbsc/src/libcommon/debug.c 1 file changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/05/17605/1 diff --git a/openbsc/src/libcommon/debug.c b/openbsc/src/libcommon/debug.c index f29f168..a8ce700 100644 --- a/openbsc/src/libcommon/debug.c +++ b/openbsc/src/libcommon/debug.c @@ -71,7 +71,7 @@ .name = "DNM", .description = "A-bis Network Management / O&M (NM/OML)", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DMNCC] = { .name = "DMNCC", @@ -123,27 +123,27 @@ [DGPRS] = { .name = "DGPRS", .description = "GPRS Packet Service", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DNS] = { .name = "DNS", .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DBSSGP] = { .name = "DBSSGP", .description = "GPRS BSS Gateway Protocol (BSSGP)", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DLLC] = { .name = "DLLC", .description = "GPRS Logical Link Control Protocol (LLC)", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DSNDCP] = { .name = "DSNDCP", .description = "GPRS Sub-Network Dependent Control Protocol (SNDCP)", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DNAT] = { .name = "DNAT", @@ -158,27 +158,27 @@ [DSMPP] = { .name = "DSMPP", .description = "SMPP interface for external SMS apps", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFILTER] = { .name = "DFILTER", .description = "BSC/NAT IMSI based filtering", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DRANAP] = { .name = "DRANAP", .description = "Radio Access Network Application Part Protocol", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DSUA] = { .name = "DSUA", .description = "SCCP User Adaptation Protocol", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DPCU] = { .name = "DPCU", .description = "PCU Interface", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Id2bca6ec3d29a3d10e84f9b3067be09b64a6b587 Gerrit-Change-Number: 17605 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 Mar 25 11:01:23 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 11:01:23 +0000 Subject: Change in osmo-bts[master]: logging: use only LOGL_NOTICE as defualt loglevel References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17606 ) Change subject: logging: use only LOGL_NOTICE as defualt loglevel ...................................................................... logging: use only LOGL_NOTICE as defualt loglevel some of the log categories in logging.c are set to LOGL_INFO or even to LOGL_DEBUG. This is too verbose. Lets set those categories to LOGL_NOTICE. Also the BTS manager programs (...bts_mgr.c) use LOGL_INFO by default. This should be set to LOGL_NOTICE as well Related: OS#2577 Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 --- M src/common/logging.c M src/osmo-bts-litecell15/misc/lc15bts_mgr.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr.c M src/osmo-bts-sysmo/misc/sysmobts_mgr.c 4 files changed, 23 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/06/17606/1 diff --git a/src/common/logging.c b/src/common/logging.c index 8340736..5edb3ea 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -35,13 +35,13 @@ .name = "DRSL", .description = "A-bis Radio Siganlling Link (RSL)", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DOML] = { .name = "DOML", .description = "A-bis Network Management / O&M (NM/OML)", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DRLL] = { .name = "DRLL", @@ -64,24 +64,24 @@ .name = "DPAG", .description = "Paging Subsystem", .color = "\033[1;38m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DL1C] = { .name = "DL1C", .description = "Layer 1 Control (MPH)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DL1P] = { .name = "DL1P", .description = "Layer 1 Primitives (PH)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 0, }, [DDSP] = { .name = "DDSP", .description = "DSP Trace Messages", - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DABIS] = { @@ -123,17 +123,17 @@ [DNS] = { .name = "DNS", .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DBSSGP] = { .name = "DBSSGP", .description = "GPRS BSS Gateway Protocol (BSSGP)", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DLLC] = { .name = "DLLC", .description = "GPRS Logical Link Control Protocol (LLC)", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, #endif [DSUM] = { diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr.c index ccacc1e..da21c9d 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_mgr.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr.c @@ -248,31 +248,31 @@ .name = "DTEMP", .description = "Temperature monitoring", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFW] = { .name = "DFW", .description = "Firmware management", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFIND] = { .name = "DFIND", .description = "ipaccess-find handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DCALIB] = { .name = "DCALIB", .description = "Calibration handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DSWD] = { .name = "DSWD", .description = "Software Watchdog", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c index 25948b0..66c9f28 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr.c @@ -228,31 +228,31 @@ .name = "DTEMP", .description = "Temperature monitoring", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFW] = { .name = "DFW", .description = "Firmware management", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFIND] = { .name = "DFIND", .description = "ipaccess-find handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DCALIB] = { .name = "DCALIB", .description = "Calibration handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DSWD] = { .name = "DSWD", .description = "Software Watchdog", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c index 50c9c22..dc7af3c 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c @@ -218,25 +218,25 @@ .name = "DTEMP", .description = "Temperature monitoring", .color = "\033[1;35m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFW] = { .name = "DFW", .description = "DSP/FPGA firmware management", .color = "\033[1;36m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DFIND] = { .name = "DFIND", .description = "ipaccess-find handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DCALIB] = { .name = "DCALIB", .description = "Calibration handling", .color = "\033[1;37m", - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6e7a635f9b4a93529661dafc591d512d7b7e8c75 Gerrit-Change-Number: 17606 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 Mar 25 11:07:56 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 11:07:56 +0000 Subject: Change in osmo-ggsn[master]: debug: use LOGL_NOTICE instead of LOGL_DEBUG References: Message-ID: dexter has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/07/17607/1 diff --git a/lib/debug.c b/lib/debug.c index 83423dc..b549cfe 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 11:14:32 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 11:14:32 +0000 Subject: Change in osmo-iuh[master]: hnbgw: do not use LOGL_DEBUG as default loglevel References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17608 ) Change subject: hnbgw: do not use LOGL_DEBUG as default loglevel ...................................................................... hnbgw: do not use LOGL_DEBUG as default loglevel The hnbgw application uses LOGL_DEBUG for all its log categories. This is way to verbose, lets set LOGL_NOTICE as default loglevel instead. Change-Id: If3dbed88307814764bab9e7f1821e1dc0d8be43b Related: OS#2577 --- M src/hnbgw.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/08/17608/1 diff --git a/src/hnbgw.c b/src/hnbgw.c index 70ee25b..a47decd 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -335,22 +335,22 @@ static const struct log_info_cat log_cat[] = { [DMAIN] = { - .name = "DMAIN", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DMAIN", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "Main program", }, [DHNBAP] = { - .name = "DHNBAP", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DHNBAP", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "Home Node B Application Part", }, [DRUA] = { - .name = "DRUA", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DRUA", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "RANAP User Adaptation", }, [DRANAP] = { - .name = "DRANAP", .loglevel = LOGL_DEBUG, .enabled = 1, + .name = "DRANAP", .loglevel = LOGL_NOTICE, .enabled = 1, .color = "", .description = "RAN Application Part", }, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: If3dbed88307814764bab9e7f1821e1dc0d8be43b Gerrit-Change-Number: 17608 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 Mar 25 11:26:02 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 11:26:02 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel References: Message-ID: dexter has uploaded this change for review. ( 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 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/09/17609/1 diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index 91933a2..589b226 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -29,14 +29,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] = { @@ -78,42 +78,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] = { -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 11:36:31 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 11:36:31 +0000 Subject: Change in osmo-trx[master]: debug: use LOGL_NOTICE for log category DDEV References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/17610 ) Change subject: debug: use LOGL_NOTICE for log category DDEV ...................................................................... debug: use LOGL_NOTICE for log category DDEV The log category DDEV ueses LOGL_INFO as debug level. This is too verbose, lets use LOGL_NOTICE instead Change-Id: I56d45ce5c3f55574491ffa6e4d902d6ba7499d46 Related: OS#2577 --- M CommonLibs/debug.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/10/17610/1 diff --git a/CommonLibs/debug.c b/CommonLibs/debug.c index 5e09079..b33476e 100644 --- a/CommonLibs/debug.c +++ b/CommonLibs/debug.c @@ -73,7 +73,7 @@ .name = "DDEV", .description = "Device/Driver specific code", .color = NULL, - .enabled = 1, .loglevel = LOGL_INFO, + .enabled = 1, .loglevel = LOGL_NOTICE, }, [DDEVDRV] = { .name = "DDEVDRV", -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I56d45ce5c3f55574491ffa6e4d902d6ba7499d46 Gerrit-Change-Number: 17610 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 Mar 25 12:05:52 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 12:05:52 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default 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-ggsn/+/17576 to look at the new patch set (#2). Change subject: doc: do not use random ip address for dns in default conf ...................................................................... doc: do not use random ip address for dns in default conf The default configuration has a random ip-address as first DNS server. This might cause unnedessary trouble for people who try osmo-ggsn the first time. Lets have some public DNS here, just to be sure. Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/76/17576/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder 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 Wed Mar 25 12:05:52 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 12:05:52 +0000 Subject: Change in osmo-ggsn[master]: doc: switch log levels to notice 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/+/17584 to look at the new patch set (#2). Change subject: doc: switch log levels to notice ...................................................................... doc: switch log levels to notice Some of the log levels are set to info, lets switch them to notice Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 --- M doc/examples/osmo-ggsn.cfg 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/84/17584/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I91743c870d8084b1a106b41be92661c7674a8584 Gerrit-Change-Number: 17584 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 12:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 12:10:43 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 25 Mar 2020 12:10:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 12:15:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 12:15:33 +0000 Subject: Change in osmo-ggsn[master]: doc: do not use random ip address for dns in default conf In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 ) Change subject: doc: do not use random ip address for dns in default conf ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5876a806185bb3aea356fb6996d1925b8d0d1758 Gerrit-Change-Number: 17576 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 12:15:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 12:38:49 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Mar 2020 12:38:49 +0000 Subject: Change in osmo-trx[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17594 ) Change subject: doc: switch log levels to notice ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > > Patch Set 1: > > > > I usually use osmo-trx with info level set and it looks good for me. I like seeing the clock indications to see that everything's smoothly. I'm not against the patch though, just sharing my opinion. > > Same here, I am fine with INFO. Clock indications can be suspended by setting DTRXCLK to NOTICE. And I don't see what a regular user would benefit from this change... among with sending us even less informative bug reports. The problem here is that the default config files are also installed to /etc/ by the package manager. I would argue to be frugal with log output but I also see your point. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 12:38:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 12:45:11 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 25 Mar 2020 12:45:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: adding modifier to pass arbitrary cmd line arguments References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 ) Change subject: srs_ue: adding modifier to pass arbitrary cmd line arguments ...................................................................... srs_ue: adding modifier to pass arbitrary cmd line arguments Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 --- A example/scenarios/mod-srsue-args at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_ue.py 3 files changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/11/17611/1 diff --git a/example/scenarios/mod-srsue-args at .conf b/example/scenarios/mod-srsue-args at .conf new file mode 100644 index 0000000..ce7dcd9 --- /dev/null +++ b/example/scenarios/mod-srsue-args at .conf @@ -0,0 +1,9 @@ +modifiers: + enb: +<% + modifier = " - additional_args: " + for key in context.keys(): + if 'param' in str(key): + modifier += context.get(key) + ' ' + context.write(modifier) +%> diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index bb44f39..c9e9a49 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -109,6 +109,7 @@ 'modem[].rf_dev_type': schema.STR, 'modem[].rf_dev_args': schema.STR, 'modem[].num_carriers': schema.STR, + 'modem[].additional_args': schema.STR, 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 2dc5ddf..6cd7c63 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -167,7 +167,8 @@ '--gw.netns=' + self.netns(), '--log.filename=' + self.remote_log_file, '--pcap.filename=' + self.remote_pcap_file, - '--general.metrics_csv_filename=' + self.remote_metrics_file) + '--general.metrics_csv_filename=' + self.remote_metrics_file, + self._conf.get('additional_args') if self._conf.get('additional_args') is not None else '') self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 Gerrit-Change-Number: 17611 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 Mar 25 12:45:11 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 25 Mar 2020 12:45:11 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add modifier to pass arbitrary cmd line arguments References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612 ) Change subject: srs_enb: add modifier to pass arbitrary cmd line arguments ...................................................................... srs_enb: add modifier to pass arbitrary cmd line arguments Change-Id: I3e8100e4e79acb49ee6e8bfb4f3bc2ea41c9f6b6 --- A example/scenarios/mod-srsenb-args at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py 3 files changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/12/17612/1 diff --git a/example/scenarios/mod-srsenb-args at .conf b/example/scenarios/mod-srsenb-args at .conf new file mode 100644 index 0000000..5d6983d --- /dev/null +++ b/example/scenarios/mod-srsenb-args at .conf @@ -0,0 +1,9 @@ +modifiers: + modem: +<% + modifier = " - additional_args: " + for key in context.keys(): + if 'param' in str(key): + modifier += context.get(key) + ' ' + context.write(modifier) +%> diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index c9e9a49..3473abf 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -93,6 +93,7 @@ 'enb[].num_cells': schema.UINT, 'enb[].rf_dev_type': schema.STR, 'enb[].rf_dev_args': schema.STR, + 'enb[].additional_args': schema.STR, 'arfcn[].arfcn': schema.INT, 'arfcn[].band': schema.BAND, 'modem[].type': schema.STR, diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 772b447..8cb612e 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -155,7 +155,8 @@ '--enb_files.rr_config=' + self.remote_config_rr_file, '--enb_files.drb_config=' + self.remote_config_drb_file, '--log.filename=' + self.remote_log_file, - '--pcap.filename=' + self.remote_pcap_file) + '--pcap.filename=' + self.remote_pcap_file, + self._conf.get('additional_args') if self._conf.get('additional_args') is not None else '') self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) self.suite_run.remember_to_stop(self.process) @@ -179,7 +180,8 @@ '--enb_files.rr_config=' + os.path.abspath(self.config_rr_file), '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file), '--log.filename=' + self.log_file, - '--pcap.filename=' + self.pcap_file) + '--pcap.filename=' + self.pcap_file, + self._conf.get('additional_args') if self._conf.get('additional_args') is not None else '') self.process = process.Process(self.name(), self.run_dir, args, env=env) self.suite_run.remember_to_stop(self.process) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e8100e4e79acb49ee6e8bfb4f3bc2ea41c9f6b6 Gerrit-Change-Number: 17612 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 Mar 25 13:32:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 13:32:45 +0000 Subject: Change in osmo-pcu[master]: cosmetic: rlcmac: Fix comment typo and whitespace introduced recently References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17613 ) Change subject: cosmetic: rlcmac: Fix comment typo and whitespace introduced recently ...................................................................... cosmetic: rlcmac: Fix comment typo and whitespace introduced recently Change-Id: Ie56898e11e2c9426393af0f6558d340c454fe6c4 --- M src/gsm_rlcmac.h 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/13/17613/1 diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 13afe59..39c6890 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1242,7 +1242,8 @@ AccTech_GSMT810 = 0xd, AccTech_GSMOther = 0xf } AccessTechnology_t; -/* Maximum entries in one message, Enum above, appying restrictions from section + +/* Maximum entries in one message, Enum above, applying restrictions from section 12.30 "MS Radio Access Capability 2": */ #define MAX_ACCESS_TECHNOLOGIES_COUNT 11 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie56898e11e2c9426393af0f6558d340c454fe6c4 Gerrit-Change-Number: 17613 Gerrit-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 Mar 25 13:38:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 13:38:15 +0000 Subject: Change in osmo-pcu[master]: cosmetic: rlcmac: Fix comment typo and whitespace introduced recently In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17613 ) Change subject: cosmetic: rlcmac: Fix comment typo and whitespace introduced recently ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie56898e11e2c9426393af0f6558d340c454fe6c4 Gerrit-Change-Number: 17613 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 25 Mar 2020 13:38: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 Mar 25 14:58:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 14:58:42 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: add modifier to pass arbitrary cmd line arguments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612 ) Change subject: srs_enb: add modifier to pass arbitrary cmd line arguments ...................................................................... Patch Set 1: Code-Review-2 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612/1/example/scenarios/mod-srsenb-args%40.conf File example/scenarios/mod-srsenb-args at .conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612/1/example/scenarios/mod-srsenb-args%40.conf at 3 PS1, Line 3: <% I don't like this. Let's not add fancy template features to scenarios, only param1..N variables. Rather keep it as a string in param1, and convert the string into the list/tuple of params in srs_ue.py. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612/1/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612/1/src/osmo_gsm_tester/srs_enb.py at 159 PS1, Line 159: self._conf.get('additional_args') if self._conf.get('additional_args') is not None else '') Do the conversion here from 1 string into several params -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I3e8100e4e79acb49ee6e8bfb4f3bc2ea41c9f6b6 Gerrit-Change-Number: 17612 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 14:58: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 Wed Mar 25 14:59:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 14:59:09 +0000 Subject: Change in osmo-gsm-tester[master]: srs_ue: adding modifier to pass arbitrary cmd line arguments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 ) Change subject: srs_ue: adding modifier to pass arbitrary cmd line arguments ...................................................................... Patch Set 1: Code-Review-2 Same as srs-enb patch, do the string->list conversion in the python class, not inside scenario files. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 Gerrit-Change-Number: 17611 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 14:59: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 Mar 25 14:59:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 14:59:35 +0000 Subject: Change in osmo-pcu[master]: cosmetic: rlcmac: Fix comment typo and whitespace introduced recently In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17613 ) Change subject: cosmetic: rlcmac: Fix comment typo and whitespace introduced recently ...................................................................... cosmetic: rlcmac: Fix comment typo and whitespace introduced recently Change-Id: Ie56898e11e2c9426393af0f6558d340c454fe6c4 --- M src/gsm_rlcmac.h 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 13afe59..39c6890 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -1242,7 +1242,8 @@ AccTech_GSMT810 = 0xd, AccTech_GSMOther = 0xf } AccessTechnology_t; -/* Maximum entries in one message, Enum above, appying restrictions from section + +/* Maximum entries in one message, Enum above, applying restrictions from section 12.30 "MS Radio Access Capability 2": */ #define MAX_ACCESS_TECHNOLOGIES_COUNT 11 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie56898e11e2c9426393af0f6558d340c454fe6c4 Gerrit-Change-Number: 17613 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 Mar 25 18:47:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 18:47:52 +0000 Subject: Change in osmo-pcu[master]: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17614 ) Change subject: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore ...................................................................... BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/14/17614/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 0be3b3d..efddc03 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -188,7 +188,7 @@ static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp) { - char imsi[16]; + char imsi[OSMO_IMSI_BUF_SIZE]; uint16_t pgroup; const uint8_t *mi; uint8_t mi_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 Gerrit-Change-Number: 17614 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 Mar 25 18:51:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 18:51:13 +0000 Subject: Change in osmo-pcu[master]: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17614 ) Change subject: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17614/1/src/gprs_bssgp_pcu.cpp File src/gprs_bssgp_pcu.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17614/1/src/gprs_bssgp_pcu.cpp at 191 PS1, Line 191: char imsi[OSMO_IMSI_BUF_SIZE]; #define GSM23003_IMSI_MAX_DIGITS 15 #define OSMO_IMSI_BUF_SIZE (GSM23003_IMSI_MAX_DIGITS+2) So that's 16 -> 17. It's not only comsetic apparently. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 Gerrit-Change-Number: 17614 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 18:51:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 19:02:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 19:02:01 +0000 Subject: Change in osmo-pcu[master]: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17614 ) Change subject: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 Gerrit-Change-Number: 17614 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 19: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 Wed Mar 25 19:27:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 19:27:59 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17615 ) Change subject: rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t ...................................................................... rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t This fix was spotted by wireshark.git developers while reviewing port of osmo-pcu commit e50ce6e45c4509805807d599cadf1a1b23d37f63. Related: https://code.wireshark.org/review/c/36574/ Fixes: e50ce6e45c4509805807d599cadf1a1b23d37f63 Change-Id: Ic5fc3252f61b6a042d9c3def7a6a32b311dd9d9e --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/15/17615/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index c1dc80e..a2aae90 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -4346,7 +4346,7 @@ /* Mac header */ M_TYPE (Additional_MS_Rad_Access_Cap_t, ID, AdditionalMsRadAccessCapID_t), - M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability, MS_Radio_Access_capability2_t), + M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability2, MS_Radio_Access_capability2_t), M_PADDING_BITS (Additional_MS_Rad_Access_Cap_t), CSN_DESCR_END (Additional_MS_Rad_Access_Cap_t) diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 39c6890..d0bd9f6 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -4972,7 +4972,7 @@ guint8 R; AdditionalMsRadAccessCapID_t ID; - MS_Radio_Access_capability_t MS_Radio_Access_capability; + MS_Radio_Access_capability_t MS_Radio_Access_capability2; } Additional_MS_Rad_Access_Cap_t; /* End ADDITIONAL MS RADIO ACCESS CAPABILITIES */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic5fc3252f61b6a042d9c3def7a6a32b311dd9d9e Gerrit-Change-Number: 17615 Gerrit-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 Mar 25 19:53:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 19:53:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS Paging containing TMSI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS Paging containing TMSI ...................................................................... PCU: also test GSGN originated PS Paging containing TMSI This additional couple of test cases reveals a bug in OsmoPCU. For some reason, it encodes a erroneous Packed Paging Request message when P-TMSI is present, so TITAN fails to decode it. Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 19 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/17616/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 505592c..7aa92e8 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1477,12 +1477,14 @@ /* Test PS paging over Gb (SGSN->PCU->BTS[CCCH]). */ -private function f_tc_paging_ps_from_sgsn(Nsvci bvci) runs on RAW_PCU_Test_CT { +private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) +runs on RAW_PCU_Test_CT { var GsmRrMessage rr_pag_req1; var OCT4 tlli := '00000001'O; var integer imsi_suff_rx; var integer imsi_suff_tx := 423; var hexstring imsi := f_gen_imsi(imsi_suff_tx); + var GsmTmsi tmsi := oct2int(f_rnd_octstring(4)); /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1494,8 +1496,12 @@ f_bssgp_establish(); f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); - /* Send paging request */ - BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + /* Send paging request with or without TMSI */ + if (use_ptmsi) { + BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, tmsi)); + } else { + BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + } /* Receive it on BTS side towards MS */ f_pcuif_rx_pch_pag_req1(imsi_suff_rx, rr_pag_req1); @@ -1515,6 +1521,14 @@ f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci); } +testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(0, use_ptmsi := true); +} + +testcase TC_paging_ps_from_sgsn_ptp_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvci, use_ptmsi := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1534,6 +1548,8 @@ execute( TC_paging_cs_from_sgsn_ptp() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); + execute( TC_paging_ps_from_sgsn_ptp_ptmsi() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 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 Mar 25 20:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 20:06:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS Paging containing TMSI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS Paging containing TMSI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/1/pcu/PCU_Tests_RAW.ttcn at 1487 PS1, Line 1487: var GsmTmsi tmsi := oct2int(f_rnd_octstring(4)); Move the f_rnd_octstring stuff into the use_ptmsi branch below, we don't need it otherwise. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 20:06: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 Mar 25 20:18:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 20:18:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS Paging containing TMSI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS Paging containing TMSI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/1/pcu/PCU_Tests_RAW.ttcn at 1487 PS1, Line 1487: var GsmTmsi tmsi := oct2int(f_rnd_octstring(4)); > Move the f_rnd_octstring stuff into the use_ptmsi branch below, we don't need it otherwise. I am going to match the MI received in RR Paging Request in the next change, so we will need it soon. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 20: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 Wed Mar 25 20:36:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 20:36:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS Paging containing TMSI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS Paging containing TMSI ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/1/pcu/PCU_Tests_RAW.ttcn at 1487 PS1, Line 1487: var GsmTmsi tmsi := oct2int(f_rnd_octstring(4)); > I am going to match the MI received in RR Paging Request in the next change, so we will need it soon [?] You need the variable, not setting the value in all cases -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 20:36:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 25 21:28:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 21:28:11 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... BSSGP: fix: properly encode P-TMSI in RR Paging Request The TMSI/P-TMSI IE in BSSGP PAGING-PS/CS comes without the MI type header, that must be present in RR Paging Request. Prepend it. TTCN-3 test case: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e --- M src/gprs_bssgp_pcu.cpp 1 file changed, 36 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/17/17617/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index efddc03..b8e746a 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -166,22 +166,46 @@ ms_class, egprs_ms_class, delay_csec, data, len); } +/* Returns 0 on success, suggested BSSGP cause otherwise */ +static unsigned int get_paging_mi(const uint8_t **mi, uint8_t *mi_len, + const struct tlv_parsed *tp) +{ + static uint8_t tmsi_buf[GSM48_TMSI_LEN]; + + /* Use TMSI (if present) or IMSI */ + if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { + /* Be safe against an evil SGSN - check the length */ + if (TLVP_LEN(tp, BSSGP_IE_TMSI) != GSM23003_TMSI_NUM_BYTES) { + LOGP(DBSSGP, LOGL_NOTICE, "TMSI IE has odd length (!= 4)\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } + + /* NOTE: TMSI (unlike IMSI) IE comes without MI type header */ + memcpy(tmsi_buf + 1, TLVP_VAL(tp, BSSGP_IE_TMSI), GSM23003_TMSI_NUM_BYTES); + tmsi_buf[0] = 0xf0 | GSM_MI_TYPE_TMSI; + + *mi_len = GSM48_TMSI_LEN; + *mi = tmsi_buf; + } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { + *mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); + *mi = TLVP_VAL(tp, BSSGP_IE_IMSI); + } else { + LOGP(DBSSGP, LOGL_ERROR, "Neither TMSI IE nor IMSI IE is present\n"); + return BSSGP_CAUSE_MISSING_COND_IE; + } + + return 0; +} + static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, struct tlv_parsed *tp) { const uint8_t *mi; uint8_t mi_len; + int rc; uint8_t *chan_needed = (uint8_t *)TLVP_VAL(tp, BSSGP_IE_CHAN_NEEDED); - if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { - mi_len = TLVP_LEN(tp, BSSGP_IE_TMSI); - mi = TLVP_VAL(tp, BSSGP_IE_TMSI); - } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { /* Use IMSI if TMSI not available: */ - mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - mi = TLVP_VAL(tp, BSSGP_IE_IMSI); - } else { - LOGP(DBSSGP, LOGL_ERROR, "Neither TMSI IE nor IMSI IE is present\n"); - return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); - } + if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, mi, mi_len); } @@ -212,13 +236,8 @@ return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { - mi_len = TLVP_LEN(tp, BSSGP_IE_TMSI); - mi = TLVP_VAL(tp, BSSGP_IE_TMSI); - } else { /* Use IMSI if TMSI not available: */ - mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - mi = TLVP_VAL(tp, BSSGP_IE_IMSI); - } + if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); return gprs_rlcmac_paging_request(mi, mi_len, pgroup); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 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 Mar 25 21:33:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Mar 2020 21:33:30 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17615 ) Change subject: rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic5fc3252f61b6a042d9c3def7a6a32b311dd9d9e Gerrit-Change-Number: 17615 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 25 Mar 2020 21:33: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 Mar 25 21:57:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 21:57:41 +0000 Subject: Change in osmo-pcu[master]: rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17615 ) Change subject: rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t ...................................................................... rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t This fix was spotted by wireshark.git developers while reviewing port of osmo-pcu commit e50ce6e45c4509805807d599cadf1a1b23d37f63. Related: https://code.wireshark.org/review/c/36574/ Fixes: e50ce6e45c4509805807d599cadf1a1b23d37f63 Change-Id: Ic5fc3252f61b6a042d9c3def7a6a32b311dd9d9e --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index c1dc80e..a2aae90 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -4346,7 +4346,7 @@ /* Mac header */ M_TYPE (Additional_MS_Rad_Access_Cap_t, ID, AdditionalMsRadAccessCapID_t), - M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability, MS_Radio_Access_capability2_t), + M_TYPE (Additional_MS_Rad_Access_Cap_t, MS_Radio_Access_capability2, MS_Radio_Access_capability2_t), M_PADDING_BITS (Additional_MS_Rad_Access_Cap_t), CSN_DESCR_END (Additional_MS_Rad_Access_Cap_t) diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 39c6890..d0bd9f6 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -4972,7 +4972,7 @@ guint8 R; AdditionalMsRadAccessCapID_t ID; - MS_Radio_Access_capability_t MS_Radio_Access_capability; + MS_Radio_Access_capability_t MS_Radio_Access_capability2; } Additional_MS_Rad_Access_Cap_t; /* End ADDITIONAL MS RADIO ACCESS CAPABILITIES */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic5fc3252f61b6a042d9c3def7a6a32b311dd9d9e Gerrit-Change-Number: 17615 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 Mar 25 23:09:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Mar 2020 23:09:47 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp File src/gprs_bssgp_pcu.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 173 PS1, Line 173: static uint8_t tmsi_buf[GSM48_TMSI_LEN]; OSMO_ASSERT(GSM48_TMSI_LEN > GSM23003_TMSI_NUM_BYTES) https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 180 PS1, Line 180: return BSSGP_CAUSE_COND_IE_ERR; We could try harder to succeed by trying to return the IMSI instead (fine logging an error though of course). https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 185 PS1, Line 185: tmsi_buf[0] = 0xf0 | GSM_MI_TYPE_TMSI; why is this 0xf0 needed? no define for it? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Mar 2020 23:09: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 Thu Mar 26 07:21:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 07:21:34 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp File src/gprs_bssgp_pcu.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 173 PS1, Line 173: static uint8_t tmsi_buf[GSM48_TMSI_LEN]; > OSMO_ASSERT(GSM48_TMSI_LEN > GSM23003_TMSI_NUM_BYTES) GSM48_TMSI_LEN == GSM23003_TMSI_NUM_BYTES + 1, that's exactly what we need. https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 180 PS1, Line 180: return BSSGP_CAUSE_COND_IE_ERR; > We could try harder to succeed by trying to return the IMSI instead (fine logging an error though of [?] I also thought about that. But this can be done later. At the moment I don't see an easy way to do that (using goto?). https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 185 PS1, Line 185: tmsi_buf[0] = 0xf0 | GSM_MI_TYPE_TMSI; > why is this 0xf0 needed? no define for it? In case of IMSI, this nibble is used for octet alignment. In case of TMSI it's unused and should be filled with '1'B. I think there is no define, because I copy-pasted it from libosmocore's osmo_mi_name_buf(). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 07:21:34 +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 Mar 26 09:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 09:18:41 +0000 Subject: Change in osmo-pcu[master]: pdch: fix packet_paging_request(): properly print paging MI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17618 ) Change subject: pdch: fix packet_paging_request(): properly print paging MI ...................................................................... pdch: fix packet_paging_request(): properly print paging MI This problem problem was discovered by the Undefined Behavior Sanitizer: pdch.cpp:210:4: runtime error: load of misaligned address 0x60c00002abf2 for type 'uint32_t', which requires 4 byte alignment Do not convert TMSI to number, use osmo_mi_name() from libosmocore. Also use this function to print other MI types (IMSI or IMEISV). Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 --- M src/pdch.cpp 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/17618/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 8560cb4..40cf391 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -40,6 +40,7 @@ #include #include #include + #include #include #include #include @@ -204,11 +205,12 @@ /* loop until message is full */ while (pag) { + LOGP(DRLCMAC, LOGL_DEBUG, "Paging MI - %s\n", + osmo_mi_name(pag->identity_lv + 1, pag->identity_lv[0])); + /* try to add paging */ if ((pag->identity_lv[1] & 0x07) == 4) { /* TMSI */ - LOGP(DRLCMAC, LOGL_DEBUG, "- TMSI=0x%08x\n", - ntohl(*((uint32_t *)(pag->identity_lv + 1)))); len = 1 + 1 + 1 + 32 + 2 + 1; if (pag->identity_lv[0] != 5) { LOGP(DRLCMAC, LOGL_ERROR, "TMSI paging with " @@ -217,9 +219,6 @@ } } else { /* MI */ - LOGP(DRLCMAC, LOGL_DEBUG, "- MI=%s\n", - osmo_hexdump(pag->identity_lv + 1, - pag->identity_lv[0])); len = 1 + 1 + 1 + 4 + (pag->identity_lv[0]<<3) + 2 + 1; if (pag->identity_lv[0] > 8) { LOGP(DRLCMAC, LOGL_ERROR, "Paging with " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 Gerrit-Change-Number: 17618 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 Mar 26 09:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 09:18:41 +0000 Subject: Change in osmo-pcu[master]: pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17619 ) Change subject: pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore ...................................................................... pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore Change-Id: I1d85c8eded68bc8aa8e90c33b36d335fa775ded2 --- M src/pdch.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/19/17619/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 40cf391..dd518a2 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -209,7 +209,7 @@ osmo_mi_name(pag->identity_lv + 1, pag->identity_lv[0])); /* try to add paging */ - if ((pag->identity_lv[1] & 0x07) == 4) { + if ((pag->identity_lv[1] & GSM_MI_TYPE_MASK) == GSM_MI_TYPE_TMSI) { /* TMSI */ len = 1 + 1 + 1 + 32 + 2 + 1; if (pag->identity_lv[0] != 5) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d85c8eded68bc8aa8e90c33b36d335fa775ded2 Gerrit-Change-Number: 17619 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 Mar 26 09:50:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 09:50:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS/CS Paging containing TMSI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS/CS Paging containing TMSI ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 09:50: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 Mar 26 10:43:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 10:43:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS/CS Paging containing TMSI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS/CS Paging containing TMSI ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/3/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/3/pcu/PCU_Tests_RAW.ttcn at 1483 PS3, Line 1483: f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); Shouldn't IMSI always be available? If that's the case, let's always verify it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 10:43: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 Mar 26 10:45:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 10:45:10 +0000 Subject: Change in osmo-pcu[master]: pdch: fix packet_paging_request(): properly print paging MI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17618 ) Change subject: pdch: fix packet_paging_request(): properly print paging MI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 Gerrit-Change-Number: 17618 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 10: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 Mar 26 10:46:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 10:46:30 +0000 Subject: Change in osmo-pcu[master]: pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17619 ) Change subject: pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d85c8eded68bc8aa8e90c33b36d335fa775ded2 Gerrit-Change-Number: 17619 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 10: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 Thu Mar 26 11:25:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 11:25:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS/CS Paging containing TMSI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS/CS Paging containing TMSI ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/3/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616/3/pcu/PCU_Tests_RAW.ttcn at 1483 PS3, Line 1483: f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); > Shouldn't IMSI always be available? If that's the case, let's always verify it. No, this is the _radio interface_, so we send P-TMSI if available or fall-back to IMSI. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 11:25: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 Mar 26 12:22:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 12:22:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS/CS Paging containing TMSI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS/CS Paging containing TMSI ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 12:22:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 12:46:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 12:46:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: also test GSGN originated PS/CS Paging containing TMSI In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 ) Change subject: PCU: also test GSGN originated PS/CS Paging containing TMSI ...................................................................... PCU: also test GSGN originated PS/CS Paging containing TMSI This additional couple of test cases reveals several bugs: 1) the IUT encodes a erroneous RR Paging Request message containing P-TMSI, so TITAN fails to decode it; 2) the IUT prints an invalid P-TMSI in its log output due to load of misaligned address (found by UBSan). [1] I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e [2] Icf8836f216793e342b239c8e6645aac1e82bf324 Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 --- M library/Osmocom_Gb_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 61 insertions(+), 8 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn index 518ca80..9189b3e 100644 --- a/library/Osmocom_Gb_Types.ttcn +++ b/library/Osmocom_Gb_Types.ttcn @@ -1333,6 +1333,22 @@ } } + template PDU_BSSGP ts_BSSGP_CS_PAGING_PTMSI(BssgpBvci bvci, hexstring imsi, GsmTmsi tmsi) := { + pDU_BSSGP_PAGING_CS := { + bssgpPduType := '07'O, + iMSI := ts_BSSGP_IMSI(imsi), + dRX_Parameters := t_defaultDRXparam, + paging_Field4 := { + bVCI := t_BSSGP_BVCI(bvci) + }, + tLLI := omit, + channel_needed := omit, + eMLPP_Priority := omit, + tMSI := ts_BSSGP_TMSI(tmsi), + global_CN_Id := omit + } + } + template PDU_BSSGP tr_BSSGP_PS_PAGING(BssgpBvci bvci) := { pDU_BSSGP_PAGING_PS := { bssgpPduType := '06'O, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 505592c..62ebcd6 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1364,6 +1364,14 @@ } } +private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { + 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; + } +} + /* 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. @@ -1424,13 +1432,15 @@ /* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). */ -private function f_tc_paging_cs_from_sgsn(Nsvci bvci) runs on RAW_PCU_Test_CT { +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; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1455,18 +1465,31 @@ mtc.stop; } - /* Send paging request */ - BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi)); + /* Send paging request with or without TMSI */ + if (use_ptmsi) { + tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_CS_PAGING_PTMSI(bvci, imsi, tmsi)); + } else { + BSSGP[0].send(ts_BSSGP_CS_PAGING_IMSI(bvci, imsi)); + } /* Receive it on BTS side towards MS */ f_rx_rlcmac_dl_block_exp_pkt_pag_req(dl_block); - /* Make sure that Packet Paging Request contains the same IMSI */ - f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + /* Make sure that Packet Paging Request contains the same P-TMSI/IMSI */ + if (use_ptmsi) { + f_pkt_paging_match_tmsi(dl_block.ctrl.payload.u.paging, tmsi); + } else { + f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); + } setverdict(pass); } +testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_cs_from_sgsn(0, true); +} + testcase TC_paging_cs_from_sgsn_sign() runs on RAW_PCU_Test_CT { f_tc_paging_cs_from_sgsn(0); } @@ -1477,12 +1500,14 @@ /* Test PS paging over Gb (SGSN->PCU->BTS[CCCH]). */ -private function f_tc_paging_ps_from_sgsn(Nsvci bvci) runs on RAW_PCU_Test_CT { +private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) +runs on RAW_PCU_Test_CT { var GsmRrMessage rr_pag_req1; var OCT4 tlli := '00000001'O; var integer imsi_suff_rx; var integer imsi_suff_tx := 423; var hexstring imsi := f_gen_imsi(imsi_suff_tx); + var GsmTmsi tmsi; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1494,8 +1519,13 @@ f_bssgp_establish(); f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); - /* Send paging request */ - BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + /* Send paging request with or without TMSI */ + if (use_ptmsi) { + tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, tmsi)); + } else { + BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + } /* Receive it on BTS side towards MS */ f_pcuif_rx_pch_pag_req1(imsi_suff_rx, rr_pag_req1); @@ -1504,9 +1534,14 @@ mtc.stop; } + /* TODO: match MI (P-TMSI/IMSI) of received RR Paging Request */ setverdict(pass); } +testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + f_tc_paging_ps_from_sgsn(0, true); +} + testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { f_tc_paging_ps_from_sgsn(0); } @@ -1530,8 +1565,10 @@ execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_paging_cs_from_bts() ); + execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); execute( TC_paging_cs_from_sgsn_sign() ); execute( TC_paging_cs_from_sgsn_ptp() ); + execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Gerrit-Change-Number: 17616 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 Mar 26 13:34:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 13:34:17 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: Hello pespin, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 to look at the new patch set (#4). Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS. Add a VTY command to display them conveniently. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c 4 files changed, 75 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/17571/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 13:34:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 13:34:17 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func 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/+/17588 to look at the new patch set (#2). Change subject: abis_nm: move fail report parsing to extra func ...................................................................... abis_nm: move fail report parsing to extra func Separate raw input parsing from handling the failure report. A follow-up patch will use the new parsing function to print saved failure reports to the VTY. While at it, put struct tlv_parsed inside struct nm_fail_rep_signal_data instead of a pointer, so we don't need an additional alloc. Also add error handling to the abis_nm_tlv_parse() call. Related: OS#1605 Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 --- M include/osmocom/bsc/abis_nm.h M include/osmocom/bsc/signal.h M src/osmo-bsc/abis_nm.c 3 files changed, 64 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/17588/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 26 13:34:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 13:34:30 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 369 PS1, Line 369: tp = talloc(sd, struct tlv_parsed); > Can we simply have a struct tlv_parsed instead of a pointer inside struct nm_fail_rep_signal_data? T [?] Yes, that's better. Changed. https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 372 PS1, Line 372: abis_nm_tlv_parse(tp, bts, foh->data, oh->length-sizeof(*foh)); > no error checking? Good catch. This was not present before refactoring either, but I've added it in this patch. https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 394 PS1, Line 394: sd->parsed.event_type = ""; > Here you are making it point to a stack-allocated buffer. That's not probably what you want. That's on purpose. Thanks to talloc, the heap-allocated e_type is automatically deallocated when sd gets deallocated. This means, the caller doesn't need to take care of deallocating sd->parsed.event_type or care at all whether it is on the heap or stack. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 13:34:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 13:34:44 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 13:34:44 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/abis_nm.c at 421 PS3, Line 421: entry->mb = msgb_copy_c(entry, mb, "OML failure report"); > copy_c? is this going to be freed after mainloop iteration? Using copy_c to attach it to entry, so the msgb gets deallocated together with entry (see /* Limit list size */ block below). https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/abis_nm.c at 422 PS3, Line 422: list = &bts->oml_fail_rep; > Drop this variable, it makes stuff more confusing that helping, since later on it's confusing with t [?] Ack https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c at 579 PS3, Line 579: list = &bts->oml_fail_rep; > Again, drop this variable. Ack https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c at 606 PS3, Line 606: > When is this list cleared or getting smaller? If a bts gets deallocated (maybe possible at runtime via VTY?), then the list also gets deallocated because it is attached to the bts with talloc. Other than that, the list does not get cleared or deallocated as it would make the VTY command for reading the entries useless. The size is limited in rx_fail_evt_rep(). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 26 Mar 2020 13:34:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 13:40:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 13:40:47 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 394 PS1, Line 394: sd->parsed.event_type = ""; > That's on purpose. [?] Still, this is not correct in case "". You are allocating something in the stack, then return and then later on using that content which may have already been smashed by the caller. You shouldn't access a function's stack frame after returning. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 13:40:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 13:52:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 13:52:17 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func 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/+/17588 to look at the new patch set (#3). Change subject: abis_nm: move fail report parsing to extra func ...................................................................... abis_nm: move fail report parsing to extra func Separate raw input parsing from handling the failure report. A follow-up patch will use the new parsing function to print saved failure reports to the VTY. While at it, put struct tlv_parsed inside struct nm_fail_rep_signal_data instead of a pointer, so we don't need an additional alloc. Also add error handling to the abis_nm_tlv_parse() call. Related: OS#1605 Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 --- M include/osmocom/bsc/abis_nm.h M include/osmocom/bsc/signal.h M src/osmo-bsc/abis_nm.c 3 files changed, 64 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/17588/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 3 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 Thu Mar 26 13:54:10 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 13:54:10 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17588/1/src/osmo-bsc/abis_nm.c at 394 PS1, Line 394: sd->parsed.event_type = ""; > Still, this is not correct in case "". [?] Understood now, thanks for explaining! Fixed version pushed that uses strdup. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 13:54:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 14:17:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 14:17:56 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c at 606 PS3, Line 606: > If a bts gets deallocated (maybe possible at runtime via VTY?), then the list also gets deallocated [?] So you may end up with 3000 failure reports and no way to clean it? Maybe add an optional param "reset" which resets the list after showing, as in "dmesg -c". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 26 Mar 2020 14:17:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 14:20:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 14:20:48 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 14:20: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 Mar 26 14:38:27 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 14:38:27 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: Hello pespin, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 to look at the new patch set (#6). Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS. Add a VTY command to display them conveniently and optionally clear the list. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c 4 files changed, 86 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/17571/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 14:38:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Mar 2020 14:38:30 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/3/src/osmo-bsc/bsc_vty.c at 606 PS3, Line 606: > So you may end up with 3000 failure reports and no way to clean it? This would require 60 configured BTS for the BSC, and each of them having sent 50 messages (because after that it rotates). But yes, possible... > Maybe add an optional param "reset" which resets the list after showing, as in "dmesg -c". Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 26 Mar 2020 14:38:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 15:16:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:41 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if.cpp: Add missing header ctype.h References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17620 ) Change subject: pcu_l1_if.cpp: Add missing header ctype.h ...................................................................... pcu_l1_if.cpp: Add missing header ctype.h The file uses the isdigit() function. Change-Id: Id06ea25969ad9b964b3207479604132d25160f24 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/17620/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 98b8028..deccb30 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -27,6 +27,7 @@ #include #include #include +#include extern "C" { #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id06ea25969ad9b964b3207479604132d25160f24 Gerrit-Change-Number: 17620 Gerrit-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 Mar 26 15:16:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:42 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17621 ) Change subject: gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' ...................................................................... gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' The later is only accepted when compiling as c++. Change-Id: Ib5004643d4eff3bc9d11b66ddaf262f1c0d2aef6 --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp 3 files changed, 20 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/21/17621/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index a2aae90..0d769ce 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -188,7 +188,7 @@ CSN_DESCR_END (EGPRS_AckNack_Desc_t) /*< EGPRS Ack/Nack Description IE >*/ -gint16 Egprs_Ack_Nack_Desc_w_len_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) +gint16 Egprs_Ack_Nack_Desc_w_len_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -749,7 +749,7 @@ M_UINT (Receive_N_PDU_Number_t, value, 8), CSN_DESCR_END (Receive_N_PDU_Number_t) -gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) +gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -885,7 +885,7 @@ CSN_DESCR_END (Content_t) -gint16 Content_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) +gint16 Content_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -909,7 +909,7 @@ M_REC_TARRAY (Additional_access_technologies_t, Additional_access_technologies, Additional_access_technologies_struct_t, Count_additional_access_technologies), CSN_DESCR_END (Additional_access_technologies_t) -gint16 Additional_access_technologies_Dissector(csnStream_t* ar, bitvec* vector, unsigned *readIndex, void* data) +static gint16 Additional_access_technologies_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -4951,7 +4951,7 @@ }; /* Returns 0 on success, negative on error. */ -int decode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data) +int decode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t * data) { csnStream_t ar; int ret; @@ -5076,7 +5076,7 @@ } /* Returns 0 on success, negative on error. */ -int decode_gsm_rlcmac_downlink(bitvec * vector, RlcMacDownlink_t * data) +int decode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t * data) { csnStream_t ar; /* See RLC/MAC downlink control block structure in TS 44.060 / 10.3.1 */ @@ -5288,7 +5288,7 @@ } /* Returns 0 on success, negative on error. */ -int encode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data) +int encode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t * data) { csnStream_t ar; unsigned writeIndex = 0; @@ -5400,7 +5400,7 @@ } /* Returns 0 on success, negative on error. */ -int encode_gsm_rlcmac_downlink(bitvec * vector, RlcMacDownlink_t * data) +int encode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t * data) { csnStream_t ar; int ret; @@ -5609,7 +5609,7 @@ return ret; } -void decode_gsm_rlcmac_uplink_data(bitvec * vector, RlcMacUplinkDataBlock_t * data) +void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data) { unsigned readIndex = 0; //unsigned dataLen = 0; @@ -5687,7 +5687,7 @@ } } -void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t * data) +void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data) { unsigned writeIndex = 0; @@ -5745,7 +5745,7 @@ } } -int decode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t *data) +int decode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t *data) { csnStream_t ar; int ret; @@ -5771,7 +5771,7 @@ /* This function is not actually used by osmo-pcu itself, and only needed for * the RLCMAC unit test. Having it here is better than making the internal * CSN.1 definitions (in particular, MS_Radio_Access_capability_t) non-static. */ -int encode_gsm_ra_cap(bitvec *vector, MS_Radio_Access_capability_t *data) +int encode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t *data) { unsigned writeIndex = 0; csnStream_t ar; diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index d0bd9f6..1a448e4 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -5328,11 +5328,11 @@ } EnhancedMeasurementReport_t; - int decode_gsm_rlcmac_uplink(bitvec *vector, RlcMacUplink_t *data); - int decode_gsm_rlcmac_downlink(bitvec *vector, RlcMacDownlink_t *data); - int encode_gsm_rlcmac_downlink(bitvec *vector, RlcMacDownlink_t *data); - int encode_gsm_rlcmac_uplink(bitvec *vector, RlcMacUplink_t *data); - void decode_gsm_rlcmac_uplink_data(bitvec * vector, RlcMacUplinkDataBlock_t * data); - void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t * data); - int decode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t * data); + 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); + int encode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t *data); + 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); #endif /* __PACKET_GSM_RLCMAC_H__ */ diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 200cac8..a21c22d 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -215,7 +215,7 @@ msgb_free(m); } -int encode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t * data); +int encode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data); void testRAcap(void *test_ctx) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib5004643d4eff3bc9d11b66ddaf262f1c0d2aef6 Gerrit-Change-Number: 17621 Gerrit-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 Mar 26 15:16:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:43 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Do not indent header includes inside extern C block References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17622 ) Change subject: cosmetic: Do not indent header includes inside extern C block ...................................................................... cosmetic: Do not indent header includes inside extern C block Change-Id: I3091d917a13e45b3aef8e52a53dcafa308581652 --- M src/pdch.cpp M src/tbf.cpp 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/17622/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 8560cb4..1505068 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -37,14 +37,14 @@ #include extern "C" { - #include - #include - #include - #include - #include - #include - #include - #include "coding_scheme.h" +#include +#include +#include +#include +#include +#include +#include +#include "coding_scheme.h" } #include diff --git a/src/tbf.cpp b/src/tbf.cpp index 5e222ae..444cec0 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -43,9 +43,9 @@ #include #include #include - #include - #include - #include +#include +#include +#include } #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3091d917a13e45b3aef8e52a53dcafa308581652 Gerrit-Change-Number: 17622 Gerrit-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 Mar 26 15:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:44 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.cpp: Avoid declaring variable in for loop References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17623 ) Change subject: gsm_rlcmac.cpp: Avoid declaring variable in for loop ...................................................................... gsm_rlcmac.cpp: Avoid declaring variable in for loop That's only allowed under C++. Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 --- M src/gsm_rlcmac.cpp 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/17623/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 0d769ce..3525bf0 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -5611,6 +5611,7 @@ void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data) { + unsigned i; unsigned readIndex = 0; //unsigned dataLen = 0; guint8 payload_type = bitvec_read_field(vector, &readIndex, 2); @@ -5646,7 +5647,7 @@ if(data->E_1 == 0) // Extension octet follows immediately { // Octet 3 (optional) - unsigned i = 0; + i = 0; do { data->LENGTH_INDICATOR[i] = bitvec_read_field(vector, &readIndex, 6); @@ -5673,7 +5674,7 @@ unsigned dataLen = 23 - readIndex/8; LOGPC(DRLCMACDATA, LOGL_NOTICE, "DATA[%u] = ", dataLen); assert(dataLen <= 20); - for (unsigned i = 0; i < dataLen; i++) + for (i = 0; i < dataLen; i++) { data->RLC_DATA[i] = bitvec_read_field(vector, &readIndex, 8); LOGPC(DRLCMACDATA, LOGL_NOTICE, "%02x", (unsigned)(data->RLC_DATA[i])); @@ -5689,6 +5690,7 @@ void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data) { + unsigned i; unsigned writeIndex = 0; if (data->PAYLOAD_TYPE == PAYLOAD_TYPE_DATA) @@ -5720,7 +5722,7 @@ // Octet 3 (optional) if(data->E_1 == 0) { - unsigned i = 0; + i = 0; do { bitvec_write_field(vector, &writeIndex, data->LENGTH_INDICATOR[i], 6); @@ -5736,7 +5738,7 @@ unsigned dataNumOctets = 23 - writeIndex/8; LOGPC(DRLCMACDATA, LOGL_NOTICE, "DATA[%u] = ", dataNumOctets); assert(dataNumOctets <= 20); - for (unsigned i = 0; i < dataNumOctets; i++) + for (i = 0; i < dataNumOctets; i++) { bitvec_write_field(vector, &writeIndex, data->RLC_DATA[i], 8); LOGPC(DRLCMACDATA, LOGL_NOTICE, "%02x", (unsigned)(data->RLC_DATA[i])); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 Gerrit-Change-Number: 17623 Gerrit-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 Mar 26 15:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:44 +0000 Subject: Change in osmo-pcu[master]: csn1.h: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17624 ) Change subject: csn1.h: Fix trailing whitespace ...................................................................... csn1.h: Fix trailing whitespace Change-Id: If17d36378fabeb7d22a513b93b0ecfde899df520 --- M src/csn1.h 1 file changed, 34 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/17624/1 diff --git a/src/csn1.h b/src/csn1.h index 0421b39..50cd9ef 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -285,7 +285,7 @@ * M_NEXT_EXIST_LH(Par1, Par2, Par3) * similar to the M_NEXT_EXIST except that instead of bit 0/1 which is fetched * from the message in order to find out whether the next element/elements are - * present in the message, the logical operation XOR with the background + * present in the message, the logical operation XOR with the background * pattern 0x2B is performed on the read bit before the decision is made. *****************************************************************************/ #define M_NEXT_EXIST_LH(_STRUCT, _MEMBER, _NoOfExisting)\ @@ -294,9 +294,9 @@ /****************************************************************************** * M_NEXT_EXIST_OR_NULL(Par1, Par2, Par3) * Similar to the M_NEXT_EXIST except that not only bit 0 or 1 but also the end - * of the message may be encountered when looking for the next element in the + * of the message may be encountered when looking for the next element in the * message. - * Covers the case {null | 0 | 1 < IE >} + * Covers the case {null | 0 | 1 < IE >} *****************************************************************************/ #define M_NEXT_EXIST_OR_NULL(_STRUCT, _MEMBER, _NoOfExisting)\ {CSN_NEXT_EXIST, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, 0, NULL} @@ -306,7 +306,7 @@ * Similar to the M_NEXT_EXIST_LH except that not only bit 0 or 1 but also the * end of the message may be encountered when looking for the next element in * the message. - * Covers the case {null | L | H < IE >} + * Covers the case {null | L | H < IE >} *****************************************************************************/ #define M_NEXT_EXIST_OR_NULL_LH(_STRUCT, _MEMBER, _NoOfExisting)\ {CSN_NEXT_EXIST_LH, _NoOfExisting, {(void*)1}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, 0, NULL} @@ -334,8 +334,8 @@ /****************************************************************************** * M_UINT(Par1, Par2, Par3) * This macro has the same functionality as M_UINT except that in addition the - * logical "exclusive or" operation with the background value "0x2B" is - * performed before the final value of the integer number is delivered from the + * logical "exclusive or" operation with the background value "0x2B" is + * performed before the final value of the integer number is delivered from the * received CSN.1 message *****************************************************************************/ #define M_UINT_LH(_STRUCT, _MEMBER, _BITS)\ @@ -406,16 +406,16 @@ /****************************************************************************** * M_REC_ARRAY(Par1, Par2, Par3, Par4) - * similar to the M_VAR_ARRAY. The difference is that the size of the array is + * similar to the M_VAR_ARRAY. The difference is that the size of the array is * not known in advance and it has to be calculated during unpacking. Its value - * is stored in a variable which belongs to the same structure as the array. - * A zero element terminates the array. The CSN.1 syntax describes it + * is stored in a variable which belongs to the same structure as the array. + * A zero element terminates the array. The CSN.1 syntax describes it * recursively as: - * ::={1 | 0} + * ::={1 | 0} * * Par1: C structure name * Par2: C structure element name - * Par3: name of the structure member where the calculated the size of the + * Par3: name of the structure member where the calculated the size of the * array will be stored * Par4: length of each element in bits *****************************************************************************/ @@ -476,8 +476,8 @@ * M_UNION(Par1, Par2) * Informs the CSN.1 library that a union follows and how many possible choices * there are in the union. The actual value of the choice, which points out the - * chosen element of the union is stored in the uint8 variable and is usually - * called UnionType. The elements of the union have to be listed directly after + * chosen element of the union is stored in the uint8 variable and is usually + * called UnionType. The elements of the union have to be listed directly after * the M_UNION statement. * Par1: C structure name * Par2: number of possible choice in the union @@ -494,12 +494,12 @@ /****************************************************************************** * M_CHOICE(Par1, Par2, Par3, Par4) - * Similar to the M_UNION. In the M_UNION the selected element of all possible - * choices in the union is referred as a sequential numbers, i.e., the first - * choice is addressed as choice 0 the second as choice 1, the third as choice + * Similar to the M_UNION. In the M_UNION the selected element of all possible + * choices in the union is referred as a sequential numbers, i.e., the first + * choice is addressed as choice 0 the second as choice 1, the third as choice * 2 and so on, both in the encoded message and in the variable UnionType which - * 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 + * 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. * After unpacking, this value is then converted to the sequential number of the @@ -507,14 +507,14 @@ * Par1: C structure name * Par2: C structure element name * 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 - * where the element is defined. For every element in the union - * there is one line in the Choice variable. These lines have to - * appear in the _CHOICE in the same order as the elements in the - * union. The element of the union selected in the message through - * the _CHOICE parameter is after unpacking translated to the - * corresponding sequential number of this element and stored in + * values of the selector are provided, together with the selector + * length expressed in bits and the address of the CSN_DESCR type + * where the element is defined. For every element in the union + * there is one line in the Choice variable. These lines have to + * appear in the _CHOICE in the same order as the elements in the + * union. The element of the union selected in the message through + * the _CHOICE parameter is after unpacking translated to the + * corresponding sequential number of this element and stored in * the variable pointed out by the _MEMBER * Par4: number of possible choices in the union *****************************************************************************/ @@ -523,11 +523,11 @@ /****************************************************************************** * M_FIXED(Par1, Par2, Par3) - * Defines a fixed value of type integer which should be fetched from or stored + * Defines a fixed value of type integer which should be fetched from or stored * in the message * Par1: C structure name * Par2: gives the length of the fixed number in bits. - * Par3: the value of the number. If the expected value is not present in + * Par3: the value of the number. If the expected value is not present in * the message the unpacking procedure is aborted *****************************************************************************/ #define M_FIXED(_STRUCT, _BITS, _BITVALUE)\ @@ -535,12 +535,12 @@ /****************************************************************************** * M_SERIALIZE(Par1, Par2, Par3) - * Allows using a complete free format of data being encoded or decoded. + * Allows using a complete free format of data being encoded or decoded. * When the M_SERIALIZE is encounted during encoding or decoding of a message - * the CSNstream program passes the control over to the specified function - * together with all necessary parameters about the current position within - * the message being unpacked or packed. When transferring of "serialized" - * data to or from the message is finished by the function the CSNstream gets + * the CSNstream program passes the control over to the specified function + * together with all necessary parameters about the current position within + * the message being unpacked or packed. When transferring of "serialized" + * data to or from the message is finished by the function the CSNstream gets * back control over the data stream and continues to work with the message. *****************************************************************************/ #define M_SERIALIZE(_STRUCT, _MEMBER, _LENGTH_LEN, _SERIALIZEFCN)\ @@ -551,7 +551,7 @@ /****************************************************************************** * M_BITMAP(Par1, Par2, Par3) - * Defines a type which consists of a bitmap. The size of the bitmap in bits + * Defines a type which consists of a bitmap. The size of the bitmap in bits * is fixed and provided by the parameter Par3 * Par1: C structure name * Par2: C structure element name -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17d36378fabeb7d22a513b93b0ecfde899df520 Gerrit-Change-Number: 17624 Gerrit-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 Mar 26 15:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:44 +0000 Subject: Change in osmo-pcu[master]: tbf.cpp: Include c++ header required for new operator's replace... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17625 ) Change subject: tbf.cpp: Include c++ header required for new operator's replacement type ...................................................................... tbf.cpp: Include c++ header required for new operator's replacement type Including the header is required as explained by the c++ specs [1] osmo-pcu/src/tbf.cpp: In function ?gprs_rlcmac_ul_tbf* tbf_alloc_ul_tbf(gprs_rlcmac_bts*, GprsMs*, int8_t, uint8_t, uint8_t, bool)?: osmo-pcu/src/tbf.cpp:1002:39: error: no matching function for call to ?operator new(sizetype, gprs_rlcmac_ul_tbf*&)? 1002 | new (tbf) gprs_rlcmac_ul_tbf(bts->bts); | ^ Most of the times this issue is not detected because other STL headers are already including . [1] http://www.cplusplus.com/reference/new/operator%20new/ Change-Id: Ie5fb536ae29dcf40e2a0dbe67432bebd61b8c7aa --- M src/tbf.cpp M tests/ms/MsTest.cpp 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/17625/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 444cec0..9cba354 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -19,6 +19,8 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include + #include #include #include diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 0c5ab9e..b5e30fb 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -40,6 +40,8 @@ #include #include +#include + void *tall_pcu_ctx; int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie5fb536ae29dcf40e2a0dbe67432bebd61b8c7aa Gerrit-Change-Number: 17625 Gerrit-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 Mar 26 15:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:45 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... gsm_rlcmac: Disable unused CSN1 descriptors When switching to C compiler, it will warn/error. Use #if 0 as in the original packet-gsm_csn1.c code. Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 --- M src/gsm_rlcmac.cpp 1 file changed, 130 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/17626/1 diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 3525bf0..5db8bbd 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -215,31 +215,40 @@ /**/ /**/ +#if 0 static const CSN_DESCR_BEGIN(MobileAllocationIE_t) M_UINT (MobileAllocationIE_t, Length, 8), M_VAR_ARRAY (MobileAllocationIE_t, MA, Length, 0), CSN_DESCR_END (MobileAllocationIE_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(SingleRFChannel_t) M_UINT (SingleRFChannel_t, spare, 2), M_UINT (SingleRFChannel_t, ARFCN, 10), CSN_DESCR_END (SingleRFChannel_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(RFHoppingChannel_t) M_UINT (RFHoppingChannel_t, MAIO, 6), M_UINT (RFHoppingChannel_t, HSN, 6), CSN_DESCR_END (RFHoppingChannel_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(MobileAllocation_or_Frequency_Short_List_t) M_UNION (MobileAllocation_or_Frequency_Short_List_t, 2), M_BITMAP (MobileAllocation_or_Frequency_Short_List_t, u.Frequency_Short_List, 64), M_TYPE (MobileAllocation_or_Frequency_Short_List_t, u.MA, MobileAllocationIE_t), CSN_DESCR_END (MobileAllocation_or_Frequency_Short_List_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Channel_Description_t) M_UINT (Channel_Description_t, Channel_type_and_TDMA_offset, 5), @@ -250,7 +259,9 @@ M_TYPE (Channel_Description_t, u.SingleRFChannel, SingleRFChannel_t), M_TYPE (Channel_Description_t, u.RFHoppingChannel, RFHoppingChannel_t), CSN_DESCR_END(Channel_Description_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Group_Channel_Description_t) M_TYPE (Group_Channel_Description_t, Channel_Description, Channel_Description_t), @@ -258,7 +269,9 @@ M_NEXT_EXIST (Group_Channel_Description_t, Exist_Hopping, 1), M_TYPE (Group_Channel_Description_t, MA_or_Frequency_Short_List, MobileAllocation_or_Frequency_Short_List_t), CSN_DESCR_END (Group_Channel_Description_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Group_Call_Reference_t) M_UINT (Group_Call_Reference_t, value, 27), @@ -267,7 +280,9 @@ M_UINT (Group_Call_Reference_t, call_priority, 3), M_UINT (Group_Call_Reference_t, Ciphering_information, 4), CSN_DESCR_END (Group_Call_Reference_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Group_Call_information_t) M_TYPE (Group_Call_information_t, Group_Call_Reference, Group_Call_Reference_t), @@ -275,7 +290,9 @@ M_NEXT_EXIST (Group_Call_information_t, Exist_Group_Channel_Description, 1), M_TYPE (Group_Call_information_t, Group_Channel_Description, Group_Channel_Description_t), CSN_DESCR_END (Group_Call_information_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (P1_Rest_Octets_t) M_NEXT_EXIST_LH(P1_Rest_Octets_t, Exist_NLN_PCH_and_NLN_status, 2), @@ -294,7 +311,9 @@ M_UINT_LH (P1_Rest_Octets_t, Packet_Page_Indication_1, 1), M_UINT_LH (P1_Rest_Octets_t, Packet_Page_Indication_2, 1), CSN_DESCR_END (P1_Rest_Octets_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (P2_Rest_Octets_t) M_NEXT_EXIST_LH(P2_Rest_Octets_t, Exist_CN3, 1), @@ -315,13 +334,14 @@ M_UINT_LH (P2_Rest_Octets_t, Packet_Page_Indication_3, 1), CSN_DESCR_END (P2_Rest_Octets_t) - +#endif /* * Note!! * - first two bits skipped and frequencyparameters skipped * - additions for R99 and EGPRS added */ +#if 0 static const CSN_DESCR_BEGIN(DynamicAllocation_t) M_UINT (DynamicAllocation_t, USF, 3), @@ -331,7 +351,9 @@ M_UINT (DynamicAllocation_t, P0, 4), M_UINT (DynamicAllocation_t, PR_MODE, 1), CSN_DESCR_END (DynamicAllocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(EGPRS_TwoPhaseAccess_t) M_NEXT_EXIST (EGPRS_TwoPhaseAccess_t, Exist_ALPHA, 1), @@ -346,7 +368,9 @@ M_UINT (EGPRS_TwoPhaseAccess_t, BTS_PWR_CTRL_MODE, 1), M_UINT (EGPRS_TwoPhaseAccess_t, PR_MODE, 1), CSN_DESCR_END (EGPRS_TwoPhaseAccess_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(EGPRS_OnePhaseAccess_t) M_UINT (EGPRS_OnePhaseAccess_t, TFI_ASSIGNMENT, 5), @@ -376,7 +400,9 @@ M_NEXT_EXIST (EGPRS_OnePhaseAccess_t, Exist_TBF_STARTING_TIME, 1), M_TYPE (EGPRS_OnePhaseAccess_t, TBF_STARTING_TIME, StartingTime_t), CSN_DESCR_END (EGPRS_OnePhaseAccess_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(IA_EGPRS_00_t) M_UINT (IA_EGPRS_00_t, ExtendedRA, 5), @@ -387,7 +413,9 @@ M_TYPE (IA_EGPRS_00_t, Access.TwoPhaseAccess, EGPRS_TwoPhaseAccess_t), M_TYPE (IA_EGPRS_00_t, Access.OnePhaseAccess, EGPRS_OnePhaseAccess_t), CSN_DESCR_END (IA_EGPRS_00_t) +#endif +#if 0 static const CSN_ChoiceElement_t IA_EGPRS_Choice[] = { @@ -395,11 +423,13 @@ {2, 0x01, 0, CSN_ERROR(IA_EGPRS_t, "01 ", CSN_ERROR_STREAM_NOT_SUPPORTED)}, {1, 0x01, 0, CSN_ERROR(IA_EGPRS_t, "1 ", CSN_ERROR_STREAM_NOT_SUPPORTED)} }; +#endif /* Please observe the double usage of UnionType element. * First, it is used to store the second bit of LL/LH identification of EGPRS contents. * Thereafter, UnionType will be used to store the index to detected choice. */ +#if 0 static const CSN_DESCR_BEGIN(IA_EGPRS_t) M_UINT (IA_EGPRS_t, UnionType , 1 ), @@ -412,7 +442,9 @@ M_UINT (IA_FreqParamsBeforeTime_t, MAIO, 6), M_VAR_ARRAY (IA_FreqParamsBeforeTime_t, MobileAllocation, Length, 8), CSN_DESCR_END (IA_FreqParamsBeforeTime_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (GPRS_SingleBlockAllocation_t) M_NEXT_EXIST (GPRS_SingleBlockAllocation_t, Exist_ALPHA, 1), @@ -427,7 +459,9 @@ M_UINT (GPRS_SingleBlockAllocation_t, BTS_PWR_CTRL_MODE, 1), M_UINT (GPRS_SingleBlockAllocation_t, PR_MODE, 1), CSN_DESCR_END (GPRS_SingleBlockAllocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (GPRS_DynamicOrFixedAllocation_t) M_UINT (GPRS_DynamicOrFixedAllocation_t, TFI_ASSIGNMENT, 5), @@ -451,13 +485,17 @@ M_NEXT_EXIST (GPRS_DynamicOrFixedAllocation_t, Exist_TBF_STARTING_TIME, 1), M_TYPE (GPRS_DynamicOrFixedAllocation_t, TBF_STARTING_TIME, StartingTime_t), CSN_DESCR_END (GPRS_DynamicOrFixedAllocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(PU_IA_AdditionsR99_t) M_NEXT_EXIST (PU_IA_AdditionsR99_t, Exist_ExtendedRA, 1), M_UINT (PU_IA_AdditionsR99_t, ExtendedRA, 5), CSN_DESCR_END (PU_IA_AdditionsR99_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (Packet_Uplink_ImmAssignment_t) M_UNION (Packet_Uplink_ImmAssignment_t, 2), @@ -467,7 +505,9 @@ M_NEXT_EXIST_OR_NULL_LH(Packet_Uplink_ImmAssignment_t, Exist_AdditionsR99, 1), M_TYPE (Packet_Uplink_ImmAssignment_t, AdditionsR99, PU_IA_AdditionsR99_t), CSN_DESCR_END (Packet_Uplink_ImmAssignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(PD_IA_AdditionsR99_t) M_UINT (PD_IA_AdditionsR99_t, EGPRS_WindowSize, 5), @@ -476,7 +516,9 @@ M_NEXT_EXIST (PD_IA_AdditionsR99_t, Exist_BEP_PERIOD2, 1), M_UINT (PD_IA_AdditionsR99_t, BEP_PERIOD2, 4), CSN_DESCR_END (PD_IA_AdditionsR99_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Packet_Downlink_ImmAssignment_t) M_UINT (Packet_Downlink_ImmAssignment_t, TLLI, 32), @@ -504,27 +546,34 @@ M_NEXT_EXIST_OR_NULL_LH(Packet_Downlink_ImmAssignment_t, Exist_AdditionsR99, 1), M_TYPE (Packet_Downlink_ImmAssignment_t, AdditionsR99, PD_IA_AdditionsR99_t), CSN_DESCR_END (Packet_Downlink_ImmAssignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (Second_Part_Packet_Assignment_t) M_NEXT_EXIST_OR_NULL_LH(Second_Part_Packet_Assignment_t, Exist_SecondPart, 2), M_NEXT_EXIST (Second_Part_Packet_Assignment_t, Exist_ExtendedRA, 1), M_UINT (Second_Part_Packet_Assignment_t, ExtendedRA, 5), CSN_DESCR_END (Second_Part_Packet_Assignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(IA_PacketAssignment_UL_DL_t) M_UNION (IA_PacketAssignment_UL_DL_t, 2), M_TYPE (IA_PacketAssignment_UL_DL_t, ul_dl.Packet_Uplink_ImmAssignment, Packet_Uplink_ImmAssignment_t), M_TYPE (IA_PacketAssignment_UL_DL_t, ul_dl.Packet_Downlink_ImmAssignment, Packet_Downlink_ImmAssignment_t), CSN_DESCR_END (IA_PacketAssignment_UL_DL_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(IA_PacketAssignment_t) M_UNION (IA_PacketAssignment_t, 2), M_TYPE (IA_PacketAssignment_t, u.UplinkDownlinkAssignment, IA_PacketAssignment_UL_DL_t), M_TYPE (IA_PacketAssignment_t, u.UplinkDownlinkAssignment, Second_Part_Packet_Assignment_t), CSN_DESCR_END (IA_PacketAssignment_t) +#endif /* */ static const @@ -629,27 +678,34 @@ M_TYPE (PBCCH_present_t, PBCCH_Description, PBCCH_Description_t), CSN_DESCR_END (PBCCH_present_t) +#if 0 static const CSN_DESCR_BEGIN(SI13_AdditionsR6) M_NEXT_EXIST (SI13_AdditionsR6, Exist_LB_MS_TXPWR_MAX_CCH, 1), M_UINT (SI13_AdditionsR6, LB_MS_TXPWR_MAX_CCH, 5), M_UINT (SI13_AdditionsR6, SI2n_SUPPORT, 2), CSN_DESCR_END (SI13_AdditionsR6) +#endif +#if 0 static const CSN_DESCR_BEGIN(SI13_AdditionsR4) M_UINT (SI13_AdditionsR4, SI_STATUS_IND, 1), M_NEXT_EXIST_OR_NULL_LH (SI13_AdditionsR4, Exist_AdditionsR6, 1), M_TYPE (SI13_AdditionsR4, AdditionsR6, SI13_AdditionsR6), CSN_DESCR_END (SI13_AdditionsR4) +#endif +#if 0 static const CSN_DESCR_BEGIN(SI13_AdditionR99) M_UINT (SI13_AdditionR99, SGSNR, 1), M_NEXT_EXIST_OR_NULL_LH (SI13_AdditionR99, Exist_AdditionsR4, 1), M_TYPE (SI13_AdditionR99, AdditionsR4, SI13_AdditionsR4), CSN_DESCR_END (SI13_AdditionR99) +#endif +#if 0 static const CSN_DESCR_BEGIN (SI_13_t) M_THIS_EXIST_LH (SI_13_t), @@ -668,7 +724,7 @@ M_NEXT_EXIST_OR_NULL_LH(SI_13_t, Exist_AdditionsR99, 1), M_TYPE (SI_13_t, AdditionsR99, SI13_AdditionR99), CSN_DESCR_END (SI_13_t) - +#endif /************************************************************/ /* TS 44.060 messages */ /************************************************************/ @@ -743,12 +799,15 @@ M_PADDING_BITS(Packet_Uplink_Dummy_Control_Block_t), CSN_DESCR_END (Packet_Uplink_Dummy_Control_Block_t) +#if 0 static const CSN_DESCR_BEGIN(Receive_N_PDU_Number_t) M_UINT (Receive_N_PDU_Number_t, nsapi, 4), M_UINT (Receive_N_PDU_Number_t, value, 8), CSN_DESCR_END (Receive_N_PDU_Number_t) +#endif +#if 0 gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) @@ -760,12 +819,15 @@ return csnStreamDecoder(ar, CSNDESCR(Receive_N_PDU_Number_t), vector, readIndex, data); } } +#endif +#if 0 static const CSN_DESCR_BEGIN(Receive_N_PDU_Number_list_t) M_SERIALIZE (Receive_N_PDU_Number_list_t, IEI, 7, Receive_N_PDU_Number_list_Dissector), M_VAR_TARRAY (Receive_N_PDU_Number_list_t, Receive_N_PDU_Number, Receive_N_PDU_Number_t, Count_Receive_N_PDU_Number), CSN_DESCR_END (Receive_N_PDU_Number_list_t) +#endif /*< MS Radio Access capability IE >*/ static const @@ -959,13 +1021,16 @@ CSN_DESCR_END (MS_Radio_Access_capability2_t) /*< MS Classmark 3 IE >*/ +#if 0 static const CSN_DESCR_BEGIN(ARC_t) M_UINT (ARC_t, A5_Bits, 4), M_UINT (ARC_t, Arc2_Spare, 4), M_UINT (ARC_t, Arc1, 4), CSN_DESCR_END (ARC_t) +#endif +#if 0 static const CSN_ChoiceElement_t MultibandChoice[] = { @@ -976,12 +1041,16 @@ {3, 0x02, 0, M_TYPE(Multiband_t, u.ARC, ARC_t)}, {3, 0x04, 0, M_TYPE(Multiband_t, u.ARC, ARC_t)}, }; +#endif +#if 0 static const CSN_DESCR_BEGIN(Multiband_t) M_CHOICE (Multiband_t, Multiband, MultibandChoice, ElementsOf(MultibandChoice)), CSN_DESCR_END (Multiband_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(EDGE_RF_Pwr_t) M_NEXT_EXIST (EDGE_RF_Pwr_t, ExistEDGE_RF_PwrCap1, 1), @@ -990,7 +1059,9 @@ M_NEXT_EXIST (EDGE_RF_Pwr_t, ExistEDGE_RF_PwrCap2, 1), M_UINT (EDGE_RF_Pwr_t, EDGE_RF_PwrCap2, 2), CSN_DESCR_END (EDGE_RF_Pwr_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(MS_Class3_Unpacked_t) M_UINT (MS_Class3_Unpacked_t, Spare1, 1), @@ -1080,6 +1151,7 @@ M_UINT (MS_Class3_Unpacked_t, RepeatedSACCH_Capability, 1), M_UINT (MS_Class3_Unpacked_t, Spare2, 1), CSN_DESCR_END (MS_Class3_Unpacked_t) +#endif static const CSN_DESCR_BEGIN(Channel_Request_Description_t) @@ -1845,6 +1917,7 @@ M_TYPE (Single_Block_Allocation_t, TBF_Starting_Time, Starting_Frame_Number_t), CSN_DESCR_END (Single_Block_Allocation_t) +#if 0 static const CSN_DESCR_BEGIN(DTM_Dynamic_Allocation_t) M_UINT (DTM_Dynamic_Allocation_t, Extended_Dynamic_Allocation, 1), @@ -1865,7 +1938,9 @@ M_TYPE_ARRAY (DTM_Dynamic_Allocation_t, u.Timeslot_Allocation, Timeslot_Allocation_t, 8), M_TYPE (DTM_Dynamic_Allocation_t, u.Timeslot_Allocation_Power_Ctrl_Param, Timeslot_Allocation_Power_Ctrl_Param_t), CSN_DESCR_END (DTM_Dynamic_Allocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_Single_Block_Allocation_t) M_UINT (DTM_Single_Block_Allocation_t, TIMESLOT_NUMBER, 3), @@ -1879,7 +1954,7 @@ M_UINT (DTM_Single_Block_Allocation_t, BTS_PWR_CTRL_MODE, 1), M_UINT (DTM_Single_Block_Allocation_t, PR_MODE, 1), CSN_DESCR_END (DTM_Single_Block_Allocation_t) - +#endif /* Help structures */ typedef struct @@ -1887,44 +1962,52 @@ Global_TFI_t Global_TFI; /* 0 < Global TFI : < Global TFI IE > > */ } h0_Global_TFI_t; +#if 0 static const CSN_DESCR_BEGIN(h0_Global_TFI_t) M_FIXED (h0_Global_TFI_t, 1, 0x00), M_TYPE (h0_Global_TFI_t, Global_TFI, Global_TFI_t), CSN_DESCR_END (h0_Global_TFI_t) +#endif typedef struct { guint32 TLLI;/* | 10 < TLLI : bit (32) >*/ } h10_TLLI_t; +#if 0 static const CSN_DESCR_BEGIN(h10_TLLI_t) M_FIXED (h10_TLLI_t, 2, 0x02), M_UINT (h10_TLLI_t, TLLI, 32), CSN_DESCR_END (h10_TLLI_t) +#endif typedef struct { guint16 TQI;/*| 110 < TQI : bit (16) > */ } h110_TQI_t; +#if 0 static const CSN_DESCR_BEGIN(h110_TQI_t) M_FIXED (h110_TQI_t, 3, 0x06), M_UINT (h110_TQI_t, TQI, 16), CSN_DESCR_END (h110_TQI_t) +#endif typedef struct { Packet_Request_Reference_t Packet_Request_Reference;/*| 111 < Packet Request Reference : < Packet Request Reference IE > > }*/ } h111_Packet_Request_Reference_t; +#if 0 static const CSN_DESCR_BEGIN(h111_Packet_Request_Reference_t) M_FIXED (h111_Packet_Request_Reference_t, 3, 0x07), M_TYPE (h111_Packet_Request_Reference_t, Packet_Request_Reference, Packet_Request_Reference_t), CSN_DESCR_END (h111_Packet_Request_Reference_t) +#endif static const CSN_ChoiceElement_t PacketUplinkID[] = @@ -2133,6 +2216,7 @@ typedef Packet_Downlink_Assignment_t pdlaCheck_t; +#if 0 static const CSN_DESCR_BEGIN(pdlaCheck_t) M_UINT (pdlaCheck_t, MESSAGE_TYPE, 6), @@ -2143,7 +2227,9 @@ M_TYPE (pdlaCheck_t, ID, PacketDownlinkID_t), CSN_DESCR_END (pdlaCheck_t) +#endif +#if 0 /* DTM Packet UL Assignment */ static const CSN_DESCR_BEGIN(DTM_Packet_Uplink_Assignment_t) @@ -2162,13 +2248,17 @@ M_NEXT_EXIST (DTM_Packet_Uplink_Assignment_t, Exist_Packet_Extended_Timing_Advance, 1), M_UINT (DTM_Packet_Uplink_Assignment_t, Packet_Extended_Timing_Advance, 2), CSN_DESCR_END(DTM_Packet_Uplink_Assignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_UL_t) M_TYPE (DTM_UL_t, DTM_Packet_Uplink_Assignment, DTM_Packet_Uplink_Assignment_t), CSN_DESCR_END(DTM_UL_t) +#endif /* DTM Packet DL Assignment */ +#if 0 static const CSN_DESCR_BEGIN(DTM_Packet_Downlink_Assignment_t) M_UINT (DTM_Packet_Downlink_Assignment_t, MAC_MODE, 2), @@ -2195,24 +2285,32 @@ M_NEXT_EXIST (DTM_Packet_Downlink_Assignment_t, Exist_Packet_Extended_Timing_Advance, 1), M_UINT (DTM_Packet_Downlink_Assignment_t, Packet_Extended_Timing_Advance, 2), CSN_DESCR_END(DTM_Packet_Downlink_Assignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_DL_t) M_TYPE (DTM_DL_t, DTM_Packet_Downlink_Assignment, DTM_Packet_Downlink_Assignment_t), CSN_DESCR_END(DTM_DL_t) +#endif /* GPRS Broadcast Information */ +#if 0 static const CSN_DESCR_BEGIN(DTM_GPRS_Broadcast_Information_t) M_TYPE (DTM_GPRS_Broadcast_Information_t, GPRS_Cell_Options, GPRS_Cell_Options_t), M_TYPE (DTM_GPRS_Broadcast_Information_t, GPRS_Power_Control_Parameters, GPRS_Power_Control_Parameters_t), CSN_DESCR_END(DTM_GPRS_Broadcast_Information_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_GPRS_B_t) M_TYPE (DTM_GPRS_B_t, DTM_GPRS_Broadcast_Information, DTM_GPRS_Broadcast_Information_t), CSN_DESCR_END(DTM_GPRS_B_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_Channel_Request_Description_t) M_UINT (DTM_Channel_Request_Description_t, DTM_Pkt_Est_Cause, 2), @@ -2220,6 +2318,7 @@ M_NEXT_EXIST (DTM_Channel_Request_Description_t, Exist_PFI, 1), M_UINT (DTM_Channel_Request_Description_t, PFI, 7), CSN_DESCR_END(DTM_Channel_Request_Description_t) +#endif /* DTM */ /*< Packet Paging Request message content > */ @@ -2470,6 +2569,7 @@ typedef Packet_Timeslot_Reconfigure_t PTRCheck_t; +#if 0 static const CSN_DESCR_BEGIN(PTRCheck_t) M_UINT (PTRCheck_t, MESSAGE_TYPE, 6), @@ -2477,6 +2577,7 @@ M_FIXED (PTRCheck_t, 1, 0x00),/* 0 fixed */ M_TYPE (PTRCheck_t, Global_TFI, Global_TFI_t), CSN_DESCR_END (PTRCheck_t) +#endif /*< Packet PRACH Parameters message content > */ static const @@ -2627,11 +2728,13 @@ M_CHOICE (PacketCellChangeOrderID_t, UnionType, PacketCellChangeOrderID, ElementsOf(PacketCellChangeOrderID)), CSN_DESCR_END (PacketCellChangeOrderID_t) +#if 0 static const CSN_DESCR_BEGIN(h_FreqBsicCell_t) M_UINT (h_FreqBsicCell_t, BSIC, 6), M_TYPE (h_FreqBsicCell_t, Cell_Selection, Cell_Selection_t), CSN_DESCR_END (h_FreqBsicCell_t) +#endif static const CSN_DESCR_BEGIN(CellSelectionParamsWithFreqDiff_t) /*FREQUENCY_DIFF is really an integer but the number of bits to decode it are stored in FREQ_DIFF_LENGTH*/ @@ -2735,6 +2838,7 @@ M_TYPE (GPRSMeasurementParams_PMO_PCCO_t, OffsetThreshold850, OffsetThreshold_t), CSN_DESCR_END (GPRSMeasurementParams_PMO_PCCO_t) +#if 0 static const CSN_DESCR_BEGIN(GPRSMeasurementParams3G_t) M_UINT (GPRSMeasurementParams3G_t, Qsearch_p, 4), @@ -2755,6 +2859,7 @@ M_UINT (GPRSMeasurementParams3G_t, ReportingOffsetTDD, 3), M_UINT (GPRSMeasurementParams3G_t, ReportingThresholdTDD, 3), CSN_DESCR_END (GPRSMeasurementParams3G_t) +#endif static const CSN_DESCR_BEGIN(MultiratParams3G_t) @@ -3698,6 +3803,7 @@ M_TYPE (PMR_AdditionsR99_t, AdditionsR5, PMR_AdditionsR5_t), CSN_DESCR_END (PMR_AdditionsR99_t) +#if 0 static const CSN_DESCR_BEGIN(EMR_ServingCell_t) /*CSN_MEMBER_BIT (EMR_ServingCell_t, DTX_USED),*/ @@ -3708,7 +3814,9 @@ M_UINT (EMR_ServingCell_t, CV_BEP, 3), M_UINT (EMR_ServingCell_t, NBR_RCVD_BLOCKS, 5), CSN_DESCR_END(EMR_ServingCell_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (EnhancedMeasurementReport_t) M_UINT (EnhancedMeasurementReport_t, RR_Short_PD, 1), @@ -3724,6 +3832,7 @@ M_NEXT_EXIST (EnhancedMeasurementReport_t, Exist_ReportBitmap, 1), M_VAR_TARRAY (EnhancedMeasurementReport_t, REPORTING_QUANTITY_Instances, REPORTING_QUANTITY_Instance_t, Count_REPORTING_QUANTITY_Instances), CSN_DESCR_END (EnhancedMeasurementReport_t) +#endif static const CSN_DESCR_BEGIN (Packet_Measurement_Report_t) @@ -3802,6 +3911,7 @@ CSN_DESCR_END (Packet_Enh_Measurement_Report_t) /*< Packet Measurement Order message contents >*/ +#if 0 static const CSN_DESCR_BEGIN(EXT_Frequency_List_t) M_UINT (EXT_Frequency_List_t, START_FREQUENCY, 10), @@ -3813,6 +3923,7 @@ * bit (FREQ_DIFF_LENGTH) * NR_OF_FREQUENCIES --> MAX is bit(7) * 31 */ CSN_DESCR_END (EXT_Frequency_List_t) +#endif static const CSN_DESCR_BEGIN (Packet_Measurement_Order_t) @@ -4055,26 +4166,32 @@ /* Enhanced Measurement Report */ +#if 0 static const CSN_DESCR_BEGIN (ServingCellData_t) M_UINT (ServingCellData_t, RXLEV_SERVING_CELL, 6), M_FIXED (ServingCellData_t, 1, 0), CSN_DESCR_END (ServingCellData_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (Repeated_Invalid_BSIC_Info_t) M_UINT (Repeated_Invalid_BSIC_Info_t, BCCH_FREQ_NCELL, 5), M_UINT (Repeated_Invalid_BSIC_Info_t, BSIC, 6), M_UINT (Repeated_Invalid_BSIC_Info_t, RXLEV_NCELL, 5), CSN_DESCR_END (Repeated_Invalid_BSIC_Info_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (REPORTING_QUANTITY_t) M_NEXT_EXIST (REPORTING_QUANTITY_t, Exist_REPORTING_QUANTITY, 1), M_UINT (REPORTING_QUANTITY_t, REPORTING_QUANTITY, 6), CSN_DESCR_END (REPORTING_QUANTITY_t) +#endif - +#if 0 static const CSN_DESCR_BEGIN (NC_MeasurementReport_t) M_UINT (NC_MeasurementReport_t, NC_MODE, 1), @@ -4092,7 +4209,7 @@ M_NEXT_EXIST (NC_MeasurementReport_t, Exist_Repeated_REPORTING_QUANTITY, 1), M_VAR_TARRAY (NC_MeasurementReport_t, Repeated_REPORTING_QUANTITY, REPORTING_QUANTITY_t, Count_Repeated_Reporting_Quantity), CSN_DESCR_END (NC_MeasurementReport_t) - +#endif /*< Packet Handover Command message content > */ @@ -4807,6 +4924,7 @@ /* SI1_RestOctet_t */ +#if 0 static const CSN_DESCR_BEGIN (SI1_RestOctet_t) M_NEXT_EXIST_LH(SI1_RestOctet_t, Exist_NCH_Position, 1), @@ -4814,8 +4932,10 @@ M_UINT_LH (SI1_RestOctet_t, BandIndicator, 1), CSN_DESCR_END (SI1_RestOctet_t) +#endif /* SI3_Rest_Octet_t */ +#if 0 static const CSN_DESCR_BEGIN(Selection_Parameters_t) M_UINT (Selection_Parameters_t, CBQ, 1), @@ -4847,7 +4967,9 @@ M_NEXT_EXIST_LH(SI3_Rest_Octet_t, ExistSI2quaterIndicator, 1), M_UINT (SI3_Rest_Octet_t, SI2quaterIndicator, 1), CSN_DESCR_END (SI3_Rest_Octet_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (SI4_Rest_Octet_t) M_NEXT_EXIST_LH(SI4_Rest_Octet_t, Exist_Selection_Parameters, 1), @@ -4860,9 +4982,11 @@ M_UINT (SI4_Rest_Octet_t, RA_COLOUR, 3), M_UINT (SI4_Rest_Octet_t, SI13_POSITION, 1), CSN_DESCR_END (SI4_Rest_Octet_t) +#endif /* SI6_RestOctet_t */ +#if 0 static const CSN_DESCR_BEGIN(PCH_and_NCH_Info_t) M_UINT (PCH_and_NCH_Info_t, PagingChannelRestructuring, 1), @@ -4888,7 +5012,7 @@ M_UINT_LH (SI6_RestOctet_t, BandIndicator, 1), CSN_DESCR_END (SI6_RestOctet_t) - +#endif // ---------------------------------------------------------------------------- // osmo-pcu RLCMAC APIs -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-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 Mar 26 15:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:16:45 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17627 ) Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Move gsm_rlcmac.cpp -> .c Original file from wireshark.git (packet-gsm_csn1.c) is being built and maintained as a C file. There's no real need for us to maintain it as a C++, and doing so will make both files derive over time (as already happened). Let's keep it as a C compiler (which btw seems to be more strict) to make it easier to port patches back and forth wireshark.git. Take the chance to move some declarations we added to csn1.h to be able to build it out of wireshark. Let's keep those in a separate header file to ease looking for differences. Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 --- M src/Makefile.am M src/bts.h M src/csn1.h M src/decoding.h M src/encoding.h M src/gprs_rlcmac.h R src/gsm_rlcmac.c M src/gsm_rlcmac.h M src/pdch.cpp M src/pdch.h M src/tbf.cpp A src/wireshark_compat.h M tests/rlcmac/RLCMACTest.cpp 13 files changed, 62 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/17627/1 diff --git a/src/Makefile.am b/src/Makefile.am index eb1e389..54c6f1b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -41,7 +41,7 @@ libgprs_la_SOURCES = \ gprs_debug.cpp \ csn1.c \ - gsm_rlcmac.cpp \ + gsm_rlcmac.c \ gprs_bssgp_pcu.cpp \ gprs_rlcmac.cpp \ gprs_rlcmac_sched.cpp \ @@ -106,7 +106,8 @@ gprs_codel.h \ gprs_coding_scheme.h \ coding_scheme.h \ - egprs_rlc_compression.h + egprs_rlc_compression.h \ + wireshark_compat.h osmo_pcu_SOURCES = pcu_main.cpp diff --git a/src/bts.h b/src/bts.h index 823138b..4fddc0b 100644 --- a/src/bts.h +++ b/src/bts.h @@ -29,10 +29,10 @@ #include #include #include - #include +#include "mslot_class.h" +#include "gsm_rlcmac.h" } -#include #include "poll_controller.h" #include "sba.h" #include "tbf.h" diff --git a/src/csn1.h b/src/csn1.h index 50cd9ef..a637d57 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -29,9 +29,7 @@ #define _PACKET_CSN1_H_ #include - -#define MIN(a,b) (((a)<(b))?(a):(b)) -//#define max(a,b) (((a)>(b))?(a):(b)) +#include "wireshark_compat.h" /* Error codes */ #define CSN_OK 0 @@ -46,17 +44,6 @@ #define CSN_ERROR_MESSAGE_TOO_LONG -9 #define CSN_ERROR_ -10 -#define FALSE (0) -#define TRUE (1) -typedef signed int gint32; -typedef signed short gint16; -typedef int gint; -typedef unsigned int guint; -typedef gint gboolean; -typedef unsigned char guint8; -typedef unsigned short guint16; -typedef unsigned int guint32; -typedef unsigned long guint64; /* CallBack return status */ typedef gint16 CSN_CallBackStatus_t; diff --git a/src/decoding.h b/src/decoding.h index d1371d5..4df2080 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -18,8 +18,9 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #pragma once - -#include +extern "C" { +#include "gsm_rlcmac.h" +} #include "rlc.h" #include diff --git a/src/encoding.h b/src/encoding.h index 31f74d1..2365f07 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -21,10 +21,10 @@ #pragma once #include -#include #include extern "C" { #include +#include "gsm_rlcmac.h" } struct gprs_rlcmac_tbf; diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 6d87107..789b8db 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -24,7 +24,6 @@ #include #ifdef __cplusplus -#include #include #include @@ -33,6 +32,7 @@ #include #include #include +#include "gsm_rlcmac.h" } #endif diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.c similarity index 99% rename from src/gsm_rlcmac.cpp rename to src/gsm_rlcmac.c index 5db8bbd..5a6634c 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.c @@ -29,18 +29,15 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern "C" { #include -} +#include #include "gsm_rlcmac.h" +#include "csn1.h" /* Initialize the protocol and registered fields */ -#include -#include #include #include -using namespace std; /* Payload type as defined in TS 44.060 / 10.4.7 */ #define PAYLOAD_TYPE_DATA 0 diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 1a448e4..48abac0 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -32,12 +32,8 @@ #ifndef __PACKET_GSM_RLCMAC_H__ #define __PACKET_GSM_RLCMAC_H__ -extern "C" { -#include "csn1.h" -} - -#include -#include +#include +#include "wireshark_compat.h" #ifndef PRE_PACKED #define PRE_PACKED diff --git a/src/pdch.cpp b/src/pdch.cpp index 1505068..92f5728 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -34,7 +34,6 @@ #include #include #include -#include extern "C" { #include @@ -44,7 +43,9 @@ #include #include #include + #include "coding_scheme.h" +#include "gsm_rlcmac.h" } #include diff --git a/src/pdch.h b/src/pdch.h index 821fb90..97b4b23 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -24,9 +24,9 @@ #ifdef __cplusplus extern "C" { #include +#include "gsm_rlcmac.h" } -#include #include #include #endif diff --git a/src/tbf.cpp b/src/tbf.cpp index 9cba354..73d7ea9 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -48,6 +47,8 @@ #include #include #include + +#include "gsm_rlcmac.h" } #include diff --git a/src/wireshark_compat.h b/src/wireshark_compat.h new file mode 100644 index 0000000..0b7db05 --- /dev/null +++ b/src/wireshark_compat.h @@ -0,0 +1,39 @@ +/* wireshark_compat.h + * Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* This header contains a few definitions required by rlcmac and csn1 files + * originally imported from wireshark packet-gsm_rlcmac.* and package-csn1.*, + * in order to keep code as similar as possible to ease maintainability and port + * of patches. +*/ +#pragma once + +#define MIN(a,b) (((a)<(b))?(a):(b)) +//#define max(a,b) (((a)>(b))?(a):(b)) + +#define FALSE (0) +#define TRUE (1) +typedef signed int gint32; +typedef signed short gint16; +typedef int gint; +typedef unsigned int guint; +typedef gint gboolean; +typedef unsigned char guint8; +typedef unsigned short guint16; +typedef unsigned int guint32; +typedef unsigned long guint64; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index a21c22d..0215cc8 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -24,7 +24,6 @@ #include #include #include -#include "gsm_rlcmac.h" #include "gprs_rlcmac.h" #include "decoding.h" @@ -38,6 +37,7 @@ #include #include "csn1.h" +#include "gsm_rlcmac.h" } using namespace std; @@ -215,7 +215,9 @@ msgb_free(m); } +extern "C" { int encode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data); +} void testRAcap(void *test_ctx) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-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 Mar 26 15:23:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:23:25 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17571/6/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/6/src/osmo-bsc/bsc_vty.c at 565 PS6, Line 565: "Clear the list of failure reports after showing them") AFAICT You need \n at the end of the last one (yes, the functions above are also wrong, feel ree to submit separate patch). https://gerrit.osmocom.org/c/osmo-bsc/+/17571/6/src/osmo-bsc/bsc_vty.c at 613 PS6, Line 613: struct bts_oml_fail_rep *old = llist_last_entry(&bts->oml_fail_rep, struct bts_oml_fail_rep, You can simply use llist_for_each_safe() instead of llist_empty() + llist_last_entry(), but fine. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 26 Mar 2020 15:23: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 Mar 26 15:23:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 15:23:32 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 26 Mar 2020 15:23:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 17:47:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 17:47:36 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if.cpp: Add missing header ctype.h In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17620 ) Change subject: pcu_l1_if.cpp: Add missing header ctype.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id06ea25969ad9b964b3207479604132d25160f24 Gerrit-Change-Number: 17620 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 17:47:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 18:04:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 18:04:13 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17628 ) Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description Port of patch (+ later fixes squashed) of wireshark.git commit dea5452b95dfaf18e38670a8e2b3b38f9175fdfd, from Lei Chen: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6856 Squashed wireshark.git fix commits: 774be29de0b4d93d01aecb1518c41d7d551071a9 51c31cd7bd3d8fc196a9f90a8af466ad84e9e6a8 6aca10831f86c562970b13efa811f46e25ee3091 c1ceac58cdb77051e9bd14c1f6f7669cf5779a86 Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 --- M src/csn1.c M src/csn1.h M src/gsm_rlcmac.c 3 files changed, 247 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/17628/1 diff --git a/src/csn1.c b/src/csn1.c index 7172847..636ca3a 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1433,7 +1433,13 @@ case CSN_CALLBACK: { - return ProcessError(readIndex,"csnStreamDecoder Callback not implemented", -1, pDescr); + guint16 no_of_bits; + DissectorCallbackFcn_t callback = (DissectorCallbackFcn_t)pDescr->descr.ptr; + LOGPC(DCSN1, LOGL_DEBUG, "%s = CSN_CALLBACK(%p) | ", pDescr->sz , callback); + no_of_bits = callback(vector, readIndex, pvDATA(data, pDescr->i), pvDATA(data, pDescr->offset)); + remaining_bits_len -= no_of_bits; + bit_offset += no_of_bits; + pDescr++; break; } diff --git a/src/csn1.h b/src/csn1.h index a637d57..d178ada 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -71,6 +71,8 @@ } csnStream_t; typedef gint16 (*StreamSerializeFcn_t)(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data); +typedef CSN_CallBackStatus_t (*DissectorCallbackFcn_t)(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2); + typedef enum { CSN_END = 0, diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index 5a6634c..b421624 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -37,6 +37,7 @@ /* Initialize the protocol and registered fields */ #include +#include #include /* Payload type as defined in TS 44.060 / 10.4.7 */ @@ -2637,12 +2638,27 @@ M_TYPE (Cell_Selection_Params_With_FreqDiff_t, Cell_SelectionParams, Cell_Selection_t), CSN_DESCR_END (Cell_Selection_Params_With_FreqDiff_t) +CSN_CallBackStatus_t callback_init_Cell_Selection_Params_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + Cell_Selection_Params_With_FreqDiff_t *pCell_Sel_Param = (Cell_Selection_Params_With_FreqDiff_t*)param2; + + for( i=0; i<16; i++, pCell_Sel_Param++ ) + { + pCell_Sel_Param->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} + static const CSN_DESCR_BEGIN(NeighbourCellParameters_t) M_UINT (NeighbourCellParameters_t, START_FREQUENCY, 10), M_TYPE (NeighbourCellParameters_t, Cell_Selection, Cell_Selection_t), M_UINT (NeighbourCellParameters_t, NR_OF_REMAINING_CELLS, 4), M_UINT_OFFSET(NeighbourCellParameters_t, FREQ_DIFF_LENGTH, 3, 1),/* offset 1 */ + M_CALLBACK (NeighbourCellParameters_t, callback_init_Cell_Selection_Params_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, Cell_Selection_Params_With_FreqDiff), M_VAR_TARRAY (NeighbourCellParameters_t, Cell_Selection_Params_With_FreqDiff, Cell_Selection_Params_With_FreqDiff_t, NR_OF_REMAINING_CELLS), CSN_DESCR_END (NeighbourCellParameters_t) @@ -2741,6 +2757,20 @@ M_TYPE (CellSelectionParamsWithFreqDiff_t, CellSelectionParams, Cell_Selection_2_t), CSN_DESCR_END (CellSelectionParamsWithFreqDiff_t) +CSN_CallBackStatus_t callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + CellSelectionParamsWithFreqDiff_t *pCell_Sel_Param = (CellSelectionParamsWithFreqDiff_t*)param2; + + for( i=0; i<16; i++, pCell_Sel_Param++ ) + { + pCell_Sel_Param->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} + static const CSN_DESCR_BEGIN(Add_Frequency_list_t) M_UINT (Add_Frequency_list_t, START_FREQUENCY, 10), @@ -2752,6 +2782,8 @@ M_UINT (Add_Frequency_list_t, NR_OF_FREQUENCIES, 5), M_UINT_OFFSET(Add_Frequency_list_t, FREQ_DIFF_LENGTH, 3, 1),/*offset 1*/ + M_CALLBACK (Add_Frequency_list_t, callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, CellSelectionParamsWithFreqDiff), + M_VAR_TARRAY (Add_Frequency_list_t, CellSelectionParamsWithFreqDiff, CellSelectionParamsWithFreqDiff_t, NR_OF_FREQUENCIES), CSN_DESCR_END (Add_Frequency_list_t) @@ -2923,13 +2955,99 @@ CSN_ERROR (CDMA2000_Description_t, "Not Implemented", CSN_ERROR_STREAM_NOT_SUPPORTED), CSN_DESCR_END (CDMA2000_Description_t) +#if 0 +static const guint8 NR_OF_FDD_CELLS_map[32] = {0, 10, 19, 28, 36, 44, 52, 60, 67, 74, 81, 88, 95, 102, 109, 116, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +#endif +#if 0 +static CSN_CallBackStatus_t callback_UTRAN_FDD_map_NrOfFrequencies(proto_tree *tree _U_, tvbuff_t *tvb _U_, void* param1, void* param2, + int bit_offset _U_, int ett_csn1 _U_, packet_info* pinfo _U_) +{ /* TS 44.060 Table 11.2.9b.2.a */ + guint8 *pNrOfCells = (guint8*)param1; + guint8 *pBitsInCellInfo = (guint8*)param2; + + if ( *pNrOfCells < 32 ) + { + *pBitsInCellInfo = NR_OF_FDD_CELLS_map[*pNrOfCells]; + } + else + { + *pBitsInCellInfo = 0; + } + + return 0; +} + +static CSN_CallBackStatus_t callback_UTRAN_FDD_compute_FDD_CELL_INFORMATION(proto_tree *tree, tvbuff_t *tvb, void* param1, void* param2 _U_, + int bit_offset, int ett_csn1, packet_info* pinfo _U_) +{ + proto_tree *subtree; + UTRAN_FDD_NeighbourCells_t * pUtranFddNcell = (UTRAN_FDD_NeighbourCells_t*)param1; + gint xdd_cell_info, wsize, nwi, jwi, w[64], i, iused; + gint curr_bit_offset, idx; + + curr_bit_offset = bit_offset; + idx = pUtranFddNcell->BitsInCellInfo; + + if ( idx > 0 ) + { + subtree = proto_tree_add_subtree(tree, tvb, curr_bit_offset>>3, 1, ett_csn1, NULL, "FDD_CELL_INFORMATION: "); + + if (pUtranFddNcell->Indic0) + { + proto_tree_add_uint(tree, hf_gsm_rlcmac_scrambling_code, tvb, curr_bit_offset>>3, 0, 0); + proto_tree_add_uint(tree, hf_gsm_rlcmac_diversity, tvb, curr_bit_offset>>3, 0, 0); + } + + if (idx) + { + wsize = 10; + nwi = 1; + jwi = 0; + i = 1; + + while (idx > 0) + { + w[i] = tvb_get_bits(tvb, curr_bit_offset, wsize, ENC_BIG_ENDIAN); + curr_bit_offset += wsize; + idx -= wsize; + if (w[i] == 0) + { + idx = 0; + break; + } + if (++jwi==nwi) + { + jwi = 0; + nwi <<= 1; + wsize--; + } + i++; + } + if (idx < 0) + { + curr_bit_offset += idx; + } + iused = i-1; + + for (i=1; i <= iused; i++) + { + xdd_cell_info = f_k(i, w, 1024); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_scrambling_code, tvb, curr_bit_offset>>3, 0, xdd_cell_info & 0x01FF); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_diversity, tvb, curr_bit_offset>>3, 0, (xdd_cell_info >> 9) & 0x01); + } + } + } + + return curr_bit_offset - bit_offset; +} +#endif + static const CSN_DESCR_BEGIN(UTRAN_FDD_NeighbourCells_t) M_UINT (UTRAN_FDD_NeighbourCells_t, ZERO, 1), M_UINT (UTRAN_FDD_NeighbourCells_t, UARFCN, 14), M_UINT (UTRAN_FDD_NeighbourCells_t, Indic0, 1), M_UINT (UTRAN_FDD_NeighbourCells_t, NrOfCells, 5), -/* M_CALLBACK (UTRAN_FDD_NeighbourCells_t, (void*) 14, NrOfCells, BitsInCellInfo), */ M_VAR_BITMAP (UTRAN_FDD_NeighbourCells_t, CellInfo, BitsInCellInfo, 0), CSN_DESCR_END (UTRAN_FDD_NeighbourCells_t) @@ -2940,14 +3058,101 @@ M_REC_TARRAY (UTRAN_FDD_Description_t, CellParams, UTRAN_FDD_NeighbourCells_t, NrOfFrequencies), CSN_DESCR_END (UTRAN_FDD_Description_t) +static const guint8 NR_OF_TDD_CELLS_map[32] = {0, 9, 17, 25, 32, 39, 46, 53, 59, 65, 71, 77, 83, 89, 95, 101, 106, 111, 116, 121, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +static CSN_CallBackStatus_t callback_UTRAN_TDD_map_NrOfFrequencies(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ /* TS 44.060 Table 11.2.9b.2.b */ + guint8 * pNrOfCells = (guint8*)param1; + guint8 * pBitsInCellInfo = (guint8*)param2; + + if ( *pNrOfCells < 32 ) + { + *pBitsInCellInfo = NR_OF_TDD_CELLS_map[*pNrOfCells]; + } + else + { + *pBitsInCellInfo = 0; + } + + return 0; +} + +static CSN_CallBackStatus_t callback_UTRAN_TDD_compute_TDD_CELL_INFORMATION(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ + UTRAN_TDD_NeighbourCells_t *pUtranTddNcell = (UTRAN_TDD_NeighbourCells_t *)param1; + gint wsize, nwi, jwi, w[64], i, iused; + guint bit_offset, curr_bit_offset; + gint idx; + + bit_offset = *readIndex; + curr_bit_offset = bit_offset; + idx = pUtranTddNcell->BitsInCellInfo; + + if ( idx > 0 ) + { + /* + subtree = proto_tree_add_subtree(tree, tvb, curr_bit_offset>>3, 1, ett_csn1, NULL, "TDD_CELL_INFORMATION: "); + + if (pUtranTddNcell->Indic0) + { + proto_tree_add_uint(tree, hf_gsm_rlcmac_cell_parameter, tvb, curr_bit_offset>>3, 0, 0); + proto_tree_add_uint(tree, hf_gsm_rlcmac_sync_case_tstd, tvb, curr_bit_offset>>3, 0, 0); + proto_tree_add_uint(tree, hf_gsm_rlcmac_diversity_tdd, tvb, curr_bit_offset>>3, 0, 0); + } + */ + + if (idx) + { + wsize = 10; + nwi = 1; + jwi = 0; + i = 1; + + while (idx > 0) + { + w[i] = ntohs((uint16_t)bitvec_read_field(vector, &curr_bit_offset, wsize)); + idx -= wsize; + if (w[i] == 0) + { + idx = 0; + break; + } + if (++jwi==nwi) + { + jwi = 0; + nwi <<= 1; + wsize--; + } + i++; + } + if (idx < 0) + { + curr_bit_offset += idx; + } + iused = i-1; + + for (i=1; i <= iused; i++) + { + /* + xdd_cell_info = f_k(i, w, 1024); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_cell_parameter, tvb, curr_bit_offset>>3, 0, xdd_cell_info & 0x007F); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_sync_case_tstd, tvb, curr_bit_offset>>3, 0, (xdd_cell_info >> 7) & 0x01); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_diversity_tdd, tvb, curr_bit_offset>>3, 0, (xdd_cell_info >> 8) & 0x01); + */ + } + } + } + *readIndex = curr_bit_offset; + return curr_bit_offset - bit_offset; +} + static const CSN_DESCR_BEGIN(UTRAN_TDD_NeighbourCells_t) M_UINT (UTRAN_TDD_NeighbourCells_t, ZERO, 1), M_UINT (UTRAN_TDD_NeighbourCells_t, UARFCN, 14), M_UINT (UTRAN_TDD_NeighbourCells_t, Indic0, 1), M_UINT (UTRAN_TDD_NeighbourCells_t, NrOfCells, 5), -/* M_CALLBACK (UTRAN_TDD_NeighbourCells_t, (void*) 23, NrOfCells, BitsInCellInfo), */ - M_VAR_BITMAP (UTRAN_TDD_NeighbourCells_t, CellInfo, BitsInCellInfo, 0), + M_CALLBACK (UTRAN_TDD_NeighbourCells_t, callback_UTRAN_TDD_map_NrOfFrequencies, NrOfCells, BitsInCellInfo), + M_CALLBACK (UTRAN_TDD_NeighbourCells_t, callback_UTRAN_TDD_compute_TDD_CELL_INFORMATION, ZERO, CellInfo), CSN_DESCR_END (UTRAN_TDD_NeighbourCells_t) static const @@ -3093,6 +3298,20 @@ M_TYPE (lu_ModeOnlyCellSelectionParamsWithFreqDiff_t, lu_ModeOnlyCellSelectionParams, lu_ModeOnlyCellSelection_t), CSN_DESCR_END (lu_ModeOnlyCellSelectionParamsWithFreqDiff_t) +CSN_CallBackStatus_t callback_init_luMode_Cell_Sel_Param_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + lu_ModeOnlyCellSelectionParamsWithFreqDiff_t *pArray = (lu_ModeOnlyCellSelectionParamsWithFreqDiff_t*)param2; + + for( i=0; i<16; i++, pArray++ ) + { + pArray->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} + static const CSN_DESCR_BEGIN(Add_lu_ModeOnlyFrequencyList_t) M_UINT (Add_lu_ModeOnlyFrequencyList_t, START_FREQUENCY, 10), @@ -3104,6 +3323,8 @@ M_UINT (Add_lu_ModeOnlyFrequencyList_t, NR_OF_FREQUENCIES, 5), M_UINT (Add_lu_ModeOnlyFrequencyList_t, FREQ_DIFF_LENGTH, 3), + M_CALLBACK (Add_lu_ModeOnlyFrequencyList_t, callback_init_luMode_Cell_Sel_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, lu_ModeOnlyCellSelectionParamsWithFreqDiff), + M_VAR_TARRAY (Add_lu_ModeOnlyFrequencyList_t, lu_ModeOnlyCellSelectionParamsWithFreqDiff, lu_ModeOnlyCellSelectionParamsWithFreqDiff_t, NR_OF_FREQUENCIES), CSN_DESCR_END (Add_lu_ModeOnlyFrequencyList_t) @@ -4692,13 +4913,23 @@ static const CSN_DESCR_BEGIN(COMPACT_Neighbour_Cell_Param_Remaining_t) - /* this FREQ_DIFF_LENGTH is not initialised, it should be the SAME as COMPACT_Neighbour_Cell_Param_t.FREQ_DIFF_LENGTH. - * So it is buggy, but there is no way to handle it. Same issue is in Cell_Selection_Params_With_FreqDiff_t.FREQ_DIFF_LENGTH. - */ M_VAR_BITMAP (COMPACT_Neighbour_Cell_Param_Remaining_t, FREQUENCY_DIFF, FREQ_DIFF_LENGTH, 0), M_TYPE (COMPACT_Neighbour_Cell_Param_Remaining_t, COMPACT_Cell_Sel_Remain_Cells, COMPACT_Cell_Sel_t), CSN_DESCR_END (COMPACT_Neighbour_Cell_Param_Remaining_t) +CSN_CallBackStatus_t callback_init_COMP_Ncell_Param_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + COMPACT_Neighbour_Cell_Param_Remaining_t *pCom_NCell_Param_rem = (COMPACT_Neighbour_Cell_Param_Remaining_t*)param2; + + for( i=0; i<16; i++, pCom_NCell_Param_rem++ ) + { + pCom_NCell_Param_rem->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} static const CSN_DESCR_BEGIN(COMPACT_Neighbour_Cell_Param_t) @@ -4706,6 +4937,7 @@ M_TYPE (COMPACT_Neighbour_Cell_Param_t, COMPACT_Cell_Sel, COMPACT_Cell_Sel_t), M_UINT (COMPACT_Neighbour_Cell_Param_t, NR_OF_REMAINING_CELLS, 4), M_UINT_OFFSET(COMPACT_Neighbour_Cell_Param_t, FREQ_DIFF_LENGTH, 3, 1), + M_CALLBACK (COMPACT_Neighbour_Cell_Param_t, callback_init_COMP_Ncell_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, COMPACT_Neighbour_Cell_Param_Remaining), M_VAR_TARRAY (COMPACT_Neighbour_Cell_Param_t, COMPACT_Neighbour_Cell_Param_Remaining, COMPACT_Neighbour_Cell_Param_Remaining_t, NR_OF_REMAINING_CELLS), CSN_DESCR_END (COMPACT_Neighbour_Cell_Param_t) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-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 Mar 26 18:04:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 18:04:14 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... rlcmac: add dissection of 2G->3G/4G PS handover Port from wireshark.git 428ee66ae1c524b49f9043729b1f1e9b4f52f409, from Pascal Quantin. The original commit is also changing the RRC_Container field to M_CALLBACK, but we leave them as M_VAR_ARRAY since the callback is basically used to add more dissection information in wireshark. Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/17629/1 diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index b421624..9b5ecfe 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -4574,6 +4574,12 @@ static const +CSN_DESCR_BEGIN(PS_HandoverTo_E_UTRAN_Payload_t) + M_UINT (PS_HandoverTo_E_UTRAN_Payload_t, RRC_ContainerLength, 8), + M_VAR_ARRAY (PS_HandoverTo_E_UTRAN_Payload_t, RRC_Container, RRC_ContainerLength, 0), +CSN_DESCR_END (PS_HandoverTo_E_UTRAN_Payload_t) + +static const CSN_DESCR_BEGIN(PHO_RadioResources_t) M_NEXT_EXIST (PHO_RadioResources_t, Exist_HandoverReference, 1), M_UINT (PHO_RadioResources_t, HandoverReference, 8), @@ -4633,7 +4639,7 @@ M_UNION (Packet_Handover_Command_t, 4), M_TYPE (Packet_Handover_Command_t, u.PS_HandoverTo_A_GB_ModePayload, PS_HandoverTo_A_GB_ModePayload_t), M_TYPE (Packet_Handover_Command_t, u.PS_HandoverTo_UTRAN_Payload, PS_HandoverTo_UTRAN_Payload_t), - CSN_ERROR (Packet_Handover_Command_t, "10 not implemented", CSN_ERROR_STREAM_NOT_SUPPORTED), + M_TYPE (Packet_Handover_Command_t, u.PS_HandoverTo_E_UTRAN_Payload, PS_HandoverTo_E_UTRAN_Payload_t), CSN_ERROR (Packet_Handover_Command_t, "11 not implemented", CSN_ERROR_STREAM_NOT_SUPPORTED), M_PADDING_BITS(Packet_Handover_Command_t), diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 48abac0..e9ae20a 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -4877,6 +4877,11 @@ guint8 RRC_Container[MAX_RRC_CONTAINER_LENGTH]; } PS_HandoverTo_UTRAN_Payload_t; +typedef struct +{ + guint8 RRC_ContainerLength; + guint8 RRC_Container[MAX_RRC_CONTAINER_LENGTH]; +} PS_HandoverTo_E_UTRAN_Payload_t; typedef struct { @@ -4929,6 +4934,7 @@ { PS_HandoverTo_A_GB_ModePayload_t PS_HandoverTo_A_GB_ModePayload; PS_HandoverTo_UTRAN_Payload_t PS_HandoverTo_UTRAN_Payload; + PS_HandoverTo_E_UTRAN_Payload_t PS_HandoverTo_E_UTRAN_Payload; } u; } Packet_Handover_Command_t; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-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 Mar 26 18:23:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:23:18 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17621 ) Change subject: gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib5004643d4eff3bc9d11b66ddaf262f1c0d2aef6 Gerrit-Change-Number: 17621 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:23:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 18:24:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:24:14 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Do not indent header includes inside extern C block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17622 ) Change subject: cosmetic: Do not indent header includes inside extern C block ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3091d917a13e45b3aef8e52a53dcafa308581652 Gerrit-Change-Number: 17622 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:24:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 18:28:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:28:53 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.cpp: Avoid declaring variable in for loop In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17623 ) Change subject: gsm_rlcmac.cpp: Avoid declaring variable in for loop ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 Gerrit-Change-Number: 17623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:28: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 Mar 26 18:29:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:29:25 +0000 Subject: Change in osmo-pcu[master]: csn1.h: Fix trailing whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17624 ) Change subject: csn1.h: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17d36378fabeb7d22a513b93b0ecfde899df520 Gerrit-Change-Number: 17624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:29: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 Mar 26 18:30:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:30:41 +0000 Subject: Change in osmo-pcu[master]: tbf.cpp: Include c++ header required for new operator's replace... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17625 ) Change subject: tbf.cpp: Include c++ header required for new operator's replacement type ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie5fb536ae29dcf40e2a0dbe67432bebd61b8c7aa Gerrit-Change-Number: 17625 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:30:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 18:39:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:39:25 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 1: Can we just disable -Wunused exclusively for this file? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:39: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 Mar 26 18:50:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 18:50:21 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17627 ) Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17627/1/src/decoding.h File src/decoding.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17627/1/src/decoding.h at 21 PS1, Line 21: extern "C" { Please add new lines before and after this block. https://gerrit.osmocom.org/c/osmo-pcu/+/17627/1/src/gsm_rlcmac.c File src/gsm_rlcmac.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17627/1/src/gsm_rlcmac.c at 39 PS1, Line 39: assert BTW, we should start using OSMO_ASSERT. Maybe in a separate change. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 18:50: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 Thu Mar 26 18:57:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 18:57:10 +0000 Subject: Change in osmo-pcu[master]: csn1: Fix Several typos & whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17630 ) Change subject: csn1: Fix Several typos & whitespace ...................................................................... csn1: Fix Several typos & whitespace Change-Id: Ibe31d52d4a5a4015196d73681082f68b99a80c77 --- M src/csn1.c 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/17630/1 diff --git a/src/csn1.c b/src/csn1.c index 636ca3a..0a532f1 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -51,7 +51,6 @@ /* Returns no_of_bits (up to 8) masked with 0x2B */ - static guint8 get_masked_bits8(struct bitvec *vector, unsigned *readIndex, gint bit_offset, const gint no_of_bits) { @@ -1144,7 +1143,7 @@ no_of_bits -= 8; } if (no_of_bits > 0) - { + { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; @@ -1183,7 +1182,7 @@ } if (remaining_bits_len < 0) { - return ProcessError(readIndex,"csnStreamDissector", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + return ProcessError(readIndex,"csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); } /* Padding was successfully extracted or it was empty */ @@ -2463,7 +2462,7 @@ } if (remaining_bits_len < 0) { - return ProcessError(writeIndex,"csnStreamDissector", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + return ProcessError(writeIndex,"csnStreamEncoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); } /* Padding was successfully extracted or it was empty */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe31d52d4a5a4015196d73681082f68b99a80c77 Gerrit-Change-Number: 17630 Gerrit-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 Mar 26 18:57:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 18:57:11 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enoguh bits present to decode whole CSN_UINT_ARRAY References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enoguh bits present to decode whole CSN_UINT_ARRAY ...................................................................... csn1: verify enoguh bits present to decode whole CSN_UINT_ARRAY Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 --- M src/csn1.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/17631/1 diff --git a/src/csn1.c b/src/csn1.c index 0a532f1..340dcb0 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -338,7 +338,7 @@ nCount = *pui16DATA(data, nCount); } - if (remaining_bits_len >= no_of_bits) + if (remaining_bits_len >= (no_of_bits*nCount)) { remaining_bits_len -= (no_of_bits*nCount); if (no_of_bits <= 8) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-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 Mar 26 18:58:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 18:58:50 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... csn1: verify enough bits present to decode whole CSN_UINT_ARRAY Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 --- M src/csn1.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/17631/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 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 Thu Mar 26 19:03:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 19:03:54 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17628 ) Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... Patch Set 1: Code-Review-1 (3 comments) CR-1 because you're printing pointer address. https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/csn1.c at 1438 PS1, Line 1438: (%p) Printing pointer address is not a good idea since we match debug output in the unit test. And in general, I don't see any use cases for that, since you can always find it in gdb ;) https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/gsm_rlcmac.c File src/gsm_rlcmac.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/gsm_rlcmac.c at 2647 PS1, Line 2647: for( i=0; i<16; i++, pCell_Sel_Param++ ) Since you're squashing some changes anyway, please fix this fancy formatting too. https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/gsm_rlcmac.c at 2766 PS1, Line 2766: for( i=0; i<16; i++, pCell_Sel_Param++ ) Same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 19:03: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 Thu Mar 26 19:06:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 19:06:27 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1/src/gsm_rlcmac.h at 4937 PS1, Line 4937: PS_HandoverTo_E_UTRAN_Payload_t PS_HandoverTo_E_UTRAN_Payload; Hmm, can't we just reuse PS_HandoverTo_UTRAN_Payload_t here? They have the same structure as far as I can see. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 19: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 Thu Mar 26 19:06:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 19:06:52 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 1: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1//COMMIT_MSG at 2 PS1, Line 2: Pau Espin Pedrol Pascal Quantin -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 19:06: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 Thu Mar 26 19:10:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 19:10:18 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 19: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 Thu Mar 26 19:13:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 19:13:24 +0000 Subject: Change in osmo-pcu[master]: csn1: Fix Several typos & whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17630 ) Change subject: csn1: Fix Several typos & whitespace ...................................................................... Patch Set 1: Code-Review+2 We can just use __func__. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe31d52d4a5a4015196d73681082f68b99a80c77 Gerrit-Change-Number: 17630 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 19:13: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 Thu Mar 26 19:32:04 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 26 Mar 2020 19:32:04 +0000 Subject: Build failure of network:osmocom:latest/eclipse-titan in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5e7d033b1f6db_3a2d2afaab78c5f01984c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/eclipse-titan/Raspbian_10/armv7l Package network:osmocom:latest/eclipse-titan failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest eclipse-titan Last lines of build log: [ 1146s] -h: generate TTCN-3 code allowing type substitution [ 1146s] -m: generate only the UsefulTtcn3Types and XSD predefined modules [ 1146s] -o: generate all definitions into one module (called XSD_Definitions) [ 1146s] -p: do not generate the UsefulTtcn3Types and XSD predefined modules [ 1146s] -q: quiet mode - disable the issue of status messages [ 1146s] -s: parse and validate only - no TTCN-3 module generation [ 1146s] -t: disable the generation of timing information in TTCN-3 modules [ 1146s] -v: show version information [ 1146s] -w: suppress warnings [ 1146s] -x: disable schema validation but generate TTCN-3 modules [ 1146s] -z: zap URI scheme from module name [ 1146s] make[4]: *** [Makefile:284: TitanLoggerApi.ttcn] Error 1 [ 1146s] make[4]: Leaving directory '/usr/src/packages/BUILD/core' [ 1146s] make[3]: *** [../../Makefile.genrules:60: ../../core/RInt.o] Error 2 [ 1146s] make[3]: Leaving directory '/usr/src/packages/BUILD/mctr2/mctr' [ 1146s] make[2]: *** [Makefile:32: all] Error 2 [ 1146s] make[2]: Leaving directory '/usr/src/packages/BUILD/mctr2' [ 1146s] make[1]: *** [Makefile:65: all] Error 2 [ 1146s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1146s] dh_auto_build: make -j1 returned exit code 2 [ 1146s] make: *** [debian/rules:6: build] Error 2 [ 1146s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1146s] ### VM INTERACTION START ### [ 1150s] [ 1115.399365] sysrq: SysRq : Power Off [ 1150s] [ 1115.420561] reboot: Power down [ 1150s] ### VM INTERACTION END ### [ 1150s] [ 1150s] armbuild01 failed "build eclipse-titan_6.5.0-1.dsc" at Thu Mar 26 19:30:49 UTC 2020. [ 1150s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Mar 26 19:51:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 19:51:45 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description 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/+/17628 to look at the new patch set (#2). Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description Port of patch (+ later fixes squashed) of wireshark.git commit dea5452b95dfaf18e38670a8e2b3b38f9175fdfd, from Lei Chen: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6856 Squashed wireshark.git fix commits: 774be29de0b4d93d01aecb1518c41d7d551071a9 51c31cd7bd3d8fc196a9f90a8af466ad84e9e6a8 6aca10831f86c562970b13efa811f46e25ee3091 c1ceac58cdb77051e9bd14c1f6f7669cf5779a86 Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 --- M src/csn1.c M src/csn1.h M src/gsm_rlcmac.c 3 files changed, 247 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/17628/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Thu Mar 26 19:51:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 19:51:45 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY 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/+/17631 to look at the new patch set (#3). Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... csn1: verify enough bits present to decode whole CSN_UINT_ARRAY Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 --- M src/csn1.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/17631/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Thu Mar 26 19:51:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 19:51:48 +0000 Subject: Change in osmo-pcu[master]: csn1: Properly verify CSN_BITMAP length References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17632 ) Change subject: csn1: Properly verify CSN_BITMAP length ...................................................................... csn1: Properly verify CSN_BITMAP length Change-Id: I9f7672b534f9345caff99095504749eebad25adb --- M src/csn1.c 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/17632/1 diff --git a/src/csn1.c b/src/csn1.c index 1fd094f..c9c8cdd 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -424,6 +424,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -451,7 +455,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ @@ -876,6 +879,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -896,7 +903,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ @@ -1737,6 +1743,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(writeIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -1762,7 +1772,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ @@ -2153,6 +2162,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(writeIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -2172,7 +2185,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9f7672b534f9345caff99095504749eebad25adb Gerrit-Change-Number: 17632 Gerrit-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 Mar 26 19:51:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 19:51:48 +0000 Subject: Change in osmo-pcu[master]: csn1: Remove code block from CSN_NEXT_EXIST_LH References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17633 ) Change subject: csn1: Remove code block from CSN_NEXT_EXIST_LH ...................................................................... csn1: Remove code block from CSN_NEXT_EXIST_LH It was removed in wireshark.git e8407dd6c1378427daee77e8de540d0b5f7a0b73 and it's not there anymore in current master. Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b --- M src/csn1.c 1 file changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/17633/1 diff --git a/src/csn1.c b/src/csn1.c index c9c8cdd..e5b606b 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1027,12 +1027,6 @@ /* skip 'i' entries + this entry */ pDescr += pDescr->i + 1; - /* pDescr now must be pointing to a CSN_END entry, if not this is an error */ - if ( pDescr->type != CSN_END ) - { /* substract one more bit from remaining_bits_len to make the "not enough bits" error to be triggered */ - remaining_bits_len--; - } - /* set the data member to "not exist" */ *pui8 = 0; break; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b Gerrit-Change-Number: 17633 Gerrit-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 Mar 26 20:00:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 20:00:05 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 20: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 Thu Mar 26 20:01:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:01:45 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 1: I'd better keep it as it is, it will help us to keep in sync with wireshark.git -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 26 Mar 2020 20:01: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 Thu Mar 26 20:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:06:29 +0000 Subject: Change in osmo-pcu[master]: pcu_l1_if.cpp: Add missing header ctype.h In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17620 ) Change subject: pcu_l1_if.cpp: Add missing header ctype.h ...................................................................... pcu_l1_if.cpp: Add missing header ctype.h The file uses the isdigit() function. Change-Id: Id06ea25969ad9b964b3207479604132d25160f24 --- M src/pcu_l1_if.cpp 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 98b8028..deccb30 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -27,6 +27,7 @@ #include #include #include +#include extern "C" { #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id06ea25969ad9b964b3207479604132d25160f24 Gerrit-Change-Number: 17620 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 20:06:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:06:29 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17621 ) Change subject: gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' ...................................................................... gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' The later is only accepted when compiling as c++. Change-Id: Ib5004643d4eff3bc9d11b66ddaf262f1c0d2aef6 --- M src/gsm_rlcmac.cpp M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp 3 files changed, 20 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index a2aae90..0d769ce 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -188,7 +188,7 @@ CSN_DESCR_END (EGPRS_AckNack_Desc_t) /*< EGPRS Ack/Nack Description IE >*/ -gint16 Egprs_Ack_Nack_Desc_w_len_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) +gint16 Egprs_Ack_Nack_Desc_w_len_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -749,7 +749,7 @@ M_UINT (Receive_N_PDU_Number_t, value, 8), CSN_DESCR_END (Receive_N_PDU_Number_t) -gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) +gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -885,7 +885,7 @@ CSN_DESCR_END (Content_t) -gint16 Content_Dissector(csnStream_t* ar, bitvec *vector, unsigned *readIndex, void* data) +gint16 Content_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -909,7 +909,7 @@ M_REC_TARRAY (Additional_access_technologies_t, Additional_access_technologies, Additional_access_technologies_struct_t, Count_additional_access_technologies), CSN_DESCR_END (Additional_access_technologies_t) -gint16 Additional_access_technologies_Dissector(csnStream_t* ar, bitvec* vector, unsigned *readIndex, void* data) +static gint16 Additional_access_technologies_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) { @@ -4951,7 +4951,7 @@ }; /* Returns 0 on success, negative on error. */ -int decode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data) +int decode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t * data) { csnStream_t ar; int ret; @@ -5076,7 +5076,7 @@ } /* Returns 0 on success, negative on error. */ -int decode_gsm_rlcmac_downlink(bitvec * vector, RlcMacDownlink_t * data) +int decode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t * data) { csnStream_t ar; /* See RLC/MAC downlink control block structure in TS 44.060 / 10.3.1 */ @@ -5288,7 +5288,7 @@ } /* Returns 0 on success, negative on error. */ -int encode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data) +int encode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t * data) { csnStream_t ar; unsigned writeIndex = 0; @@ -5400,7 +5400,7 @@ } /* Returns 0 on success, negative on error. */ -int encode_gsm_rlcmac_downlink(bitvec * vector, RlcMacDownlink_t * data) +int encode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t * data) { csnStream_t ar; int ret; @@ -5609,7 +5609,7 @@ return ret; } -void decode_gsm_rlcmac_uplink_data(bitvec * vector, RlcMacUplinkDataBlock_t * data) +void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data) { unsigned readIndex = 0; //unsigned dataLen = 0; @@ -5687,7 +5687,7 @@ } } -void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t * data) +void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data) { unsigned writeIndex = 0; @@ -5745,7 +5745,7 @@ } } -int decode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t *data) +int decode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t *data) { csnStream_t ar; int ret; @@ -5771,7 +5771,7 @@ /* This function is not actually used by osmo-pcu itself, and only needed for * the RLCMAC unit test. Having it here is better than making the internal * CSN.1 definitions (in particular, MS_Radio_Access_capability_t) non-static. */ -int encode_gsm_ra_cap(bitvec *vector, MS_Radio_Access_capability_t *data) +int encode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t *data) { unsigned writeIndex = 0; csnStream_t ar; diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index d0bd9f6..1a448e4 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -5328,11 +5328,11 @@ } EnhancedMeasurementReport_t; - int decode_gsm_rlcmac_uplink(bitvec *vector, RlcMacUplink_t *data); - int decode_gsm_rlcmac_downlink(bitvec *vector, RlcMacDownlink_t *data); - int encode_gsm_rlcmac_downlink(bitvec *vector, RlcMacDownlink_t *data); - int encode_gsm_rlcmac_uplink(bitvec *vector, RlcMacUplink_t *data); - void decode_gsm_rlcmac_uplink_data(bitvec * vector, RlcMacUplinkDataBlock_t * data); - void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t * data); - int decode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t * data); + 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); + int encode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t *data); + 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); #endif /* __PACKET_GSM_RLCMAC_H__ */ diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 200cac8..a21c22d 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -215,7 +215,7 @@ msgb_free(m); } -int encode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t * data); +int encode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data); void testRAcap(void *test_ctx) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib5004643d4eff3bc9d11b66ddaf262f1c0d2aef6 Gerrit-Change-Number: 17621 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 20:06:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:06:30 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Do not indent header includes inside extern C block In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17622 ) Change subject: cosmetic: Do not indent header includes inside extern C block ...................................................................... cosmetic: Do not indent header includes inside extern C block Change-Id: I3091d917a13e45b3aef8e52a53dcafa308581652 --- M src/pdch.cpp M src/tbf.cpp 2 files changed, 11 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 8560cb4..1505068 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -37,14 +37,14 @@ #include extern "C" { - #include - #include - #include - #include - #include - #include - #include - #include "coding_scheme.h" +#include +#include +#include +#include +#include +#include +#include +#include "coding_scheme.h" } #include diff --git a/src/tbf.cpp b/src/tbf.cpp index 5e222ae..444cec0 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -43,9 +43,9 @@ #include #include #include - #include - #include - #include +#include +#include +#include } #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3091d917a13e45b3aef8e52a53dcafa308581652 Gerrit-Change-Number: 17622 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 20:08:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 20:08:28 +0000 Subject: Change in osmo-pcu[master]: csn1: Properly verify CSN_BITMAP length In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17632 ) Change subject: csn1: Properly verify CSN_BITMAP length ...................................................................... Patch Set 1: Code-Review+2 Cool! So then you don't need anymore? Or do you? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9f7672b534f9345caff99095504749eebad25adb Gerrit-Change-Number: 17632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 26 Mar 2020 20:08: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 Mar 26 20:10:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:10:13 +0000 Subject: Change in osmo-pcu[master]: csn1: Properly verify CSN_BITMAP length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17632 ) Change subject: csn1: Properly verify CSN_BITMAP length ...................................................................... Patch Set 1: Yes, there's still: default: { assert(0); } we can move it to OSMO_ASSERT at some point later. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9f7672b534f9345caff99095504749eebad25adb Gerrit-Change-Number: 17632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 26 Mar 2020 20:10:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 20:11:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:11:38 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1//COMMIT_MSG at 2 PS1, Line 2: Pau Espin Pedrol > Pascal Quantin Pascal Quantin is named below. I prefer keeping it this way since it's really more like a derivate work rather than him being the author. It's not like calling git cherry-pick and be done. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 20:11:38 +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 Mar 26 20:12:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:12:06 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17629/1/src/gsm_rlcmac.h at 4937 PS1, Line 4937: PS_HandoverTo_E_UTRAN_Payload_t PS_HandoverTo_E_UTRAN_Payload; > Hmm, can't we just reuse PS_HandoverTo_UTRAN_Payload_t here? They have the same structure as far as [?] I try to keep it as similar as possible to the one from wireshark.git. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 20:12:06 +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 Mar 26 20:13:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 20:13:47 +0000 Subject: Change in osmo-pcu[master]: csn1: Remove code block from CSN_NEXT_EXIST_LH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17633 ) Change subject: csn1: Remove code block from CSN_NEXT_EXIST_LH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b Gerrit-Change-Number: 17633 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Mar 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 Thu Mar 26 20:19:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:19:09 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.cpp: Avoid declaring variable in for loop In-Reply-To: References: Message-ID: pespin has removed laforge from this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17623 ) Change subject: gsm_rlcmac.cpp: Avoid declaring variable in for loop ...................................................................... Removed reviewer laforge. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 Gerrit-Change-Number: 17623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: deleteReviewer -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 20:21:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 20:21:23 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.cpp: Avoid declaring variable in for loop In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17623 ) Change subject: gsm_rlcmac.cpp: Avoid declaring variable in for loop ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 Gerrit-Change-Number: 17623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 20: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 Thu Mar 26 20:21:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:21:29 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17628 ) Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/csn1.c at 1438 PS1, Line 1438: (%p) > Printing pointer address is not a good idea since we match debug output in the unit test. [?] ack, will change. https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/gsm_rlcmac.c File src/gsm_rlcmac.c: https://gerrit.osmocom.org/c/osmo-pcu/+/17628/1/src/gsm_rlcmac.c at 2647 PS1, Line 2647: for( i=0; i<16; i++, pCell_Sel_Param++ ) > Since you're squashing some changes anyway, please fix this fancy formatting too. I'm keeping same wireshark content in this function, so let's leave it this way. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 20:21:29 +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 Mar 26 20:23:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:23:31 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.cpp: Avoid declaring variable in for loop In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17623 ) Change subject: gsm_rlcmac.cpp: Avoid declaring variable in for loop ...................................................................... gsm_rlcmac.cpp: Avoid declaring variable in for loop That's only allowed under C++. Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 --- M src/gsm_rlcmac.cpp 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 0d769ce..3525bf0 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -5611,6 +5611,7 @@ void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data) { + unsigned i; unsigned readIndex = 0; //unsigned dataLen = 0; guint8 payload_type = bitvec_read_field(vector, &readIndex, 2); @@ -5646,7 +5647,7 @@ if(data->E_1 == 0) // Extension octet follows immediately { // Octet 3 (optional) - unsigned i = 0; + i = 0; do { data->LENGTH_INDICATOR[i] = bitvec_read_field(vector, &readIndex, 6); @@ -5673,7 +5674,7 @@ unsigned dataLen = 23 - readIndex/8; LOGPC(DRLCMACDATA, LOGL_NOTICE, "DATA[%u] = ", dataLen); assert(dataLen <= 20); - for (unsigned i = 0; i < dataLen; i++) + for (i = 0; i < dataLen; i++) { data->RLC_DATA[i] = bitvec_read_field(vector, &readIndex, 8); LOGPC(DRLCMACDATA, LOGL_NOTICE, "%02x", (unsigned)(data->RLC_DATA[i])); @@ -5689,6 +5690,7 @@ void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data) { + unsigned i; unsigned writeIndex = 0; if (data->PAYLOAD_TYPE == PAYLOAD_TYPE_DATA) @@ -5720,7 +5722,7 @@ // Octet 3 (optional) if(data->E_1 == 0) { - unsigned i = 0; + i = 0; do { bitvec_write_field(vector, &writeIndex, data->LENGTH_INDICATOR[i], 6); @@ -5736,7 +5738,7 @@ unsigned dataNumOctets = 23 - writeIndex/8; LOGPC(DRLCMACDATA, LOGL_NOTICE, "DATA[%u] = ", dataNumOctets); assert(dataNumOctets <= 20); - for (unsigned i = 0; i < dataNumOctets; i++) + for (i = 0; i < dataNumOctets; i++) { bitvec_write_field(vector, &writeIndex, data->RLC_DATA[i], 8); LOGPC(DRLCMACDATA, LOGL_NOTICE, "%02x", (unsigned)(data->RLC_DATA[i])); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 Gerrit-Change-Number: 17623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 20:23:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 20:23:32 +0000 Subject: Change in osmo-pcu[master]: csn1.h: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17624 ) Change subject: csn1.h: Fix trailing whitespace ...................................................................... csn1.h: Fix trailing whitespace Change-Id: If17d36378fabeb7d22a513b93b0ecfde899df520 --- M src/csn1.h 1 file changed, 34 insertions(+), 34 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/csn1.h b/src/csn1.h index 0421b39..50cd9ef 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -285,7 +285,7 @@ * M_NEXT_EXIST_LH(Par1, Par2, Par3) * similar to the M_NEXT_EXIST except that instead of bit 0/1 which is fetched * from the message in order to find out whether the next element/elements are - * present in the message, the logical operation XOR with the background + * present in the message, the logical operation XOR with the background * pattern 0x2B is performed on the read bit before the decision is made. *****************************************************************************/ #define M_NEXT_EXIST_LH(_STRUCT, _MEMBER, _NoOfExisting)\ @@ -294,9 +294,9 @@ /****************************************************************************** * M_NEXT_EXIST_OR_NULL(Par1, Par2, Par3) * Similar to the M_NEXT_EXIST except that not only bit 0 or 1 but also the end - * of the message may be encountered when looking for the next element in the + * of the message may be encountered when looking for the next element in the * message. - * Covers the case {null | 0 | 1 < IE >} + * Covers the case {null | 0 | 1 < IE >} *****************************************************************************/ #define M_NEXT_EXIST_OR_NULL(_STRUCT, _MEMBER, _NoOfExisting)\ {CSN_NEXT_EXIST, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, 0, NULL} @@ -306,7 +306,7 @@ * Similar to the M_NEXT_EXIST_LH except that not only bit 0 or 1 but also the * end of the message may be encountered when looking for the next element in * the message. - * Covers the case {null | L | H < IE >} + * Covers the case {null | L | H < IE >} *****************************************************************************/ #define M_NEXT_EXIST_OR_NULL_LH(_STRUCT, _MEMBER, _NoOfExisting)\ {CSN_NEXT_EXIST_LH, _NoOfExisting, {(void*)1}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, 0, NULL} @@ -334,8 +334,8 @@ /****************************************************************************** * M_UINT(Par1, Par2, Par3) * This macro has the same functionality as M_UINT except that in addition the - * logical "exclusive or" operation with the background value "0x2B" is - * performed before the final value of the integer number is delivered from the + * logical "exclusive or" operation with the background value "0x2B" is + * performed before the final value of the integer number is delivered from the * received CSN.1 message *****************************************************************************/ #define M_UINT_LH(_STRUCT, _MEMBER, _BITS)\ @@ -406,16 +406,16 @@ /****************************************************************************** * M_REC_ARRAY(Par1, Par2, Par3, Par4) - * similar to the M_VAR_ARRAY. The difference is that the size of the array is + * similar to the M_VAR_ARRAY. The difference is that the size of the array is * not known in advance and it has to be calculated during unpacking. Its value - * is stored in a variable which belongs to the same structure as the array. - * A zero element terminates the array. The CSN.1 syntax describes it + * is stored in a variable which belongs to the same structure as the array. + * A zero element terminates the array. The CSN.1 syntax describes it * recursively as: - * ::={1 | 0} + * ::={1 | 0} * * Par1: C structure name * Par2: C structure element name - * Par3: name of the structure member where the calculated the size of the + * Par3: name of the structure member where the calculated the size of the * array will be stored * Par4: length of each element in bits *****************************************************************************/ @@ -476,8 +476,8 @@ * M_UNION(Par1, Par2) * Informs the CSN.1 library that a union follows and how many possible choices * there are in the union. The actual value of the choice, which points out the - * chosen element of the union is stored in the uint8 variable and is usually - * called UnionType. The elements of the union have to be listed directly after + * chosen element of the union is stored in the uint8 variable and is usually + * called UnionType. The elements of the union have to be listed directly after * the M_UNION statement. * Par1: C structure name * Par2: number of possible choice in the union @@ -494,12 +494,12 @@ /****************************************************************************** * M_CHOICE(Par1, Par2, Par3, Par4) - * Similar to the M_UNION. In the M_UNION the selected element of all possible - * choices in the union is referred as a sequential numbers, i.e., the first - * choice is addressed as choice 0 the second as choice 1, the third as choice + * Similar to the M_UNION. In the M_UNION the selected element of all possible + * choices in the union is referred as a sequential numbers, i.e., the first + * choice is addressed as choice 0 the second as choice 1, the third as choice * 2 and so on, both in the encoded message and in the variable UnionType which - * 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 + * 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. * After unpacking, this value is then converted to the sequential number of the @@ -507,14 +507,14 @@ * Par1: C structure name * Par2: C structure element name * 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 - * where the element is defined. For every element in the union - * there is one line in the Choice variable. These lines have to - * appear in the _CHOICE in the same order as the elements in the - * union. The element of the union selected in the message through - * the _CHOICE parameter is after unpacking translated to the - * corresponding sequential number of this element and stored in + * values of the selector are provided, together with the selector + * length expressed in bits and the address of the CSN_DESCR type + * where the element is defined. For every element in the union + * there is one line in the Choice variable. These lines have to + * appear in the _CHOICE in the same order as the elements in the + * union. The element of the union selected in the message through + * the _CHOICE parameter is after unpacking translated to the + * corresponding sequential number of this element and stored in * the variable pointed out by the _MEMBER * Par4: number of possible choices in the union *****************************************************************************/ @@ -523,11 +523,11 @@ /****************************************************************************** * M_FIXED(Par1, Par2, Par3) - * Defines a fixed value of type integer which should be fetched from or stored + * Defines a fixed value of type integer which should be fetched from or stored * in the message * Par1: C structure name * Par2: gives the length of the fixed number in bits. - * Par3: the value of the number. If the expected value is not present in + * Par3: the value of the number. If the expected value is not present in * the message the unpacking procedure is aborted *****************************************************************************/ #define M_FIXED(_STRUCT, _BITS, _BITVALUE)\ @@ -535,12 +535,12 @@ /****************************************************************************** * M_SERIALIZE(Par1, Par2, Par3) - * Allows using a complete free format of data being encoded or decoded. + * Allows using a complete free format of data being encoded or decoded. * When the M_SERIALIZE is encounted during encoding or decoding of a message - * the CSNstream program passes the control over to the specified function - * together with all necessary parameters about the current position within - * the message being unpacked or packed. When transferring of "serialized" - * data to or from the message is finished by the function the CSNstream gets + * the CSNstream program passes the control over to the specified function + * together with all necessary parameters about the current position within + * the message being unpacked or packed. When transferring of "serialized" + * data to or from the message is finished by the function the CSNstream gets * back control over the data stream and continues to work with the message. *****************************************************************************/ #define M_SERIALIZE(_STRUCT, _MEMBER, _LENGTH_LEN, _SERIALIZEFCN)\ @@ -551,7 +551,7 @@ /****************************************************************************** * M_BITMAP(Par1, Par2, Par3) - * Defines a type which consists of a bitmap. The size of the bitmap in bits + * Defines a type which consists of a bitmap. The size of the bitmap in bits * is fixed and provided by the parameter Par3 * Par1: C structure name * Par2: C structure element name -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17d36378fabeb7d22a513b93b0ecfde899df520 Gerrit-Change-Number: 17624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 21:36:01 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 26 Mar 2020 21:36:01 +0000 Subject: Change in osmo-pcu[master]: Don't check ul_control_block before decoding into it. References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17634 ) Change subject: Don't check ul_control_block before decoding into it. ...................................................................... Don't check ul_control_block before decoding into it. This patch corrects an error introduced in 6fd8ffb6fe62586a6880780678cbee3d9f97e763 That commit allowed us to send the data over GSMTAP even if the Uplink Control Block had invalid content, that is to say, if decode_gsm_rlcmac_uplink() returned error. However the check for ul_control_block->u.MESSAGE_TYPE was place before decode_gsm_rlcmac_uplink() Change-Id: Ic47602e5c6a13571b92c0a939fc3514110b82444 --- M src/pdch.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/17634/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 8560cb4..f3853c2 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -706,12 +706,12 @@ LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + 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); else bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); - rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " "content, decode failed: %d)\n", rc); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic47602e5c6a13571b92c0a939fc3514110b82444 Gerrit-Change-Number: 17634 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 22:59:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Mar 2020 22:59:14 +0000 Subject: Change in osmo-pcu[master]: pdch: fix packet_paging_request(): properly print paging MI 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/+/17618 to look at the new patch set (#2). Change subject: pdch: fix packet_paging_request(): properly print paging MI ...................................................................... pdch: fix packet_paging_request(): properly print paging MI This problem problem was discovered by the Undefined Behavior Sanitizer: pdch.cpp:210:4: runtime error: load of misaligned address 0x60c00002abf2 for type 'uint32_t', which requires 4 byte alignment Do not convert TMSI to number, use osmo_mi_name() from libosmocore. Also use this function to print other MI types (IMSI or IMEISV). Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 --- M src/pdch.cpp 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/17618/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 Gerrit-Change-Number: 17618 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 Thu Mar 26 23:15:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 23:15:10 +0000 Subject: Change in osmo-pcu[master]: pdch: fix packet_paging_request(): properly print paging MI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17618 ) Change subject: pdch: fix packet_paging_request(): properly print paging MI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 Gerrit-Change-Number: 17618 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 23: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 Thu Mar 26 23:32:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 23:32:46 +0000 Subject: Change in osmo-pcu[master]: Don't check ul_control_block before decoding into it. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17634 ) Change subject: Don't check ul_control_block before decoding into it. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic47602e5c6a13571b92c0a939fc3514110b82444 Gerrit-Change-Number: 17634 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 23:32:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 26 23:32:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 23:32:49 +0000 Subject: Change in osmo-pcu[master]: Don't check ul_control_block before decoding into it. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17634 ) Change subject: Don't check ul_control_block before decoding into it. ...................................................................... Don't check ul_control_block before decoding into it. This patch corrects an error introduced in 6fd8ffb6fe62586a6880780678cbee3d9f97e763 That commit allowed us to send the data over GSMTAP even if the Uplink Control Block had invalid content, that is to say, if decode_gsm_rlcmac_uplink() returned error. However the check for ul_control_block->u.MESSAGE_TYPE was place before decode_gsm_rlcmac_uplink() Change-Id: Ic47602e5c6a13571b92c0a939fc3514110b82444 --- M src/pdch.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 1505068..519028d 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -706,12 +706,12 @@ LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + 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); else bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); - rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " "content, decode failed: %d)\n", rc); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic47602e5c6a13571b92c0a939fc3514110b82444 Gerrit-Change-Number: 17634 Gerrit-PatchSet: 2 Gerrit-Owner: keith 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 Mar 26 23:33:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Mar 2020 23:33:14 +0000 Subject: Change in osmo-pcu[master]: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17614 ) Change subject: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 Gerrit-Change-Number: 17614 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Mar 2020 23:33:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 03:09:45 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:09:45 +0000 Subject: Change in openbsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/17635 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages Backport of osmo-bsc 6b9e0e4e8834428f85f169106ed7b6141f5b185b (1) and 60d6d530ac6883db4f5c0394541ad654ddfd526c (2) (1) TS 48.058 sec 8.4.1 CHANNEL ACTIVATION and state: """ The BS and MS Power Parameters elements are included to indicate that BS and/or MS power control is to be performed by BTS. The maximum power to be used is indicated in the BS and MS Power elements respectively. """ Since we always want the BTS to do autonomous MS power control, let's add it. (2)Send IE MS Power Param to osmocom BTS models only Since MS Power Param IE content is operator dependant, it's currently not known which kind of content non-osmocom BTS support/allow, so let's avod possibily breaking those BTS until each BTS has been checked separately. Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb --- M openbsc/src/libbsc/abis_rsl.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/35/17635/1 diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c index 5a508b2..b06f61d 100644 --- a/openbsc/src/libbsc/abis_rsl.c +++ b/openbsc/src/libbsc/abis_rsl.c @@ -686,6 +686,13 @@ msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power); msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta); + /* indicate MS power control to be performed by BTS: */ + if (lchan->ts->trx->bts->type == GSM_BTS_TYPE_OSMOBTS) + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not + known if non-osmocom BTS models will support an empty IE, so let's + better skip sending it unless we know for sure what each expects. */ + mr_config_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb Gerrit-Change-Number: 17635 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 03:14:21 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:14:21 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp File src/gprs_bssgp_pcu.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/17617/1/src/gprs_bssgp_pcu.cpp at 180 PS1, Line 180: return BSSGP_CAUSE_COND_IE_ERR; > I also thought about that. But this can be done later. [?] Maybe it's a good idea at this point to NOT "hide" such things? Given ongoing dev on sgsn etc? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: keith Gerrit-Comment-Date: Fri, 27 Mar 2020 03:14:21 +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 Fri Mar 27 03:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:15:14 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 1: This patch solves the issue for me, as observed in manual testing. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: keith Gerrit-Comment-Date: Fri, 27 Mar 2020 03:15: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 Fri Mar 27 03:16:14 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:16:14 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 03:16:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 03:16:27 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:16:27 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 03:16: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 Mar 27 03:18:11 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:18:11 +0000 Subject: Change in openbsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/17635 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb Gerrit-Change-Number: 17635 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Fri, 27 Mar 2020 03:18: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 Mar 27 03:18:48 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 03:18:48 +0000 Subject: Change in openbsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/17635 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... Patch Set 1: Code-Review+1 Unless there's an issue with the commit message (2in1), I'll just merge this? -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb Gerrit-Change-Number: 17635 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Comment-Date: Fri, 27 Mar 2020 03:18: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 Mar 27 07:55:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 07:55:05 +0000 Subject: Change in osmo-pcu[master]: tbf.cpp: Include c++ header required for new operator's replace... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17625 ) Change subject: tbf.cpp: Include c++ header required for new operator's replacement type ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie5fb536ae29dcf40e2a0dbe67432bebd61b8c7aa Gerrit-Change-Number: 17625 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 07:55: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 Mar 27 08:03:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 08:03:19 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 1: Code-Review+1 (1 comment) > Patch Set 1: > > I'd better keep it as it is, it will help us to keep in sync with wireshark.git I agree with Pau, keeping in sync with upstream seems better than changing the file with "#if 0" removed and -Wunused disabled. https://gerrit.osmocom.org/c/osmo-pcu/+/17626/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/17626/1//COMMIT_MSG at 10 PS1, Line 10: original packet-gsm_csn1.c code. Would be nice to mention "from wireshark: epan/dissectors/packet-gsm_rlcmac.c". I only got the context from the comments below. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 27 Mar 2020 08:03: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 Mar 27 08:10:11 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 08:10:11 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17627 ) Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17627/1/src/wireshark_compat.h File src/wireshark_compat.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17627/1/src/wireshark_compat.h at 27 PS1, Line 27: //#define max(a,b) (((a)>(b))?(a):(b)) What's the purpose of keeping this? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 08:10:11 +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 Mar 27 08:21:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 08:21:37 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 08:21: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 Mar 27 08:22:29 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 08:22:29 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Mar 2020 08:22:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 08:24:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 08:24:00 +0000 Subject: Change in osmo-pcu[master]: csn1: Properly verify CSN_BITMAP length In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17632 ) Change subject: csn1: Properly verify CSN_BITMAP length ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9f7672b534f9345caff99095504749eebad25adb Gerrit-Change-Number: 17632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 08:24:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 08:27:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 08:27:00 +0000 Subject: Change in osmo-pcu[master]: csn1: Remove code block from CSN_NEXT_EXIST_LH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17633 ) Change subject: csn1: Remove code block from CSN_NEXT_EXIST_LH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b Gerrit-Change-Number: 17633 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Mar 2020 08:27: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 Mar 27 09:16:59 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:16:59 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: Hello pespin, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 to look at the new patch set (#7). Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS. Add a VTY command to display them conveniently and optionally clear the list. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c 4 files changed, 86 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/17571/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 09:17:01 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:17:01 +0000 Subject: Change in osmo-bsc[master]: VTY: let all descriptions end in \n References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17636 ) Change subject: VTY: let all descriptions end in \n ...................................................................... VTY: let all descriptions end in \n Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 --- M src/osmo-bsc/abis_nm_vty.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/17636/1 diff --git a/src/osmo-bsc/abis_nm_vty.c b/src/osmo-bsc/abis_nm_vty.c index b1c6d56..fe467fa 100644 --- a/src/osmo-bsc/abis_nm_vty.c +++ b/src/osmo-bsc/abis_nm_vty.c @@ -165,7 +165,7 @@ } DEFUN(oml_opstart, oml_opstart_cmd, - "opstart", "Send an OPSTART message to the object") + "opstart", "Send an OPSTART message to the object\n") { struct oml_node_state *oms = vty->index; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index e9085b3..a41db9f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -536,7 +536,7 @@ DEFUN(show_bts, show_bts_cmd, "show bts [<0-255>]", SHOW_STR "Display information about a BTS\n" - "BTS number") + "BTS number\n") { struct gsm_network *net = gsmnet_from_vty(vty); int bts_nr; @@ -2560,7 +2560,7 @@ "ccch load-indication-threshold <0-100>", CCCH_STR "Percentage of CCCH load at which BTS sends RSL CCCH LOAD IND\n" - "CCCH Load Threshold in percent (Default: 10)") + "CCCH Load Threshold in percent (Default: 10)\n") { struct gsm_bts *bts = vty->index; bts->ccch_load_ind_thresh = atoi(argv[0]); @@ -2575,7 +2575,7 @@ RACH_STR NM_STR "Set the NM Busy Threshold\n" "Set the NM Busy Threshold\n" - "NM Busy Threshold in dB") + "NM Busy Threshold in dB\n") { struct gsm_bts *bts = vty->index; bts->rach_b_thresh = atoi(argv[0]); @@ -2679,7 +2679,7 @@ "MS Options\n" "Maximum transmit power of the MS\n" "Maximum transmit power of the MS\n" - "Maximum transmit power of the MS in dBm") + "Maximum transmit power of the MS in dBm\n") { struct gsm_bts *bts = vty->index; @@ -2694,7 +2694,7 @@ "cell reselection hysteresis <0-14>", CELL_STR "Cell re-selection parameters\n" "Cell Re-Selection Hysteresis in dB\n" - "Cell Re-Selection Hysteresis in dB") + "Cell Re-Selection Hysteresis in dB\n") { struct gsm_bts *bts = vty->index; @@ -2708,7 +2708,7 @@ "Minimum RxLev needed for cell access\n" "Minimum RxLev needed for cell access\n" "Minimum RxLev needed for cell access\n" - "Minimum RxLev needed for cell access (better than -110dBm)") + "Minimum RxLev needed for cell access (better than -110dBm)\n") { struct gsm_bts *bts = vty->index; @@ -2749,7 +2749,7 @@ "temporary offset <0-60>", "Cell selection temporary negative offset\n" "Cell selection temporary negative offset\n" - "Cell selection temporary negative offset in dB") + "Cell selection temporary negative offset in dB\n") { struct gsm_bts *bts = vty->index; @@ -2763,7 +2763,7 @@ "temporary offset infinite", "Cell selection temporary negative offset\n" "Cell selection temporary negative offset\n" - "Sets cell selection temporary negative offset to infinity") + "Sets cell selection temporary negative offset to infinity\n") { struct gsm_bts *bts = vty->index; @@ -2793,7 +2793,7 @@ "Cell selection penalty time\n" "Set cell selection penalty time to reserved value 31, " "(indicate that CELL_RESELECT_OFFSET is subtracted from C2 " - "and TEMPORARY_OFFSET is ignored)") + "and TEMPORARY_OFFSET is ignored)\n") { struct gsm_bts *bts = vty->index; @@ -2840,7 +2840,7 @@ GPRS_TEXT "GPRS Cell Settings\n" "GPRS BSSGP VC Identifier\n" - "GPRS BSSGP VC Identifier") + "GPRS BSSGP VC Identifier\n") { /* ETSI TS 101 343: values 0 and 1 are reserved for signalling and PTM */ struct gsm_bts *bts = vty->index; @@ -2859,7 +2859,7 @@ "gprs nsei <0-65535>", GPRS_TEXT "GPRS NS Entity Identifier\n" - "GPRS NS Entity Identifier") + "GPRS NS Entity Identifier\n") { struct gsm_bts *bts = vty->index; @@ -2880,7 +2880,7 @@ "gprs nsvc <0-1> nsvci <0-65535>", GPRS_TEXT NSVC_TEXT "NS Virtual Connection Identifier\n" - "GPRS NS VC Identifier") + "GPRS NS VC Identifier\n") { struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); @@ -3131,7 +3131,7 @@ "gprs 11bit_rach_support_for_egprs (0|1)", GPRS_TEXT "11 bit RACH options\n" "Disable 11 bit RACH for EGPRS\n" - "Enable 11 bit RACH for EGPRS") + "Enable 11 bit RACH for EGPRS\n") { struct gsm_bts *bts = vty->index; @@ -4200,8 +4200,8 @@ DEFUN(cfg_trx, cfg_trx_cmd, "trx <0-255>", - TRX_TEXT - "Select a TRX to configure") + TRX_TEXT + "Select a TRX to configure\n") { int trx_nr = atoi(argv[0]); struct gsm_bts *bts = vty->index; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index e656d70..c372b48 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -539,7 +539,7 @@ 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.") + "The name of the to be used access list.\n") { struct bsc_msc_data *msc = bsc_msc_data(vty); @@ -792,7 +792,7 @@ 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.") + "The name of the to be used access list.\n") { struct osmo_bsc_data *bsc = osmo_bsc_data(vty); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 Gerrit-Change-Number: 17636 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 Mar 27 09:17:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:17:21 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17571/6/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17571/6/src/osmo-bsc/bsc_vty.c at 565 PS6, Line 565: "Clear the list of failure reports after showing them") > AFAICT You need \n at the end of the last one (yes, the functions above are also wrong, feel ree to [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 09:17:21 +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 Mar 27 09:19:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:19:35 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac.cpp: Avoid declaring variable in for loop In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17623 ) Change subject: gsm_rlcmac.cpp: Avoid declaring variable in for loop ...................................................................... Patch Set 1: Code-Review+1 strictly speaking it's also permitted in C99, AFAIK. But nevermind. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0da8849a0fb7f9a7ee5e726edea87e91dc411ea8 Gerrit-Change-Number: 17623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:19: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 Mar 27 09:20:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:20:17 +0000 Subject: Change in osmo-bsc[master]: VTY: let all descriptions end in \n In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17636 ) Change subject: VTY: let all descriptions end in \n ...................................................................... Patch Set 1: do we have to re-generate the VTY reference as a result? Was there any malfunction connected to the lack of \n? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 Gerrit-Change-Number: 17636 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 09:20:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 09:21:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:21:39 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:21: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 Mar 27 09:23:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:23:03 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:23:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 09:23:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:23:58 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:23: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 Mar 27 09:24:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:24:44 +0000 Subject: Change in osmo-trx[master]: doc: apply an rssi-offset of 28 by default. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17596 ) Change subject: doc: apply an rssi-offset of 28 by default. ...................................................................... Patch Set 2: Code-Review+1 we might want to add a comment to the file referring to the URL of the osmocom issue documenting the measurement process, and also stating that this value is only valid for the 1800 MHz band? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I62725fe454f54e2c7cb7550dadb1e6fc94337d78 Gerrit-Change-Number: 17596 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:24: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 Mar 27 09:26:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:26:34 +0000 Subject: Change in osmo-trx[master]: doc: do not set the base-port of the trx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17595 ) Change subject: doc: do not set the base-port of the trx ...................................................................... Patch Set 2: Code-Review+2 > Patch Set 1: Code-Review-1 > > I am sorry, but what's the point of this change? I believe the configuration examples should contain all available options, so there is no need to refer documentation / source code every time you need to remember position / format of some option. Look at configuration examples of srsLTE - everything is listed and documented there, so you don't have to leave your text editor at all. But this is exactly not how we deal with configuration in osmocom. * we do have compile-time default * even a 'write file' doesn't save all values, only those that differ from default * we do not rely on text editing of config files but have the VTY to interactively change it Yes, this has it's problems and it can be debated. But then please start a related issue or mailing list thread for the discussion, and at the end of that we change all of the codebase. This specific issue is bringing the config file example in-line with the existing practice. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 Gerrit-Change-Number: 17595 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:26:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 09:26:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:26:37 +0000 Subject: Change in osmo-trx[master]: doc: do not set the base-port of the trx In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17595 ) Change subject: doc: do not set the base-port of the trx ...................................................................... Removed Code-Review-1 by fixeria -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I105d1c51424836daa6893e83a81c83cc7ac6afd4 Gerrit-Change-Number: 17595 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 09:30:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 09:30:11 +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 2: > Patch Set 1: Code-Review-1 > > > Patch Set 1: > > > > I usually use osmo-trx with info level set and it looks good for me. I like seeing the clock indications to see that everything's smoothly. I'm not against the patch though, just sharing my opinion. > > Same here, I am fine with INFO. Clock indications can be suspended by setting DTRXCLK to NOTICE. And I don't see what a regular user would benefit from this change... among with sending us even less informative bug reports. The general "best practice" in Osmcoom so far is that all applications typically should have NOTICE as a compile-time default for their log levels. This is not set in stone. However, we should definitely not log lots of messages all the time, unless thy are e.g. triggered by user interaction (like a LU request) or something aobut a connection to another network element failing to come up (or that it was established). The fact that apparently there is no other way (or none that you guys know of) to check if everything is allright with OsmoTRX means that you are working around the underlying cause: That this status is not easily available otherwise, either by some 'show' command, or by some event based message that's printed when the status becomes OK or becomes NOT-OK. -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:30: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 Mar 27 09:35:55 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:35:55 +0000 Subject: Change in osmo-bsc[master]: VTY: let all descriptions end in \n In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17636 ) Change subject: VTY: let all descriptions end in \n ...................................................................... Patch Set 1: > do we have to re-generate the VTY reference as a result? Not because of the \n change, but in general it was outdated with the fail-report VTY command and previous VTY changes missing in the generated file. I'll make a note to regenerate it after making changes in the future and add a new, separate commit to update the VTY reference (because it is missing more than one VTY command now). It would be great if we had some sort of CI check for that, but I know that this had been worked on, that it's not so trivial and that in general we don't have time for this now. > Was there any malfunction connected to the lack of \n? No, but it lead me to add new code with the missing \n and so Pau suggested to create a separate patch to fix the existing ones too for consistency. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 Gerrit-Change-Number: 17636 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 09:35: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 Mar 27 09:36:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:36:30 +0000 Subject: Change in osmo-bsc[master]: VTY: regenerate bsc_vty_reference.xml References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17637 ) Change subject: VTY: regenerate bsc_vty_reference.xml ...................................................................... VTY: regenerate bsc_vty_reference.xml Change-Id: I27bcde8d36dcf8daa9d24b4b581c9526b73cb35e --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 88 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/17637/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 8401043..48b9fb5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -138,6 +139,15 @@ + + + + + + + + + @@ -640,6 +650,13 @@ + + + + + + + @@ -832,6 +849,15 @@ + + + + + + + + + @@ -1549,6 +1575,13 @@ + + + + + + + @@ -2149,7 +2182,7 @@ config-e1_input - + @@ -2157,8 +2190,9 @@ - - + + + @@ -2210,6 +2244,23 @@ + + + + + + + + + + + + + + + + + @@ -2446,6 +2497,15 @@ + + + + + + + + + config-cs7-asp @@ -2473,6 +2533,21 @@ + + + + + + + + + + + + + + + @@ -2657,6 +2732,11 @@ + + + + + @@ -3680,10 +3760,11 @@ - + - - + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I27bcde8d36dcf8daa9d24b4b581c9526b73cb35e Gerrit-Change-Number: 17637 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 Mar 27 09:39:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:39:28 +0000 Subject: Change in osmo-bsc[master]: abis_nm: move fail report parsing to extra func In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17588 ) Change subject: abis_nm: move fail report parsing to extra func ...................................................................... abis_nm: move fail report parsing to extra func Separate raw input parsing from handling the failure report. A follow-up patch will use the new parsing function to print saved failure reports to the VTY. While at it, put struct tlv_parsed inside struct nm_fail_rep_signal_data instead of a pointer, so we don't need an additional alloc. Also add error handling to the abis_nm_tlv_parse() call. Related: OS#1605 Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 --- M include/osmocom/bsc/abis_nm.h M include/osmocom/bsc/signal.h M src/osmo-bsc/abis_nm.c 3 files changed, 64 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/include/osmocom/bsc/abis_nm.h b/include/osmocom/bsc/abis_nm.h index 45bbe2c..83bc2f8 100644 --- a/include/osmocom/bsc/abis_nm.h +++ b/include/osmocom/bsc/abis_nm.h @@ -27,6 +27,7 @@ #include #include +#include /* max number of attributes represented as 3GPP TS 52.021 ?9.4.62 SW Description array */ #define MAX_BTS_ATTR 5 @@ -170,6 +171,8 @@ int abis_nm_select_newest_sw(const struct abis_nm_sw_desc *sw, const size_t len); +struct nm_fail_rep_signal_data *abis_nm_fail_evt_rep_parse(struct msgb *mb, struct gsm_bts *bts); + /* Helper functions for updating attributes */ int abis_nm_update_max_power_red(struct gsm_bts_trx *trx); diff --git a/include/osmocom/bsc/signal.h b/include/osmocom/bsc/signal.h index 10200d7..952e03c 100644 --- a/include/osmocom/bsc/signal.h +++ b/include/osmocom/bsc/signal.h @@ -153,7 +153,7 @@ struct gsm_bts *bts; /* raw data */ struct msgb *msg; - struct tlv_parsed *tp; + struct tlv_parsed tp; /* parsed data */ struct { const char *event_type; diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 2d181e8..07effd3 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -353,38 +353,77 @@ }; } -static int rx_fail_evt_rep(struct msgb *mb, struct gsm_bts *bts) +/* Parse into newly allocated struct abis_nm_fail_evt_rep, caller must free it. */ +struct nm_fail_rep_signal_data *abis_nm_fail_evt_rep_parse(struct msgb *mb, struct gsm_bts *bts) { struct abis_om_hdr *oh = msgb_l2(mb); struct abis_om_fom_hdr *foh = msgb_l3(mb); - struct e1inp_sign_link *sign_link = mb->dst; - struct nm_fail_rep_signal_data sd; - struct tlv_parsed tp; - int rc = 0; + struct nm_fail_rep_signal_data *sd; const uint8_t *p_val = NULL; char *p_text = NULL; const char *e_type = NULL, *severity = NULL; - abis_nm_tlv_parse(&tp, sign_link->trx->bts, foh->data, - oh->length-sizeof(*foh)); + sd = talloc_zero(tall_bsc_ctx, struct nm_fail_rep_signal_data); + OSMO_ASSERT(sd); - if (TLVP_PRESENT(&tp, NM_ATT_ADD_TEXT)) { - const uint8_t *val = TLVP_VAL(&tp, NM_ATT_ADD_TEXT); - p_text = talloc_strndup(tall_bsc_ctx, (const char *) val, - TLVP_LEN(&tp, NM_ATT_ADD_TEXT)); + if (abis_nm_tlv_parse(&sd->tp, bts, foh->data, oh->length-sizeof(*foh)) < 0) + goto fail; + + if (TLVP_PRESENT(&sd->tp, NM_ATT_ADD_TEXT)) { + const uint8_t *val = TLVP_VAL(&sd->tp, NM_ATT_ADD_TEXT); + p_text = talloc_strndup(sd, (const char *) val, TLVP_LEN(&sd->tp, NM_ATT_ADD_TEXT)); } - if (TLVP_PRESENT(&tp, NM_ATT_EVENT_TYPE)) - e_type = abis_nm_event_type_name(*TLVP_VAL(&tp, - NM_ATT_EVENT_TYPE)); + if (TLVP_PRESENT(&sd->tp, NM_ATT_EVENT_TYPE)) + e_type = abis_nm_event_type_name(*TLVP_VAL(&sd->tp, NM_ATT_EVENT_TYPE)); - if (TLVP_PRESENT(&tp, NM_ATT_SEVERITY)) - severity = abis_nm_severity_name(*TLVP_VAL(&tp, - NM_ATT_SEVERITY)); + if (TLVP_PRESENT(&sd->tp, NM_ATT_SEVERITY)) + severity = abis_nm_severity_name(*TLVP_VAL(&sd->tp, NM_ATT_SEVERITY)); - if (TLVP_PRESENT(&tp, NM_ATT_PROB_CAUSE)) { - p_val = TLVP_VAL(&tp, NM_ATT_PROB_CAUSE); + if (TLVP_PRESENT(&sd->tp, NM_ATT_PROB_CAUSE)) + p_val = TLVP_VAL(&sd->tp, NM_ATT_PROB_CAUSE); + sd->bts = bts; + sd->msg = mb; + if (e_type) + sd->parsed.event_type = e_type; + else + sd->parsed.event_type = talloc_strdup(sd, ""); + if (severity) + sd->parsed.severity = severity; + else + sd->parsed.severity = talloc_strdup(sd, ""); + if (p_text) + sd->parsed.additional_text = p_text; + else + sd->parsed.additional_text = talloc_strdup(sd, ""); + sd->parsed.probable_cause = p_val; + + return sd; +fail: + talloc_free(sd); + return NULL; +} + +static int rx_fail_evt_rep(struct msgb *mb, struct gsm_bts *bts) +{ + struct abis_om_fom_hdr *foh = msgb_l3(mb); + struct nm_fail_rep_signal_data *sd; + int rc = 0; + const uint8_t *p_val; + const char *e_type, *severity, *p_text; + + sd = abis_nm_fail_evt_rep_parse(mb, bts); + if (!sd) { + LOGPFOH(DNM, LOGL_ERROR, foh, "BTS%u: failed to parse Failure Event Report\n", bts->nr); + return -EINVAL; + } + e_type = sd->parsed.event_type; + severity = sd->parsed.severity; + p_text = sd->parsed.additional_text; + p_val = sd->parsed.probable_cause; + + if (p_val) { switch (p_val[0]) { case NM_PCAUSE_T_MANUF: handle_manufact_report(bts, p_val, e_type, severity, @@ -399,27 +438,8 @@ rc = -EINVAL; } - sd.bts = bts; - sd.msg = mb; - sd.tp = &tp; - if (e_type) - sd.parsed.event_type = e_type; - else - sd.parsed.event_type = ""; - if (severity) - sd.parsed.severity = severity; - else - sd.parsed.severity = ""; - if (p_text) - sd.parsed.additional_text = p_text; - else - sd.parsed.additional_text = ""; - sd.parsed.probable_cause = p_val; - osmo_signal_dispatch(SS_NM, S_NM_FAIL_REP, &sd); - - if (p_text) - talloc_free(p_text); - + osmo_signal_dispatch(SS_NM, S_NM_FAIL_REP, sd); + talloc_free(sd); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia51004faf620aa4d40435d58c70d758c9d0054d8 Gerrit-Change-Number: 17588 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 Fri Mar 27 09:40:04 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:40:04 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... Patch Set 7: Code-Review+2 1+1=2 (after Pau's +1, I've only changed one \n as suggested in the review) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 09:40: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 Mar 27 09:40:14 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Mar 2020 09:40:14 +0000 Subject: Change in osmo-bsc[master]: VTY: add show bts failure report In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17571 ) Change subject: VTY: add show bts failure report ...................................................................... VTY: add show bts failure report Save OML failure reports from each BTS. Add a VTY command to display them conveniently and optionally clear the list. OsmoBSC> show bts 0 fail-rep [2020-03-23 14:51:22] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY [2020-03-23 14:51:19] Type=processing failure, Severity=minor failure, Probable cause=Manufacturer specific values: Software warning, Additional text=test message sent from VTY Related: OS#1605 Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c 4 files changed, 86 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5afc2cf..2595174 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1005,6 +1005,12 @@ uint8_t overflow; }; +struct bts_oml_fail_rep { + struct llist_head list; + time_t time; + struct msgb *mb; +}; + /* One BTS */ struct gsm_bts { /* list header in net->bts_list */ @@ -1267,6 +1273,8 @@ struct bts_smscb_chan_state cbch_basic; struct bts_smscb_chan_state cbch_extended; struct osmo_timer_list etws_timer; /* when to stop ETWS PN */ + + struct llist_head oml_fail_rep; }; /* One rejected BTS */ diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 07effd3..32e9a8f 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -412,6 +412,21 @@ int rc = 0; const uint8_t *p_val; const char *e_type, *severity, *p_text; + struct bts_oml_fail_rep *entry; + + /* Store copy in bts->oml_fail_rep */ + entry = talloc_zero(bts, struct bts_oml_fail_rep); + OSMO_ASSERT(entry); + entry->time = time(NULL); + entry->mb = msgb_copy_c(entry, mb, "OML failure report"); + llist_add(&entry->list, &bts->oml_fail_rep); + + /* Limit list size */ + if (llist_count(&bts->oml_fail_rep) > 50) { + struct bts_oml_fail_rep *old = llist_last_entry(&bts->oml_fail_rep, struct bts_oml_fail_rep, list); + llist_del(&old->list); + talloc_free(old); + } sd = abis_nm_fail_evt_rep_parse(mb, bts); if (!sd) { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 39adb21..e9085b3 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -559,6 +559,67 @@ return CMD_SUCCESS; } +DEFUN(show_bts_fail_rep, show_bts_fail_rep_cmd, "show bts <0-255> fail-rep [reset]", + SHOW_STR "Display information about a BTS\n" + "BTS number\n" "OML failure reports\n" + "Clear the list of failure reports after showing them\n") +{ + struct gsm_network *net = gsmnet_from_vty(vty); + struct bts_oml_fail_rep *entry; + struct gsm_bts *bts; + int bts_nr; + + bts_nr = atoi(argv[0]); + if (bts_nr >= net->num_bts) { + vty_out(vty, "%% can't find BTS '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + bts = gsm_bts_num(net, bts_nr); + if (llist_empty(&bts->oml_fail_rep)) { + vty_out(vty, "No failure reports received.%s", VTY_NEWLINE); + return CMD_SUCCESS; + } + + llist_for_each_entry(entry, &bts->oml_fail_rep, list) { + struct nm_fail_rep_signal_data *sd; + char timestamp[20]; /* format like 2020-03-23 14:24:00 */ + enum abis_nm_pcause_type pcause; + enum abis_mm_event_causes cause; + + strftime(timestamp, sizeof(timestamp), "%F %T", localtime(&entry->time)); + sd = abis_nm_fail_evt_rep_parse(entry->mb, bts); + if (!sd) { + vty_out(vty, "[%s] (failed to parse report)%s", timestamp, VTY_NEWLINE); + continue; + } + pcause = sd->parsed.probable_cause[0]; + cause = osmo_load16be(sd->parsed.probable_cause + 1); + + vty_out(vty, "[%s] Type=%s, Severity=%s, ", timestamp, sd->parsed.event_type, sd->parsed.severity); + vty_out(vty, "Probable cause=%s: ", get_value_string(abis_nm_pcause_type_names, pcause)); + if (pcause == NM_PCAUSE_T_MANUF) + vty_out(vty, "%s, ", get_value_string(abis_mm_event_cause_names, cause)); + else + vty_out(vty, "%04X, ", cause); + vty_out(vty, "Additional text=%s%s", sd->parsed.additional_text, VTY_NEWLINE); + + talloc_free(sd); + } + + /* Optionally clear the list */ + if (argc > 1) { + while (!llist_empty(&bts->oml_fail_rep)) { + struct bts_oml_fail_rep *old = llist_last_entry(&bts->oml_fail_rep, struct bts_oml_fail_rep, + list); + llist_del(&old->list); + talloc_free(old); + } + } + + return CMD_SUCCESS; +} + DEFUN(show_rejected_bts, show_rejected_bts_cmd, "show rejected-bts", SHOW_STR "Display recently rejected BTS devices\n") { @@ -5272,6 +5333,7 @@ install_element_ve(&bsc_show_net_cmd); install_element_ve(&show_bts_cmd); + install_element_ve(&show_bts_fail_rep_cmd); install_element_ve(&show_rejected_bts_cmd); install_element_ve(&show_trx_cmd); install_element_ve(&show_trx_con_cmd); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index f12b032..fe421a4 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -881,6 +881,7 @@ INIT_LLIST_HEAD(&bts->abis_queue); INIT_LLIST_HEAD(&bts->loc_list); INIT_LLIST_HEAD(&bts->local_neighbors); + INIT_LLIST_HEAD(&bts->oml_fail_rep); /* Enable all codecs by default. These get reset to a more fine grained selection IF a * 'codec-support' config appears in the config file (see bsc_vty.c). */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I18aa17a721cd5eb1c98926dc2367229c0a50bc78 Gerrit-Change-Number: 17571 Gerrit-PatchSet: 7 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 Mar 27 13:31:40 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 27 Mar 2020 13:31:40 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 6: can anyone of you please code review this commit whenever you have some time to spare? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 13:31: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 Fri Mar 27 13:31:40 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 27 Mar 2020 13:31:40 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: herlesupreeth has removed laforge from this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Removed reviewer laforge with the following votes: * Code-Review+1 by laforge -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-MessageType: deleteReviewer -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 14:33:02 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 27 Mar 2020 14:33:02 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 6: sorry, removed Harald as reviewer by mistake -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 14:33: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 Mar 27 14:55:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 14:55:13 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 14: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 Fri Mar 27 14:55:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 14:55:22 +0000 Subject: Change in osmo-pcu[master]: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17614 ) Change subject: BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore ...................................................................... BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 0be3b3d..efddc03 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -188,7 +188,7 @@ static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp) { - char imsi[16]; + char imsi[OSMO_IMSI_BUF_SIZE]; uint16_t pgroup; const uint8_t *mi; uint8_t mi_len; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2079118100a3422e9c2ee63a5ac74e3ee81080b3 Gerrit-Change-Number: 17614 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria 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 Mar 27 14:55:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 14:55:22 +0000 Subject: Change in osmo-pcu[master]: BSSGP: fix: properly encode P-TMSI in RR Paging Request In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17617 ) Change subject: BSSGP: fix: properly encode P-TMSI in RR Paging Request ...................................................................... BSSGP: fix: properly encode P-TMSI in RR Paging Request The TMSI/P-TMSI IE in BSSGP PAGING-PS/CS comes without the MI type header, that must be present in RR Paging Request. Prepend it. TTCN-3 test case: I7fbec5b2c5c3943a7413417b623f55c135c152d7 Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e --- M src/gprs_bssgp_pcu.cpp 1 file changed, 36 insertions(+), 17 deletions(-) Approvals: keith: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index efddc03..b8e746a 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -166,22 +166,46 @@ ms_class, egprs_ms_class, delay_csec, data, len); } +/* Returns 0 on success, suggested BSSGP cause otherwise */ +static unsigned int get_paging_mi(const uint8_t **mi, uint8_t *mi_len, + const struct tlv_parsed *tp) +{ + static uint8_t tmsi_buf[GSM48_TMSI_LEN]; + + /* Use TMSI (if present) or IMSI */ + if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { + /* Be safe against an evil SGSN - check the length */ + if (TLVP_LEN(tp, BSSGP_IE_TMSI) != GSM23003_TMSI_NUM_BYTES) { + LOGP(DBSSGP, LOGL_NOTICE, "TMSI IE has odd length (!= 4)\n"); + return BSSGP_CAUSE_COND_IE_ERR; + } + + /* NOTE: TMSI (unlike IMSI) IE comes without MI type header */ + memcpy(tmsi_buf + 1, TLVP_VAL(tp, BSSGP_IE_TMSI), GSM23003_TMSI_NUM_BYTES); + tmsi_buf[0] = 0xf0 | GSM_MI_TYPE_TMSI; + + *mi_len = GSM48_TMSI_LEN; + *mi = tmsi_buf; + } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { + *mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); + *mi = TLVP_VAL(tp, BSSGP_IE_IMSI); + } else { + LOGP(DBSSGP, LOGL_ERROR, "Neither TMSI IE nor IMSI IE is present\n"); + return BSSGP_CAUSE_MISSING_COND_IE; + } + + return 0; +} + static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, struct tlv_parsed *tp) { const uint8_t *mi; uint8_t mi_len; + int rc; uint8_t *chan_needed = (uint8_t *)TLVP_VAL(tp, BSSGP_IE_CHAN_NEEDED); - if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { - mi_len = TLVP_LEN(tp, BSSGP_IE_TMSI); - mi = TLVP_VAL(tp, BSSGP_IE_TMSI); - } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { /* Use IMSI if TMSI not available: */ - mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - mi = TLVP_VAL(tp, BSSGP_IE_IMSI); - } else { - LOGP(DBSSGP, LOGL_ERROR, "Neither TMSI IE nor IMSI IE is present\n"); - return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg); - } + if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, mi, mi_len); } @@ -212,13 +236,8 @@ return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } - if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { - mi_len = TLVP_LEN(tp, BSSGP_IE_TMSI); - mi = TLVP_VAL(tp, BSSGP_IE_TMSI); - } else { /* Use IMSI if TMSI not available: */ - mi_len = TLVP_LEN(tp, BSSGP_IE_IMSI); - mi = TLVP_VAL(tp, BSSGP_IE_IMSI); - } + if ((rc = get_paging_mi(&mi, &mi_len, tp)) > 0) + return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); return gprs_rlcmac_paging_request(mi, mi_len, pgroup); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e Gerrit-Change-Number: 17617 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 14:55:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 14:55:23 +0000 Subject: Change in osmo-pcu[master]: pdch: fix packet_paging_request(): properly print paging MI In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17618 ) Change subject: pdch: fix packet_paging_request(): properly print paging MI ...................................................................... pdch: fix packet_paging_request(): properly print paging MI This problem problem was discovered by the Undefined Behavior Sanitizer: pdch.cpp:210:4: runtime error: load of misaligned address 0x60c00002abf2 for type 'uint32_t', which requires 4 byte alignment Do not convert TMSI to number, use osmo_mi_name() from libosmocore. Also use this function to print other MI types (IMSI or IMEISV). Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 --- M src/pdch.cpp 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 519028d..9910974 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -39,6 +39,7 @@ extern "C" { #include #include +#include #include #include #include @@ -204,11 +205,12 @@ /* loop until message is full */ while (pag) { + LOGP(DRLCMAC, LOGL_DEBUG, "Paging MI - %s\n", + osmo_mi_name(pag->identity_lv + 1, pag->identity_lv[0])); + /* try to add paging */ if ((pag->identity_lv[1] & 0x07) == 4) { /* TMSI */ - LOGP(DRLCMAC, LOGL_DEBUG, "- TMSI=0x%08x\n", - ntohl(*((uint32_t *)(pag->identity_lv + 1)))); len = 1 + 1 + 1 + 32 + 2 + 1; if (pag->identity_lv[0] != 5) { LOGP(DRLCMAC, LOGL_ERROR, "TMSI paging with " @@ -217,9 +219,6 @@ } } else { /* MI */ - LOGP(DRLCMAC, LOGL_DEBUG, "- MI=%s\n", - osmo_hexdump(pag->identity_lv + 1, - pag->identity_lv[0])); len = 1 + 1 + 1 + 4 + (pag->identity_lv[0]<<3) + 2 + 1; if (pag->identity_lv[0] > 8) { LOGP(DRLCMAC, LOGL_ERROR, "Paging with " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8836f216793e342b239c8e6645aac1e82bf324 Gerrit-Change-Number: 17618 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria 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 Mar 27 14:55:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 14:55:23 +0000 Subject: Change in osmo-pcu[master]: pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17619 ) Change subject: pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore ...................................................................... pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore Change-Id: I1d85c8eded68bc8aa8e90c33b36d335fa775ded2 --- M src/pdch.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 9910974..9b4d89b 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -209,7 +209,7 @@ osmo_mi_name(pag->identity_lv + 1, pag->identity_lv[0])); /* try to add paging */ - if ((pag->identity_lv[1] & 0x07) == 4) { + if ((pag->identity_lv[1] & GSM_MI_TYPE_MASK) == GSM_MI_TYPE_TMSI) { /* TMSI */ len = 1 + 1 + 1 + 32 + 2 + 1; if (pag->identity_lv[0] != 5) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d85c8eded68bc8aa8e90c33b36d335fa775ded2 Gerrit-Change-Number: 17619 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria 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 Mar 27 14:58:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 14:58:34 +0000 Subject: Change in openbsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/17635 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb Gerrit-Change-Number: 17635 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 14:58: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 Mar 27 15:03:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 15:03:18 +0000 Subject: Change in osmo-bsc[master]: VTY: let all descriptions end in \n In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17636 ) Change subject: VTY: let all descriptions end in \n ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 Gerrit-Change-Number: 17636 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 15:03: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 Mar 27 15:04:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 15:04:08 +0000 Subject: Change in osmo-bsc[master]: VTY: regenerate bsc_vty_reference.xml In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17637 ) Change subject: VTY: regenerate bsc_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I27bcde8d36dcf8daa9d24b4b581c9526b73cb35e Gerrit-Change-Number: 17637 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 15:04: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 Mar 27 15:06:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 15:06:41 +0000 Subject: Change in osmo-pcu[master]: tbf.cpp: Include c++ header required for new operator's replace... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17625 ) Change subject: tbf.cpp: Include c++ header required for new operator's replacement type ...................................................................... tbf.cpp: Include c++ header required for new operator's replacement type Including the header is required as explained by the c++ specs [1] osmo-pcu/src/tbf.cpp: In function ?gprs_rlcmac_ul_tbf* tbf_alloc_ul_tbf(gprs_rlcmac_bts*, GprsMs*, int8_t, uint8_t, uint8_t, bool)?: osmo-pcu/src/tbf.cpp:1002:39: error: no matching function for call to ?operator new(sizetype, gprs_rlcmac_ul_tbf*&)? 1002 | new (tbf) gprs_rlcmac_ul_tbf(bts->bts); | ^ Most of the times this issue is not detected because other STL headers are already including . [1] http://www.cplusplus.com/reference/new/operator%20new/ Change-Id: Ie5fb536ae29dcf40e2a0dbe67432bebd61b8c7aa --- M src/tbf.cpp M tests/ms/MsTest.cpp 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf.cpp b/src/tbf.cpp index 444cec0..9cba354 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -19,6 +19,8 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include + #include #include #include diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index 0c5ab9e..b5e30fb 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -40,6 +40,8 @@ #include #include +#include + void *tall_pcu_ctx; int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie5fb536ae29dcf40e2a0dbe67432bebd61b8c7aa Gerrit-Change-Number: 17625 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 15:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 15:21:52 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors 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/+/17626 to look at the new patch set (#2). Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... gsm_rlcmac: Disable unused CSN1 descriptors When switching to C compiler, it will warn/error. Use #if 0 as in the original wireshark.git epan/dissectors/packet-gsm_rlcmac.c code. Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 --- M src/gsm_rlcmac.cpp 1 file changed, 130 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/17626/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 15:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 15:21:52 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c In-Reply-To: References: Message-ID: Hello fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 to look at the new patch set (#2). Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Move gsm_rlcmac.cpp -> .c Original file from wireshark.git (packet-gsm_csn1.c) is being built and maintained as a C file. There's no real need for us to maintain it as a C++, and doing so will make both files derive over time (as already happened). Let's keep it as a C compiler (which btw seems to be more strict) to make it easier to port patches back and forth wireshark.git. Take the chance to move some declarations we added to csn1.h to be able to build it out of wireshark. Let's keep those in a separate header file to ease looking for differences. Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 --- M src/Makefile.am M src/bts.h M src/csn1.h M src/decoding.h M src/encoding.h M src/gprs_rlcmac.h R src/gsm_rlcmac.c M src/gsm_rlcmac.h M src/pdch.cpp M src/pdch.h M src/tbf.cpp A src/wireshark_compat.h M tests/rlcmac/RLCMACTest.cpp 13 files changed, 62 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/17627/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 15:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 15:21:52 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description 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/+/17628 to look at the new patch set (#3). Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description Port of patch (+ later fixes squashed) of wireshark.git commit dea5452b95dfaf18e38670a8e2b3b38f9175fdfd, from Lei Chen: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6856 Squashed wireshark.git fix commits: 774be29de0b4d93d01aecb1518c41d7d551071a9 51c31cd7bd3d8fc196a9f90a8af466ad84e9e6a8 6aca10831f86c562970b13efa811f46e25ee3091 c1ceac58cdb77051e9bd14c1f6f7669cf5779a86 Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 --- M src/csn1.c M src/csn1.h M src/gsm_rlcmac.c 3 files changed, 247 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/17628/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 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 Mar 27 17:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:22:45 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 17:22:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 17:22:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:22:56 +0000 Subject: Change in pysim[master]: cards.py: Added parsing of all the AIDs in the UICC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17519 ) Change subject: cards.py: Added parsing of all the AIDs in the UICC ...................................................................... cards.py: Added parsing of all the AIDs in the UICC Introduced a new member variable and a member function to Card class to fetch and store the AIDs present in UICC. And, this variable (a list) is populated by reading the EF 2f00 under MF 3f00 (function read_aids()). Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a --- M pySim/cards.py 1 file changed, 15 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index a872ee0..fe7f0fd 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -32,6 +32,7 @@ def __init__(self, scc): self._scc = scc self._adm_chv_num = 4 + self._aids = [] def reset(self): self._scc.reset_card() @@ -168,6 +169,20 @@ return None + # Fetch all the AIDs present on UICC + def read_aids(self): + 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']) + for i in range(0, rec_cnt): + rec = self._scc.read_record(['3f00', '2f00'], 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]) + except Exception as e: + print("Can't read AIDs from SIM -- %s" % (str(e),)) + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7ca77a73ebb42a8ba1381588d878040675d3019a Gerrit-Change-Number: 17519 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Fri Mar 27 17:22:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:22:57 +0000 Subject: Change in pysim[master]: pySim-read.py: Added a common card detection function for both pySim-... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17520 ) Change subject: pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py ...................................................................... pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py This function is used to detect the card type and return Card class/Card subclasses object if its a know card or else None. Also, an initial step towards refactoring of code. Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f --- M pySim-prog.py M pySim-read.py M pySim/cards.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 9 files changed, 44 insertions(+), 36 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index a7081ff..e3045a6 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -39,7 +39,7 @@ import simplejson as json from pySim.commands import SimCardCommands -from pySim.cards import _cards_classes +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.ts_51_011 import EF from pySim.card_handler import * @@ -609,36 +609,6 @@ fh.close() -def card_detect(opts, scc): - - # Detect type if needed - card = None - ctypes = dict([(kls.name, kls) for kls in _cards_classes]) - - if opts.type in ("auto", "auto_once"): - for kls in _cards_classes: - card = kls.autodetect(scc) - if card: - print("Autodetected card type: %s" % card.name) - card.reset() - break - - if card is None: - print("Autodetection failed") - return - - if opts.type == "auto_once": - opts.type = card.name - - elif opts.type in ctypes: - card = ctypes[opts.type](scc) - - else: - raise ValueError("Unknown card type: %s" % opts.type) - - return card - - def process_card(opts, first, card_handler): if opts.dry_run is False: @@ -647,7 +617,7 @@ if opts.dry_run is False: # Get card - card = card_detect(opts, scc) + card = card_detect(opts.type, scc) if card is None: print("No card detected!") return -1 diff --git a/pySim-read.py b/pySim-read.py index 55b43d7..bad2047 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -31,6 +31,7 @@ from pySim.ts_51_011 import EF, DF 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 @@ -94,6 +95,9 @@ # Program the card print("Reading ...") + # Initialize Card object by auto detecting the card + card = card_detect("auto", scc) or Card(scc) + # EF.ICCID (res, sw) = scc.read_binary(EF['ICCID']) if sw == '9000': diff --git a/pySim/cards.py b/pySim/cards.py index fe7f0fd..a43da9c 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1104,3 +1104,31 @@ card.reset() return card return None + +def card_detect(ctype, scc): + # Detect type if needed + card = None + ctypes = dict([(kls.name, kls) for kls in _cards_classes]) + + if ctype in ("auto", "auto_once"): + for kls in _cards_classes: + card = kls.autodetect(scc) + if card: + print("Autodetected card type: %s" % card.name) + card.reset() + break + + if card is None: + print("Autodetection failed") + return None + + if ctype == "auto_once": + ctype = card.name + + elif ctype in ctypes: + card = ctypes[ctype](scc) + + else: + raise ValueError("Unknown card type: %s" % ctype) + + return card diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index dfcf05d..ffe9c42 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -1,5 +1,6 @@ Using PC/SC reader (dev=0) interface Reading ... +Autodetected card type: Fairwaves-SIM ICCID: 8988219000000117833 IMSI: 001010000000111 GID1: ffffffffffffffff diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 8447023..03191b3 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -1,9 +1,10 @@ -Using PC/SC reader (dev=4) interface +Using PC/SC reader (dev=3) interface Reading ... +Autodetected card type: Wavemobile-SIM ICCID: 89445310150011013678 IMSI: 001010000000102 -GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. -GID2: Can't read file -- SW match failed! Expected 9000 and got 9404. +GID1: Can't read file -- SW match failed! Expected 9000 and got 6a82. +GID2: Can't read file -- SW match failed! Expected 9000 and got 6a82. SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff SPN: wavemobile Display HPLMN: False @@ -45,7 +46,7 @@ ffffff0000 # unused ffffff0000 # unused -HPLMNAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. +HPLMNAcT: Can't read file -- SW match failed! Expected 9000 and got 6a82. ACC: abce MSISDN: Not available AD: 00ffff02 diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 816b3dc..4ee5c7f 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -1,5 +1,6 @@ Using PC/SC reader (dev=2) interface Reading ... +Autodetected card type: fakemagicsim ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: 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 ce4ce7c..0ccb8e9 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -1,5 +1,6 @@ Using PC/SC reader (dev=0) interface Reading ... +Autodetected card type: sysmoISIM-SJA2 ICCID: 8988211900000000004 IMSI: 001010000000102 GID1: ffffffffffffffffffff diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 83a8e9e..0299e3f 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -1,5 +1,6 @@ Using PC/SC reader (dev=1) interface Reading ... +Autodetected card type: sysmoUSIM-SJS1 ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: ffffffffffffffffffff diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 50f949d..04e4965 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -1,5 +1,6 @@ Using PC/SC reader (dev=3) interface Reading ... +Autodetected card type: sysmosim-gr1 ICCID: 1122334455667788990 IMSI: 001010000000102 GID1: Can't read file -- SW match failed! Expected 9000 and got 9404. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71f57c6403dc933bd9d54f90df3d3fe105b4f66f Gerrit-Change-Number: 17520 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Fri Mar 27 17:24:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:24:27 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 27 Mar 2020 17:24: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 Mar 27 17:25:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:25:04 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17627 ) Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 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 Fri Mar 27 17:25:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:25:10 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 27 Mar 2020 17:25: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 Mar 27 17:25:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:25:30 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17628 ) Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 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 Fri Mar 27 17:25:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:25:54 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 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 Fri Mar 27 17:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:26:11 +0000 Subject: Change in osmo-pcu[master]: csn1: Fix Several typos & whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17630 ) Change subject: csn1: Fix Several typos & whitespace ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe31d52d4a5a4015196d73681082f68b99a80c77 Gerrit-Change-Number: 17630 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 17:26: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 Mar 27 17:26:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:26:23 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Mar 2020 17: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 Fri Mar 27 17:26:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:26:39 +0000 Subject: Change in osmo-pcu[master]: csn1: Properly verify CSN_BITMAP length In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17632 ) Change subject: csn1: Properly verify CSN_BITMAP length ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9f7672b534f9345caff99095504749eebad25adb Gerrit-Change-Number: 17632 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 17:26:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 17:26:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:26:54 +0000 Subject: Change in osmo-pcu[master]: csn1: Remove code block from CSN_NEXT_EXIST_LH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17633 ) Change subject: csn1: Remove code block from CSN_NEXT_EXIST_LH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b Gerrit-Change-Number: 17633 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Mar 2020 17:26: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 Mar 27 17:27:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:27:08 +0000 Subject: Change in osmo-bsc[master]: VTY: let all descriptions end in \n In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17636 ) Change subject: VTY: let all descriptions end in \n ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 Gerrit-Change-Number: 17636 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: Fri, 27 Mar 2020 17:27:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 17:27:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:27:27 +0000 Subject: Change in osmo-bsc[master]: VTY: regenerate bsc_vty_reference.xml In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17637 ) Change subject: VTY: regenerate bsc_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I27bcde8d36dcf8daa9d24b4b581c9526b73cb35e Gerrit-Change-Number: 17637 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 17:27:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 17:27:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:27:30 +0000 Subject: Change in osmo-bsc[master]: VTY: let all descriptions end in \n In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17636 ) Change subject: VTY: let all descriptions end in \n ...................................................................... VTY: let all descriptions end in \n Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 --- M src/osmo-bsc/abis_nm_vty.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 18 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/osmo-bsc/abis_nm_vty.c b/src/osmo-bsc/abis_nm_vty.c index b1c6d56..fe467fa 100644 --- a/src/osmo-bsc/abis_nm_vty.c +++ b/src/osmo-bsc/abis_nm_vty.c @@ -165,7 +165,7 @@ } DEFUN(oml_opstart, oml_opstart_cmd, - "opstart", "Send an OPSTART message to the object") + "opstart", "Send an OPSTART message to the object\n") { struct oml_node_state *oms = vty->index; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index e9085b3..a41db9f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -536,7 +536,7 @@ DEFUN(show_bts, show_bts_cmd, "show bts [<0-255>]", SHOW_STR "Display information about a BTS\n" - "BTS number") + "BTS number\n") { struct gsm_network *net = gsmnet_from_vty(vty); int bts_nr; @@ -2560,7 +2560,7 @@ "ccch load-indication-threshold <0-100>", CCCH_STR "Percentage of CCCH load at which BTS sends RSL CCCH LOAD IND\n" - "CCCH Load Threshold in percent (Default: 10)") + "CCCH Load Threshold in percent (Default: 10)\n") { struct gsm_bts *bts = vty->index; bts->ccch_load_ind_thresh = atoi(argv[0]); @@ -2575,7 +2575,7 @@ RACH_STR NM_STR "Set the NM Busy Threshold\n" "Set the NM Busy Threshold\n" - "NM Busy Threshold in dB") + "NM Busy Threshold in dB\n") { struct gsm_bts *bts = vty->index; bts->rach_b_thresh = atoi(argv[0]); @@ -2679,7 +2679,7 @@ "MS Options\n" "Maximum transmit power of the MS\n" "Maximum transmit power of the MS\n" - "Maximum transmit power of the MS in dBm") + "Maximum transmit power of the MS in dBm\n") { struct gsm_bts *bts = vty->index; @@ -2694,7 +2694,7 @@ "cell reselection hysteresis <0-14>", CELL_STR "Cell re-selection parameters\n" "Cell Re-Selection Hysteresis in dB\n" - "Cell Re-Selection Hysteresis in dB") + "Cell Re-Selection Hysteresis in dB\n") { struct gsm_bts *bts = vty->index; @@ -2708,7 +2708,7 @@ "Minimum RxLev needed for cell access\n" "Minimum RxLev needed for cell access\n" "Minimum RxLev needed for cell access\n" - "Minimum RxLev needed for cell access (better than -110dBm)") + "Minimum RxLev needed for cell access (better than -110dBm)\n") { struct gsm_bts *bts = vty->index; @@ -2749,7 +2749,7 @@ "temporary offset <0-60>", "Cell selection temporary negative offset\n" "Cell selection temporary negative offset\n" - "Cell selection temporary negative offset in dB") + "Cell selection temporary negative offset in dB\n") { struct gsm_bts *bts = vty->index; @@ -2763,7 +2763,7 @@ "temporary offset infinite", "Cell selection temporary negative offset\n" "Cell selection temporary negative offset\n" - "Sets cell selection temporary negative offset to infinity") + "Sets cell selection temporary negative offset to infinity\n") { struct gsm_bts *bts = vty->index; @@ -2793,7 +2793,7 @@ "Cell selection penalty time\n" "Set cell selection penalty time to reserved value 31, " "(indicate that CELL_RESELECT_OFFSET is subtracted from C2 " - "and TEMPORARY_OFFSET is ignored)") + "and TEMPORARY_OFFSET is ignored)\n") { struct gsm_bts *bts = vty->index; @@ -2840,7 +2840,7 @@ GPRS_TEXT "GPRS Cell Settings\n" "GPRS BSSGP VC Identifier\n" - "GPRS BSSGP VC Identifier") + "GPRS BSSGP VC Identifier\n") { /* ETSI TS 101 343: values 0 and 1 are reserved for signalling and PTM */ struct gsm_bts *bts = vty->index; @@ -2859,7 +2859,7 @@ "gprs nsei <0-65535>", GPRS_TEXT "GPRS NS Entity Identifier\n" - "GPRS NS Entity Identifier") + "GPRS NS Entity Identifier\n") { struct gsm_bts *bts = vty->index; @@ -2880,7 +2880,7 @@ "gprs nsvc <0-1> nsvci <0-65535>", GPRS_TEXT NSVC_TEXT "NS Virtual Connection Identifier\n" - "GPRS NS VC Identifier") + "GPRS NS VC Identifier\n") { struct gsm_bts *bts = vty->index; int idx = atoi(argv[0]); @@ -3131,7 +3131,7 @@ "gprs 11bit_rach_support_for_egprs (0|1)", GPRS_TEXT "11 bit RACH options\n" "Disable 11 bit RACH for EGPRS\n" - "Enable 11 bit RACH for EGPRS") + "Enable 11 bit RACH for EGPRS\n") { struct gsm_bts *bts = vty->index; @@ -4200,8 +4200,8 @@ DEFUN(cfg_trx, cfg_trx_cmd, "trx <0-255>", - TRX_TEXT - "Select a TRX to configure") + TRX_TEXT + "Select a TRX to configure\n") { int trx_nr = atoi(argv[0]); struct gsm_bts *bts = vty->index; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index e656d70..c372b48 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -539,7 +539,7 @@ 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.") + "The name of the to be used access list.\n") { struct bsc_msc_data *msc = bsc_msc_data(vty); @@ -792,7 +792,7 @@ 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.") + "The name of the to be used access list.\n") { struct osmo_bsc_data *bsc = osmo_bsc_data(vty); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a183078679db50567286a78c9e4f9afa3466c6 Gerrit-Change-Number: 17636 Gerrit-PatchSet: 1 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 Fri Mar 27 17:27:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:27:30 +0000 Subject: Change in osmo-bsc[master]: VTY: regenerate bsc_vty_reference.xml In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17637 ) Change subject: VTY: regenerate bsc_vty_reference.xml ...................................................................... VTY: regenerate bsc_vty_reference.xml Change-Id: I27bcde8d36dcf8daa9d24b4b581c9526b73cb35e --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 88 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 8401043..48b9fb5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -18,10 +18,11 @@ - + + @@ -138,6 +139,15 @@ + + + + + + + + + @@ -640,6 +650,13 @@ + + + + + + + @@ -832,6 +849,15 @@ + + + + + + + + + @@ -1549,6 +1575,13 @@ + + + + + + + @@ -2149,7 +2182,7 @@ config-e1_input - + @@ -2157,8 +2190,9 @@ - - + + + @@ -2210,6 +2244,23 @@ + + + + + + + + + + + + + + + + + @@ -2446,6 +2497,15 @@ + + + + + + + + + config-cs7-asp @@ -2473,6 +2533,21 @@ + + + + + + + + + + + + + + + @@ -2657,6 +2732,11 @@ + + + + + @@ -3680,10 +3760,11 @@ - + - - + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I27bcde8d36dcf8daa9d24b4b581c9526b73cb35e Gerrit-Change-Number: 17637 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 Mar 27 17:28:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:28:43 +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 4: Code-Review-1 should be configurable -- 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: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 27 Mar 2020 17: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 Fri Mar 27 17:29:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 17:29:55 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not 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 not loglevel is set ...................................................................... Patch Set 1: isn't it possible to cover this in libosmocore instead of having to implement it in each and every application? -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 27 Mar 2020 17:29: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 Mar 27 18:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 18:09:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 ) Change subject: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit ...................................................................... deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit This revision has an important fix concerning the length limitations of Mobile Identity IE (see 3GPP TS 24.008, section 10.5.1.4) when no identity is present (see 'No_Identity' record). Change-Id: If5339c7a91b4e0188194f1cd935798f153974e01 --- M deps/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/17638/1 diff --git a/deps/Makefile b/deps/Makefile index c5af426..65958ae 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -96,7 +96,7 @@ titan.ProtocolModules.MAP_commit= R.2.A-1-g79c6a3d titan.ProtocolModules.M2PA_commit= R.2.A-5-ga75b589 titan.ProtocolModules.M3UA_commit= c496d298876fed55c2b730278b7ee77982555563 -titan.ProtocolModules.MobileL3_v13.4.0_commit= 2b5149e158e8077a7b9cf431b0c6b635f874c63b +titan.ProtocolModules.MobileL3_v13.4.0_commit= badbad680df216b3211260d56b14734eeb2c9028 titan.ProtocolModules.NAS_EPS_15.2.0.1_commit= R.1.A-2-g2ba853c titan.ProtocolModules.NS_v7.3.0_commit= R.2.A-6-gf73f195 titan.ProtocolModules.RTP_commit= R.5.A-4-g83ee83a -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5339c7a91b4e0188194f1cd935798f153974e01 Gerrit-Change-Number: 17638 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 Mar 27 18:09:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 18:09:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: do not duplicate Mobile Identity records References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 ) Change subject: library/GSM_RR_Types: do not duplicate Mobile Identity records ...................................................................... library/GSM_RR_Types: do not duplicate Mobile Identity records All the records related to Mobile Identity IE (see 3GPP TS 24.008, section 10.5.1.4) are defined in [1], so there is no real need to dumplicate them. Moreover, most of the related templates in library/L3_Templates.ttcn are based on these records. [1] titan.ProtocolModules.MobileL3_v13.4.0/src/MobileL3_CommonIE_Types.ttcn Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced --- M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn M library/BSSGP_Types.ttcn M library/GSM_RR_Types.ttcn 5 files changed, 24 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/17639/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index d020d95..de7102e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1301,7 +1301,7 @@ template OCT4 tmsi := omit) runs on test_CT { var template BSSMAP_IE_ChannelNeeded bssmap_chneed; - var MobileIdentity mi; + /* FIXME (unused): var MobileIdentity mi; */ var template octetstring id_enc; /* FIXME */ var RSL_Message rx_rsl; var integer paging_group := hex2int(imsi[lengthof(imsi)-1]); diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 46c9647..3018bca 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2979,7 +2979,7 @@ var integer new_sent := f_min(pkt_total, float2int(T_total.read * pch_blocks_per_sec) + 1); while (st.num_paging_sent < new_sent) { /* build mobile Identity */ - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; if (cfg.use_tmsi) { mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); } else { @@ -4570,7 +4570,7 @@ f_init_pcu_test(); for (var integer i := 0; i < 100; i := i+1) { - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; timer T := 3.0; if (i < 50) { mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 292205a..ebd8d0f 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -894,12 +894,14 @@ }, page_mode := PAGE_MODE_NORMAL, mi1 := { - len := 1, - mi := { - unused := { - pad := '1111'B, - odd := false, - mi_type := MI_TYPE_NONE + lengthIndicator := 1, + mobileIdentityV := { + typeOfIdentity := '000'B, + oddEvenInd_identity := { + no_identity := { + oddevenIndicator := '0'B, + fillerDigits := 'F'H + } } } }, diff --git a/library/BSSGP_Types.ttcn b/library/BSSGP_Types.ttcn index d51bb6d..e9984d8 100644 --- a/library/BSSGP_Types.ttcn +++ b/library/BSSGP_Types.ttcn @@ -245,9 +245,9 @@ BssgpCause cause, /* 11.3.8 */ BssgpCellId cell_id, /* 11.3.9 */ DrxParameter drx_parameter, /* 10.3.11 */ - MobileIdentity imsi, /* 11.3.14 */ + MobileIdentityV imsi, /* 11.3.14 */ LocationAreaIdentification lai, /* 11.3.17 */ - MobileIdentity mobile_id, /* 11.3.20 */ + MobileIdentityV mobile_id, /* 11.3.20 */ BssgpPduLifetime pdu_lifetime, /* 11.3.25 */ BssgpPriority priority, /* 11.3.27 */ BssgpQosProfile qos_profile, /* 11.3.28 */ @@ -388,10 +388,14 @@ len := 4, u := { mobile_id := { - imsi := { - mi_type := MI_TYPE_IMSI, - odd := true, /* IMSI has 15 digits */ - digits := imsi + typeOfIdentity := MI_TYPE_IMSI, + oddEvenInd_identity := { + imsi := { + /* TODO: introduce generic tr_IMSI_L3 */ + oddevenIndicator := true, /* IMSI has 15 digits */ + digits := imsi, + fillerDigit := '1111'B + } } } } diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 9fd7733..878166b 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -16,6 +16,7 @@ import from Osmocom_Types all; import from GSM_Types all; import from RLCMAC_CSN1_Types all; + import from MobileL3_CommonIE_Types all; /* Table 10.4.1 of Section 10.4 / 3GPP TS 44.018 */ type enumerated RrMessageType { @@ -205,51 +206,6 @@ MI_TYPE_TMGI } with { variant "FIELDLENGTH(3)" }; - type record MobileIdentityBCD { - MobileIdentityType mi_type (MI_TYPE_IMSI, MI_TYPE_IMEI, MI_TYPE_IMEISV), - boolean odd, - hexstring digits - } with { variant "FIELDORDER(lsb)" }; - - type record MobileIdentityTMSI { - BIT4 pad ('1111'B), - boolean odd (false), - MobileIdentityType mi_type (MI_TYPE_TMSI), - GsmTmsi tmsi - } with { variant "FIELDORDER(lsb)" }; - - type record MobileIdentityNone { - BIT4 pad ('1111'B), - boolean odd (false), - MobileIdentityType mi_type (MI_TYPE_NONE) - } with { variant "FIELDORDER(lsb)" }; - - type union MobileIdentity { - MobileIdentityBCD imsi, - MobileIdentityBCD imei, - MobileIdentityBCD imeisv, - MobileIdentityTMSI tmsi, - MobileIdentityNone unused - } with { variant "TAG(imsi, mi_type = MI_TYPE_IMSI; - imei, mi_type = MI_TYPE_IMEI; - imeisv, mi_type = MI_TYPE_IMEISV; - tmsi, mi_type = MI_TYPE_TMSI; - unused, mi_type = MI_TYPE_NONE)" - variant "FIELDORDER(lsb)" - }; - - /* TS 24.008 10.5.1.4 "Mobile Identity" */ - type record MobileIdentityLV { - uint8_t len, - MobileIdentity mi - } with { variant (len) "LENGTHTO(mi)" }; - - type record MobileIdentityTLV { - uint8_t tag, - uint8_t len, - MobileIdentity mi - } with { variant (len) "LENGTHTO(mi)" }; - /* TS 24.008 10.5.1.5 */ type record MsClassmark1 { BIT1 spare, @@ -762,7 +718,7 @@ MobileIdentityLV mi1, MobileIdentityTLV mi2 optional, RestOctets rest_octets - } with { variant "TAG(mi2, tag = 23)" }; + } with { variant "TAG(mi2, elementIdentifier = '0010111'B)" }; /* 9.1.23 */ type record PagingRequestType2 { @@ -772,7 +728,7 @@ GsmTmsi mi2, MobileIdentityTLV mi3 optional, RestOctets rest_octets - } with { variant "TAG(mi3, tag = 23)" }; + } with { variant "TAG(mi3, elementIdentifier = '0010111'B)" }; /* 9.1.24 */ type record length(4) of GsmTmsi GsmTmsi4; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced Gerrit-Change-Number: 17639 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 Mar 27 18:18:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 18:18:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 ) Change subject: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5339c7a91b4e0188194f1cd935798f153974e01 Gerrit-Change-Number: 17638 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 18:18: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 Mar 27 18:21:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 18:21:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: do not duplicate Mobile Identity records In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 ) Change subject: library/GSM_RR_Types: do not duplicate Mobile Identity records ...................................................................... Patch Set 1: Code-Review+1 (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639/1/bsc/BSC_Tests.ttcn at 1297 PS1, Line 1297: private function f_pageing_helper(hexstring imsi, long life the pageing! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced Gerrit-Change-Number: 17639 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 18:21: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 Fri Mar 27 19:02:08 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Fri, 27 Mar 2020 19:02:08 +0000 Subject: Change in openbsc[master]: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages In-Reply-To: References: Message-ID: keith has submitted this change. ( https://gerrit.osmocom.org/c/openbsc/+/17635 ) Change subject: rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages ...................................................................... rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages Backport of osmo-bsc 6b9e0e4e8834428f85f169106ed7b6141f5b185b (1) and 60d6d530ac6883db4f5c0394541ad654ddfd526c (2) (1) TS 48.058 sec 8.4.1 CHANNEL ACTIVATION and state: """ The BS and MS Power Parameters elements are included to indicate that BS and/or MS power control is to be performed by BTS. The maximum power to be used is indicated in the BS and MS Power elements respectively. """ Since we always want the BTS to do autonomous MS power control, let's add it. (2)Send IE MS Power Param to osmocom BTS models only Since MS Power Param IE content is operator dependant, it's currently not known which kind of content non-osmocom BTS support/allow, so let's avod possibily breaking those BTS until each BTS has been checked separately. Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb --- M openbsc/src/libbsc/abis_rsl.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified keith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c index 5a508b2..b06f61d 100644 --- a/openbsc/src/libbsc/abis_rsl.c +++ b/openbsc/src/libbsc/abis_rsl.c @@ -686,6 +686,13 @@ msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power); msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta); + /* indicate MS power control to be performed by BTS: */ + if (lchan->ts->trx->bts->type == GSM_BTS_TYPE_OSMOBTS) + msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); + /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not + known if non-osmocom BTS models will support an empty IE, so let's + better skip sending it unless we know for sure what each expects. */ + mr_config_for_bts(lchan, msg); msg->dst = lchan->ts->trx->rsl_link; -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/17635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb Gerrit-Change-Number: 17635 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder 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 Fri Mar 27 20:29:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 20:29:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 ) Change subject: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5339c7a91b4e0188194f1cd935798f153974e01 Gerrit-Change-Number: 17638 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 20:29: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 Mar 27 20:29:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 27 Mar 2020 20:29:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 ) Change subject: deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit ...................................................................... deps/Makefile: bump titan.ProtocolModules.MobileL3_v13.4.0_commit This revision has an important fix concerning the length limitations of Mobile Identity IE (see 3GPP TS 24.008, section 10.5.1.4) when no identity is present (see 'No_Identity' record). Change-Id: If5339c7a91b4e0188194f1cd935798f153974e01 --- M deps/Makefile 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/deps/Makefile b/deps/Makefile index c5af426..65958ae 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -96,7 +96,7 @@ titan.ProtocolModules.MAP_commit= R.2.A-1-g79c6a3d titan.ProtocolModules.M2PA_commit= R.2.A-5-ga75b589 titan.ProtocolModules.M3UA_commit= c496d298876fed55c2b730278b7ee77982555563 -titan.ProtocolModules.MobileL3_v13.4.0_commit= 2b5149e158e8077a7b9cf431b0c6b635f874c63b +titan.ProtocolModules.MobileL3_v13.4.0_commit= badbad680df216b3211260d56b14734eeb2c9028 titan.ProtocolModules.NAS_EPS_15.2.0.1_commit= R.1.A-2-g2ba853c titan.ProtocolModules.NS_v7.3.0_commit= R.2.A-6-gf73f195 titan.ProtocolModules.RTP_commit= R.5.A-4-g83ee83a -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5339c7a91b4e0188194f1cd935798f153974e01 Gerrit-Change-Number: 17638 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 Mar 27 20:29:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 20:29:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: do not duplicate Mobile Identity records 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/+/17639 to look at the new patch set (#2). Change subject: library/GSM_RR_Types: do not duplicate Mobile Identity records ...................................................................... library/GSM_RR_Types: do not duplicate Mobile Identity records All the records related to Mobile Identity IE (see 3GPP TS 24.008, section 10.5.1.4) are defined in [1], so there is no real need to dumplicate them. Moreover, most of the related templates in library/L3_Templates.ttcn are based on these records. [1] titan.ProtocolModules.MobileL3_v13.4.0/src/MobileL3_CommonIE_Types.ttcn Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced --- M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn M library/BSSGP_Types.ttcn M library/GSM_RR_Types.ttcn M library/L3_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M pcu/PCU_Tests_RAW.ttcn M sgsn/SGSN_Tests.ttcn 9 files changed, 33 insertions(+), 71 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/17639/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced Gerrit-Change-Number: 17639 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 Fri Mar 27 20:33:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 20:33:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: do not duplicate Mobile Identity records In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 ) Change subject: library/GSM_RR_Types: do not duplicate Mobile Identity records ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced Gerrit-Change-Number: 17639 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 20: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 Fri Mar 27 22:14:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:14:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: Paging Request Type 1 may contain second MI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 ) Change subject: library/GSM_RR_Types: Paging Request Type 1 may contain second MI ...................................................................... library/GSM_RR_Types: Paging Request Type 1 may contain second MI Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f --- M library/GSM_RR_Types.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/17640/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 878166b..9d71f80 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -989,7 +989,8 @@ } }; - template GsmRrMessage tr_PAG_REQ1(template MobileIdentityLV mi1 := ?) := { + template GsmRrMessage tr_PAG_REQ1(template MobileIdentityLV mi1 := ?, + template MobileIdentityTLV mi2 := omit) := { header := t_RrHeader(PAGING_REQUEST_TYPE_1, ?), payload := { pag_req_1 := { @@ -999,7 +1000,7 @@ }, page_mode := PAGE_MODE_NORMAL, mi1 := mi1, - mi2 := omit, + mi2 := mi2, rest_octets := ? } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f Gerrit-Change-Number: 17640 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 Mar 27 22:14:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:14:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: add more templates for Mobile Identity IE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17641 ) Change subject: library/L3_Templates: add more templates for Mobile Identity IE ...................................................................... library/L3_Templates: add more templates for Mobile Identity IE Change-Id: Ia01507ff945d5ef2f9f796e57ae658203888c32c --- M library/L3_Templates.ttcn M pcu/osmo-pcu.cfg M start-testsuite.sh 3 files changed, 76 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/17641/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index af4a573..7e53709 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -63,6 +63,67 @@ } +/* 3GPP TS 24.008, section 10.5.1.4 "Mobile Identity" */ +template (value) MobileIdentityTLV ts_MI_TLV(template (value) MobileIdentityV mi) := { + elementIdentifier := '0010111'B, + spare1 := '0'B, + mobileIdentityLV := ts_MI_LV(mi) +}; +template MobileIdentityTLV tr_MI_TLV(template MobileIdentityV mi) := { + elementIdentifier := '0010111'B, + spare1 := '0'B, + mobileIdentityLV := tr_MI_LV(mi) +}; + +template (value) MobileIdentityLV ts_MI_LV(template (value) MobileIdentityV mi) := { + lengthIndicator := 0, /* overwritten */ + mobileIdentityV := mi +}; +template MobileIdentityLV tr_MI_LV(template MobileIdentityV mi) := { + lengthIndicator := ?, + mobileIdentityV := mi +}; + +/* Universal (send & receive) template for No Identity */ +template MobileIdentityV t_MI_NoIdentity(template (present) hexstring filler := 'F'H) := { + typeOfIdentity := '000'B, + oddEvenInd_identity := { + no_identity := { + /* Always old, since length can be 1, 3, or 5 */ + oddevenIndicator := '0'B, + fillerDigits := filler + } + } +}; + +/* Universal (send & receive) template for TMSI/P-TMSI */ +template MobileIdentityV t_MI_TMSI(template (present) OCT4 tmsi) := { + typeOfIdentity := '100'B, + oddEvenInd_identity := { + tmsi_ptmsi := { + oddevenIndicator := '0'B, + fillerDigit := '1111'B, + octets := tmsi + } + } +}; + +private function f_tr_MI_IMSI(template (present) hexstring digits) +return template (present) IMSI_L3 { + if (istemplatekind(digits, "?")) { + return ?; + } else { + return f_enc_IMSI_L3(valueof(digits)) + } +} +template MobileIdentityV tr_MI_IMSI(template hexstring imsi) := { + typeOfIdentity := '001'B, + oddEvenInd_identity := { + imsi := f_tr_MI_IMSI(imsi) + } +}; + + /* send template for Mobile Identity (TMSI) */ template MobileIdentityLV ts_MI_TMSI_LV(OCT4 tmsi) := { lengthIndicator := 0, /* overwritten */ diff --git a/pcu/osmo-pcu.cfg b/pcu/osmo-pcu.cfg index d6213b5..20d7a37 100644 --- a/pcu/osmo-pcu.cfg +++ b/pcu/osmo-pcu.cfg @@ -20,3 +20,17 @@ alpha 0 gamma 0 pcu-socket /tmp/pcu_bts + gsmtap-category dl-unknown + gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach diff --git a/start-testsuite.sh b/start-testsuite.sh index a6380b7..530e2c4 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -43,9 +43,7 @@ #TTCN3_BIN_DIR="$TTCN3_DIR/bin" # below is for the debian packages -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 +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SUITE_DIR" ttcn3_start $SUITE $CFG $TEST expected="$SUITE_DIR/expected-results.xml" if [ ! -f "$expected" ]; then -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia01507ff945d5ef2f9f796e57ae658203888c32c Gerrit-Change-Number: 17641 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 Mar 27 22:14:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:14:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 ) Change subject: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates ...................................................................... library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f --- M library/BSSGP_Types.ttcn 1 file changed, 1 insertion(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/17642/1 diff --git a/library/BSSGP_Types.ttcn b/library/BSSGP_Types.ttcn index e9984d8..fd12a9d 100644 --- a/library/BSSGP_Types.ttcn +++ b/library/BSSGP_Types.ttcn @@ -386,19 +386,7 @@ template BssgpTLV t_BSSGP_IE_Imsi(template hexstring imsi) := { iei := IMSI, len := 4, - u := { - mobile_id := { - typeOfIdentity := MI_TYPE_IMSI, - oddEvenInd_identity := { - imsi := { - /* TODO: introduce generic tr_IMSI_L3 */ - oddevenIndicator := true, /* IMSI has 15 digits */ - digits := imsi, - fillerDigit := '1111'B - } - } - } - } + u := { mobile_id := tr_MI_IMSI(imsi) } } template BssgpTLV t_BSSGP_IE_Qos(BssgpQosProfile qos) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f Gerrit-Change-Number: 17642 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 Mar 27 22:14:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:14:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: use t_MI_NoIdentity() from library/L3_Templates References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 ) Change subject: BTS_Tests_SMSCB: use t_MI_NoIdentity() from library/L3_Templates ...................................................................... BTS_Tests_SMSCB: use t_MI_NoIdentity() from library/L3_Templates Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a --- M bts/BTS_Tests_SMSCB.ttcn 1 file changed, 1 insertion(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/17643/1 diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index ebd8d0f..8a1b71d 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -893,18 +893,7 @@ first := CHAN_NEED_ANY }, page_mode := PAGE_MODE_NORMAL, - mi1 := { - lengthIndicator := 1, - mobileIdentityV := { - typeOfIdentity := '000'B, - oddEvenInd_identity := { - no_identity := { - oddevenIndicator := '0'B, - fillerDigits := 'F'H - } - } - } - }, + mi1 := t_MI_NoIdentity(), mi2 := omit, rest_octets := ? } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a Gerrit-Change-Number: 17643 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 Mar 27 22:14:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:14:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 ) Change subject: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI ...................................................................... PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 22 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/17644/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 6e11889..f6960a5 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -366,25 +366,38 @@ } /* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_pag_req1(out integer imsi_suff_rx, out GsmRrMessage rr_pag_req1) +private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, + template integer pag_group := ?) runs on RAW_PCU_Test_CT { + 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); - imsi_suff_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + + 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())) { + 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; } + + /* 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; + } + BTS.send(ts_PCUIF_DATA_CNF(bts_nr := 0, trx_nr := 0, ts_nr := 0, block_nr := 0, fn := pcu_msg.u.data_req.fn, arfcn := 871, sapi := PCU_IF_SAPI_PCH, data := macblock)); } @@ -1502,12 +1515,9 @@ */ private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_pag_req1; var OCT4 tlli := '00000001'O; - var integer imsi_suff_rx; var integer imsi_suff_tx := 423; var hexstring imsi := f_gen_imsi(imsi_suff_tx); - var GsmTmsi tmsi; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1519,22 +1529,17 @@ f_bssgp_establish(); f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); - /* Send paging request with or without TMSI */ + /* 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. */ if (use_ptmsi) { - tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ - BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, tmsi)); + var OCT4 tmsi := f_rnd_octstring(4); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, oct2int(tmsi))); + f_pcuif_rx_pch_pag_req1(t_MI_TMSI(tmsi), imsi_suff_tx); } else { BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); } - /* Receive it on BTS side towards MS */ - f_pcuif_rx_pch_pag_req1(imsi_suff_rx, rr_pag_req1); - if (imsi_suff_rx != imsi_suff_tx) { - setverdict(fail, "Wrong IMSI suffix: expected ", imsi_suff_tx, " but received ", imsi_suff_rx); - mtc.stop; - } - - /* TODO: match MI (P-TMSI/IMSI) of received RR Paging Request */ setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 Gerrit-Change-Number: 17644 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 Mar 27 22:17:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:17:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: add more templates for Mobile Identity IE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 ) Change subject: library/L3_Templates: add more templates for Mobile Identity IE ...................................................................... library/L3_Templates: add more templates for Mobile Identity IE Change-Id: Ife954becab8c51605da05618a721541e7a4de319 --- M library/L3_Templates.ttcn 1 file changed, 61 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/45/17645/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index af4a573..7e53709 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -63,6 +63,67 @@ } +/* 3GPP TS 24.008, section 10.5.1.4 "Mobile Identity" */ +template (value) MobileIdentityTLV ts_MI_TLV(template (value) MobileIdentityV mi) := { + elementIdentifier := '0010111'B, + spare1 := '0'B, + mobileIdentityLV := ts_MI_LV(mi) +}; +template MobileIdentityTLV tr_MI_TLV(template MobileIdentityV mi) := { + elementIdentifier := '0010111'B, + spare1 := '0'B, + mobileIdentityLV := tr_MI_LV(mi) +}; + +template (value) MobileIdentityLV ts_MI_LV(template (value) MobileIdentityV mi) := { + lengthIndicator := 0, /* overwritten */ + mobileIdentityV := mi +}; +template MobileIdentityLV tr_MI_LV(template MobileIdentityV mi) := { + lengthIndicator := ?, + mobileIdentityV := mi +}; + +/* Universal (send & receive) template for No Identity */ +template MobileIdentityV t_MI_NoIdentity(template (present) hexstring filler := 'F'H) := { + typeOfIdentity := '000'B, + oddEvenInd_identity := { + no_identity := { + /* Always old, since length can be 1, 3, or 5 */ + oddevenIndicator := '0'B, + fillerDigits := filler + } + } +}; + +/* Universal (send & receive) template for TMSI/P-TMSI */ +template MobileIdentityV t_MI_TMSI(template (present) OCT4 tmsi) := { + typeOfIdentity := '100'B, + oddEvenInd_identity := { + tmsi_ptmsi := { + oddevenIndicator := '0'B, + fillerDigit := '1111'B, + octets := tmsi + } + } +}; + +private function f_tr_MI_IMSI(template (present) hexstring digits) +return template (present) IMSI_L3 { + if (istemplatekind(digits, "?")) { + return ?; + } else { + return f_enc_IMSI_L3(valueof(digits)) + } +} +template MobileIdentityV tr_MI_IMSI(template hexstring imsi) := { + typeOfIdentity := '001'B, + oddEvenInd_identity := { + imsi := f_tr_MI_IMSI(imsi) + } +}; + + /* send template for Mobile Identity (TMSI) */ template MobileIdentityLV ts_MI_TMSI_LV(OCT4 tmsi) := { lengthIndicator := 0, /* overwritten */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife954becab8c51605da05618a721541e7a4de319 Gerrit-Change-Number: 17645 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 Mar 27 22:18:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:18:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: add more templates for Mobile Identity IE In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17641 ) Change subject: library/L3_Templates: add more templates for Mobile Identity IE ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17641 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia01507ff945d5ef2f9f796e57ae658203888c32c Gerrit-Change-Number: 17641 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 Fri Mar 27 22:21:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 22:21:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: Paging Request Type 1 may contain second MI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 ) Change subject: library/GSM_RR_Types: Paging Request Type 1 may contain second MI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f Gerrit-Change-Number: 17640 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 22:21: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 Mar 27 22:21:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:21:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates 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/+/17642 to look at the new patch set (#3). Change subject: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates ...................................................................... library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f --- M library/BSSGP_Types.ttcn 1 file changed, 2 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/17642/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f Gerrit-Change-Number: 17642 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 Fri Mar 27 22:21:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:21:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: use t_MI_NoIdentity() from library/L3_Templates 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/+/17643 to look at the new patch set (#3). Change subject: BTS_Tests_SMSCB: use t_MI_NoIdentity() from library/L3_Templates ...................................................................... BTS_Tests_SMSCB: use t_MI_NoIdentity() from library/L3_Templates Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a --- M bts/BTS_Tests_SMSCB.ttcn 1 file changed, 2 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/17643/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a Gerrit-Change-Number: 17643 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 Fri Mar 27 22:25:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 22:25:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: add more templates for Mobile Identity IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 ) Change subject: library/L3_Templates: add more templates for Mobile Identity IE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife954becab8c51605da05618a721541e7a4de319 Gerrit-Change-Number: 17645 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 22:25:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 27 22:26:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 22:26:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 ) Change subject: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f Gerrit-Change-Number: 17642 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 22:26: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 Mar 27 22:29:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:29:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity 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/+/17643 to look at the new patch set (#4). Change subject: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity ...................................................................... BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a --- M bts/BTS_Tests_SMSCB.ttcn 1 file changed, 3 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/17643/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a Gerrit-Change-Number: 17643 Gerrit-PatchSet: 4 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 Mar 27 22:37:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 22:37:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI 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/+/17644 to look at the new patch set (#5). Change subject: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI ...................................................................... PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 25 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/17644/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 Gerrit-Change-Number: 17644 Gerrit-PatchSet: 5 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 Mar 27 23:15:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 23:15:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use MobileIdentityLV for MS Identity IE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 ) Change subject: library/RSL_Types: use MobileIdentityLV for MS Identity IE ...................................................................... library/RSL_Types: use MobileIdentityLV for MS Identity IE Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 --- M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 3 files changed, 33 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/17646/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index de7102e..353ab16 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1298,11 +1298,10 @@ template BSSMAP_FIELD_CellIdentificationList cid_list, BtsIdList bts_ids := { 0 }, template RSL_ChanNeeded rsl_chneed := omit, - template OCT4 tmsi := omit) runs on test_CT + template (omit) OCT4 tmsi := omit) runs on test_CT { var template BSSMAP_IE_ChannelNeeded bssmap_chneed; - /* FIXME (unused): var MobileIdentity mi; */ - var template octetstring id_enc; /* FIXME */ + var template MobileIdentityV mi; var RSL_Message rx_rsl; var integer paging_group := hex2int(imsi[lengthof(imsi)-1]); var integer i; @@ -1323,17 +1322,14 @@ f_bssap_tx_ud(ts_BSSMAP_Paging(imsi, cid_list, tmsi, bssmap_chneed)); -/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder - if (isvalue(tmsi)) { - mi := valueof(t_Osmo_MI_TMSI(oct2int(valueof(tmsi)))); + if (not istemplatekind(tmsi, "omit")) { + mi := t_MI_TMSI(tmsi); } else { - mi := valueof(ts_Osmo_MI_IMSI(imsi)); + mi := tr_MI_IMSI(imsi); } - id_enc := enc_MobileIdentity(mi); -*/ - id_enc := ?; + for (i := 0; i < sizeof(bts_ids); i := i + 1) { - rx_rsl := f_exp_ipa_rx(bts_ids[i], tr_RSL_PAGING_CMD(id_enc)); + rx_rsl := f_exp_ipa_rx(bts_ids[i], tr_RSL_PAGING_CMD(mi)); /* check channel type, paging group */ if (rx_rsl.ies[1].body.paging_group != paging_group) { setverdict(fail, "Paging for wrong paging group"); @@ -1352,7 +1348,7 @@ } T.start; alt { - [] IPA_RSL[i].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(id_enc))) { + [] IPA_RSL[i].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(mi))) { setverdict(fail, "Paging on BTS ", i, " which is not part of ", bts_ids); } [] IPA_RSL[i].receive { repeat; } diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3018bca..9534a8b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2978,18 +2978,17 @@ /* Send paging cmds based on elapsed time */ var integer new_sent := f_min(pkt_total, float2int(T_total.read * pch_blocks_per_sec) + 1); while (st.num_paging_sent < new_sent) { + var MobileIdentityV mi; + /* build mobile Identity */ - var MobileIdentityLV mi; if (cfg.use_tmsi) { - mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); + mi := valueof(t_MI_TMSI(f_rnd_octstring(4))); } else { - mi := valueof(ts_MI_IMSI_LV(f_gen_imsi(st.num_paging_sent))); + mi := valueof(ts_MI_IMSI(f_gen_imsi(st.num_paging_sent))); } - var octetstring mi_enc_lv := enc_MobileIdentityLV(mi); - var octetstring mi_enc := substr(mi_enc_lv, 1, lengthof(mi_enc_lv)-1); /* Send RSL PAGING COMMAND */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi_enc, st.num_paging_sent mod 4))); + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); st.num_paging_sent := st.num_paging_sent + 1; } @@ -4570,22 +4569,27 @@ f_init_pcu_test(); for (var integer i := 0; i < 100; i := i+1) { - var MobileIdentityLV mi; + var MobileIdentityLV mi_lv; + var octetstring mi_lv_enc; + var MobileIdentityV mi; timer T := 3.0; + if (i < 50) { - mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); + mi := valueof(t_MI_TMSI(f_rnd_octstring(4))); } else { - mi := valueof(ts_MI_IMSI_LV(f_gen_imsi(i))); + mi := valueof(ts_MI_IMSI(f_gen_imsi(i))); } - var octetstring mi_enc_lv := enc_MobileIdentityLV(mi); - var octetstring mi_enc := substr(mi_enc_lv, 1, lengthof(mi_enc_lv)-1); - var octetstring t_mi_lv := f_pad_oct(mi_enc_lv, 9, '00'O); + + /* Fancy encoding for PCUIF */ + mi_lv := valueof(ts_MI_LV(mi)); + mi_lv_enc := enc_MobileIdentityLV(mi_lv); + 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_enc, i mod 4))); + RSL_CCHAN.send(ts_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, t_mi_lv))) { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ(0, mi_lv_enc))) { } [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PAGING REQ"); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index f905973..ff0e2e5 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -16,6 +16,8 @@ import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; + import from MobileL3_CommonIE_Types all; + import from L3_Templates all; /* Section 9.1 */ type enumerated RSL_MessageGroup { @@ -819,7 +821,7 @@ uint8_t smscb_chan_ind, RSL_IE_RequestRef req_ref, RSL_LV full_imm_ass_info, - RSL_LV ms_identity, + MobileIdentityLV ms_identity, uint16_t ipa_conn_id, uint16_t ipa_local_port, @@ -1677,23 +1679,23 @@ } /* 8.5.5 BSC -> BTS */ - template RSL_Message tr_RSL_PAGING_CMD(template octetstring identity, template uint3_t tn := ?) := { + template RSL_Message tr_RSL_PAGING_CMD(template MobileIdentityV mi, template uint3_t tn := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_PAGING_CMD, ies := { tr_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_PCH_AGCH(tn)}), tr_RSL_IE(RSL_IE_Body:{paging_group := ?}), - tr_RSL_IE(RSL_IE_Body:{ms_identity := tr_RSL_LV(identity)}), + tr_RSL_IE(RSL_IE_Body:{ms_identity := tr_MI_LV(mi)}), * /* opt: channel needed, eMLPP prio */ } } - template (value) RSL_Message ts_RSL_PAGING_CMD(octetstring identity, uint8_t pg, uint3_t tn := 0) := { + template (value) RSL_Message ts_RSL_PAGING_CMD(MobileIdentityV mi, uint8_t pg, uint3_t tn := 0) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_PAGING_CMD, ies := { t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := ts_RslChanNr_PCH_AGCH(tn)}), t_RSL_IE(RSL_IE_PAGING_GROUP, RSL_IE_Body:{paging_group := pg}), - t_RSL_IE(RSL_IE_MS_IDENTITY, RSL_IE_Body:{ms_identity := ts_RSL_LV(identity)}) + t_RSL_IE(RSL_IE_MS_IDENTITY, RSL_IE_Body:{ms_identity := ts_MI_LV(mi)}) } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 Gerrit-Change-Number: 17646 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 Mar 27 23:21:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Mar 2020 23:21:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use MobileIdentityLV for MS Identity IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 to look at the new patch set (#2). Change subject: library/RSL_Types: use MobileIdentityLV for MS Identity IE ...................................................................... library/RSL_Types: use MobileIdentityLV for MS Identity IE Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 --- M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 39 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/17646/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 Gerrit-Change-Number: 17646 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 Mar 27 23:54:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 23:54:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 ) Change subject: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a Gerrit-Change-Number: 17643 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 23:54: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 Mar 27 23:57:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Mar 2020 23:57:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 ) Change subject: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 Gerrit-Change-Number: 17644 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Mar 2020 23:57:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 00:57:45 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 00:57:45 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT to due uninitialised logging. References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT to due uninitialised logging. ...................................................................... Meas Tools: Avoid OSMO_ASSERT to due uninitialised logging. The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 --- M src/utils/meas_json.c M src/utils/meas_vis.c 2 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/17647/1 diff --git a/src/utils/meas_json.c b/src/utils/meas_json.c index a3526de..171409a 100644 --- a/src/utils/meas_json.c +++ b/src/utils/meas_json.c @@ -171,8 +171,29 @@ return 0; } +static const struct log_info_cat categories[] = { + [0] = { + .name = "MEAS_JSON", + .description = "Measurement Utility", + .loglevel = LOGL_DEBUG, + .enabled = 1, + }, +}; + +static const struct log_info log_info = { + .cat = categories, + .num_cat = ARRAY_SIZE(categories), +}; + int main(int argc, char **argv) { + struct log_target *stderr_target; + log_init(&log_info, NULL); + stderr_target = log_target_create_stderr(); + log_add_target(stderr_target); + log_set_use_color(stderr_target, 0); + log_set_print_filename(stderr_target, 0); + int rc; struct osmo_fd udp_ofd; diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index cba08f5..686cfb9 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -13,6 +13,7 @@ #include #include #include +#include #include @@ -258,11 +259,32 @@ { 0, NULL } }; +static const struct log_info_cat categories[] = { + [0] = { + .name = "MEAS_VIS", + .description = "Measurement Utility", + .loglevel = LOGL_DEBUG, + .enabled = 1, + }, +}; + +static const struct log_info log_info = { + .cat = categories, + .num_cat = ARRAY_SIZE(categories), +}; + int main(int argc, char **argv) { int rc; char *header[1]; char *title[1]; + struct log_target *stderr_target; + + log_init(&log_info, NULL); + stderr_target = log_target_create_stderr(); + log_add_target(stderr_target); + log_set_use_color(stderr_target, 0); + log_set_print_filename(stderr_target, 0); msgb_talloc_ctx_init(NULL, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 00:57:45 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 00:57:45 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid messing up the terminal with error on osmo_sock_init References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17648 ) Change subject: Meas Tools: Avoid messing up the terminal with error on osmo_sock_init ...................................................................... Meas Tools: Avoid messing up the terminal with error on osmo_sock_init Let's try to bind the socket before we call initCDKScreen() so we don't end up with a messed up terminal if the socket call fails. Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a --- M src/utils/meas_vis.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/17648/1 diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index 686cfb9..1cbafcf 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -290,6 +290,10 @@ printf("sizeof(gsm_meas_rep)=%u\n", sizeof(struct gsm_meas_rep)); printf("sizeof(meas_feed_meas)=%u\n", sizeof(struct meas_feed_meas)); + g_st.udp_ofd.cb = udp_fd_cb; + rc = osmo_sock_init_ofd(&g_st.udp_ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 8888, OSMO_SOCK_F_BIND); + if (rc < 0) + exit(1); INIT_LLIST_HEAD(&g_st.ms_list); g_st.curses_win = initscr(); @@ -318,11 +322,6 @@ exit(0); #endif - g_st.udp_ofd.cb = udp_fd_cb; - rc = osmo_sock_init_ofd(&g_st.udp_ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 8888, OSMO_SOCK_F_BIND); - if (rc < 0) - exit(1); - while (1) { osmo_select_main(0); update_sliders(); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a Gerrit-Change-Number: 17648 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 00:57:46 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 00:57:46 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings References: Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Meas Tools, Avoid compiler format warnings Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 --- M src/utils/meas_vis.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/17649/1 diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index 1cbafcf..47a9077 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -204,7 +204,7 @@ snprintf(msu->label, sizeof(msu->label), "%1d %3d %2u %2d %4u", qual_col, lq->rx_qual, qual_col, pwr, ms->mr.ms_l1.ta, ms->mr.ms_timing_offset, - now - msu->last_update); + (int)(now - msu->last_update)); msu->cdk_label = newCDKLabel(g_st.cdkscreen, RIGHT, row, msu->_lbl, 1, FALSE, FALSE); } @@ -288,8 +288,8 @@ msgb_talloc_ctx_init(NULL, 0); - printf("sizeof(gsm_meas_rep)=%u\n", sizeof(struct gsm_meas_rep)); - printf("sizeof(meas_feed_meas)=%u\n", sizeof(struct meas_feed_meas)); + printf("sizeof(gsm_meas_rep)=%lu\n", sizeof(struct gsm_meas_rep)); + printf("sizeof(meas_feed_meas)=%lu\n", sizeof(struct meas_feed_meas)); g_st.udp_ofd.cb = udp_fd_cb; rc = osmo_sock_init_ofd(&g_st.udp_ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 8888, OSMO_SOCK_F_BIND); if (rc < 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 01:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 01:01:42 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: keith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 --- M src/utils/meas_json.c M src/utils/meas_vis.c 2 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/17647/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 10:43:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Mar 2020 10:43:20 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17649/1/src/utils/meas_vis.c File src/utils/meas_vis.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17649/1/src/utils/meas_vis.c at 207 PS1, Line 207: (int) The last format string modifier is %4u, so it's unsigned. This solution does not look right to me. What was the actual compiler warning? Given that there is no portable way to print time_t [1], can we consider converting time to string? [1] https://stackoverflow.com/questions/2792551/what-primitive-data-type-is-time-t https://gerrit.osmocom.org/c/osmo-bsc/+/17649/1/src/utils/meas_vis.c at 291 PS1, Line 291: lu sizeof() returns size_t, so it should be %zu. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 28 Mar 2020 10:43: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 Mar 28 13:15:04 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 13:15:04 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised 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/osmo-bsc/+/17647 to look at the new patch set (#3). Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 --- M src/utils/meas_json.c M src/utils/meas_vis.c 2 files changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/17647/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 13:15:04 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 13:15:04 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid messing up the terminal with error on osmo_sock_init 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/+/17648 to look at the new patch set (#2). Change subject: Meas Tools: Avoid messing up the terminal with error on osmo_sock_init ...................................................................... Meas Tools: Avoid messing up the terminal with error on osmo_sock_init Let's try to bind the socket before we call initCDKScreen() so we don't end up with a messed up terminal if the socket call fails. Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a --- M src/utils/meas_vis.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/17648/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a Gerrit-Change-Number: 17648 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 13:15:04 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 13:15:04 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings 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-bsc/+/17649 to look at the new patch set (#2). Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Meas Tools, Avoid compiler format warnings Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 --- M src/utils/meas_vis.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/17649/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 2 Gerrit-Owner: keith 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 Sat Mar 28 13:15:33 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 13:15:33 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17649/1/src/utils/meas_vis.c File src/utils/meas_vis.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17649/1/src/utils/meas_vis.c at 207 PS1, Line 207: (int) > The last format string modifier is %4u, so it's unsigned. This solution does not look right to me. [?] format ?%u? expects argument of type ?unsigned int?, but argument 10 has type ?time_t {aka long int}? How about cast to u_int? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Comment-Date: Sat, 28 Mar 2020 13:15:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 14:39:54 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 28 Mar 2020 14:39:54 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 8cb612e..6193749 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -219,6 +219,24 @@ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) + # Set UHD frame size as a function of the cell bandwidth + if self._conf.get('rf_dev_type') == 'UHD': + rf_dev_args = '' + + if self._num_prb < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self._num_prb == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + 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.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) with open(path, 'w') as f: diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 6cd7c63..920863e 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -237,6 +237,22 @@ + ',id=ue,base_srate='+ str(base_srate) ))) + # Set UHD frame size as a function of the cell bandwidth + if self._conf.get('rf_dev_type') == 'UHD': + rf_dev_args = '' + if self.enb.num_prb() < 25: + rf_dev_args += 'send_frame_size=512,recv_frame_size=512' + elif self.enb.num_prb() == 25: + rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024' + 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)) with open(self.config_file, 'w') as f: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 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 Sat Mar 28 14:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 28 Mar 2020 14:39:55 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... iperf3: add modifier to adjust the duration of the iperf run the time is passed as a string param but is currently just converted to seconds. We plan to add a conversion to accept values such as 30m or 2h Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/mod-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py 4 files changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/1 diff --git a/example/defaults.conf b/example/defaults.conf index 2708b18..4c33765 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -112,3 +112,6 @@ airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + +iperf3cli: + time: 60 diff --git a/example/scenarios/mod-iperf3-time at .conf b/example/scenarios/mod-iperf3-time at .conf new file mode 100644 index 0000000..fcf6f3c --- /dev/null +++ b/example/scenarios/mod-iperf3-time at .conf @@ -0,0 +1,3 @@ +modifiers: + iperf3cli: + - time: ${param1} diff --git a/src/osmo_gsm_tester/iperf3.py b/src/osmo_gsm_tester/iperf3.py index be4dd6f..6e97a59 100644 --- a/src/osmo_gsm_tester/iperf3.py +++ b/src/osmo_gsm_tester/iperf3.py @@ -20,7 +20,7 @@ import os import json -from . import log, util, process, pcap_recorder, run_node, remote +from . import log, util, config, process, pcap_recorder, run_node, remote def iperf3_result_to_json(file): with open(file) as f: @@ -155,14 +155,19 @@ return locally def prepare_test_proc(self, downlink=False, netns=None, time_sec=10): - self.log('Starting iperf3-client connecting to %s:%d' % (self.server.addr(), self.server.port())) + values = dict(iperf3cli=config.get_defaults('iperf3cli')) + config.overlay(values, dict(iperf3cli=self.suite_run.config().get('iperf3cli', {}))) + time_sec_final = int(values['iperf3cli'].get('time', time_sec)) + assert(time_sec_final) + + self.log('Starting iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec_final)) self.log_copied = False self.run_dir = util.Dir(self.suite_run.get_test_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_final) else: - return self.prepare_test_proc_remotely(downlink, netns, time_sec) + return self.prepare_test_proc_remotely(downlink, netns, time_sec_final) def prepare_test_proc_remotely(self, downlink, netns, time_sec): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 3473abf..bb7b872 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -114,6 +114,7 @@ 'modem[].airplane_t_on_ms': schema.INT, 'modem[].airplane_t_off_ms': schema.INT, 'osmocon_phone[].serial_device': schema.STR, + 'iperf3cli[].time': schema.STR, } WANT_SCHEMA = util.dict_add( -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 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 Sat Mar 28 15:04:02 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sat, 28 Mar 2020 15:04:02 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run In-Reply-To: References: Message-ID: srs_andre has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... iperf3: add modifier to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/mod-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py 4 files changed, 27 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 17:14:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 17:14:07 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/1/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/1/src/osmo_gsm_tester/srs_enb.py at 224 PS1, Line 224: rf_dev_args = '' Use this here: rf_dev_args = values['enb'].get('rf_dev_args', '') Otherwise you are dropping parameters set by resources.conf (which are used for instance to tell UHD which device among all connected it needs to use by eg. passing serial number). https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/1/src/osmo_gsm_tester/srs_ue.py File src/osmo_gsm_tester/srs_ue.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/1/src/osmo_gsm_tester/srs_ue.py at 241 PS1, Line 241: if self._conf.get('rf_dev_type') == 'UHD': Same as for enb. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 17:14: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 Sat Mar 28 17:24:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 17:24:41 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... Patch Set 2: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 157 PS2, Line 157: def prepare_test_proc(self, downlink=False, netns=None, time_sec=10): What about having time_sec=None by default,and if !None is passed by test then override what comes from config? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 163 PS2, Line 163: if 'h' in time_sec_str: if time_sec_str.endswith('h') time_sec_final = int(time_sec_str[:-1]) *3600 And probably add a new TIME_DURATION type in schema where everything's well validated. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 174 PS2, Line 174: self.log('Starting iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec_final)) Not "Starting" here, but "Preparing" https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/resource.py File src/osmo_gsm_tester/resource.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/resource.py at 117 PS2, Line 117: 'iperf3cli[].time': schema.STR, schema.TIME_DURATION, then add it in afair schema.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 17:24: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 Sat Mar 28 17:31:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 17:31:47 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Patch Set 3: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c File src/utils/meas_json.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c at 176 PS3, Line 176: .name = "MEAS_JSON", I think we never user underscores or alike in names (I may be wrong tough). You can simply call it MAIN. Is this category actually used? why does it have index 0 with no define? is there any LOGP(0, ...)? https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c at 178 PS3, Line 178: .loglevel = LOGL_DEBUG, debug doesn't sound like a good default. Probably bettee using NOTICE here. https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c at 191 PS3, Line 191: log_init(&log_info, NULL); where does this functon come from? It should be osmo_init_logging2(tall_ctx, &log_info); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 17:31: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 Sat Mar 28 17:34:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 17:34:42 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17649/2/src/utils/meas_vis.c File src/utils/meas_vis.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17649/2/src/utils/meas_vis.c at 207 PS2, Line 207: (u_int)(now - msu->last_update)); first time I see this u_int thig. Where does it come from? is it some sort of stdint typedef for unsigned int? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 17:34: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 Sat Mar 28 17:58:17 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sat, 28 Mar 2020 17:58:17 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read ICCID In-Reply-To: References: Message-ID: herlesupreeth has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17521 ) Change subject: pySim-read.py: Use the method declared in cards.py to read ICCID ...................................................................... pySim-read.py: Use the method declared in cards.py to read ICCID Change-Id: I0dcda1ea617f3febe246b360b95887c04e5d2629 --- M pySim-read.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index bad2047..cdab462 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -99,9 +99,9 @@ card = card_detect("auto", scc) or Card(scc) # EF.ICCID - (res, sw) = scc.read_binary(EF['ICCID']) + (res, sw) = card.read_iccid() if sw == '9000': - print("ICCID: %s" % (dec_iccid(res),)) + print("ICCID: %s" % (res,)) else: print("ICCID: Can't read, response code = %s" % (sw,)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0dcda1ea617f3febe246b360b95887c04e5d2629 Gerrit-Change-Number: 17521 Gerrit-PatchSet: 4 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 Sat Mar 28 17:58:17 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sat, 28 Mar 2020 17:58:17 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read IMSI In-Reply-To: References: Message-ID: herlesupreeth has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17522 ) Change subject: pySim-read.py: Use the method declared in cards.py to read IMSI ...................................................................... pySim-read.py: Use the method declared in cards.py to read IMSI Change-Id: I2709b040d956a3a2b9210aa78c82a6ccf482f761 --- M pySim-read.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index cdab462..ed6cb29 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -106,9 +106,9 @@ print("ICCID: Can't read, response code = %s" % (sw,)) # EF.IMSI - (res, sw) = scc.read_binary(['3f00', '7f20', '6f07']) + (res, sw) = card.read_imsi() if sw == '9000': - print("IMSI: %s" % (dec_imsi(res),)) + print("IMSI: %s" % (res,)) else: print("IMSI: Can't read, response code = %s" % (sw,)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2709b040d956a3a2b9210aa78c82a6ccf482f761 Gerrit-Change-Number: 17522 Gerrit-PatchSet: 4 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 Sat Mar 28 17:58:20 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Sat, 28 Mar 2020 17:58:20 +0000 Subject: Change in pysim[master]: Move parsing of GID1 to generic Card class In-Reply-To: References: Message-ID: herlesupreeth has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17523 ) Change subject: Move parsing of GID1 to generic Card class ...................................................................... Move parsing of GID1 to generic Card class Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-read.py b/pySim-read.py index ed6cb29..083f91b 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -114,7 +114,7 @@ # EF.GID1 try: - (res, sw) = scc.read_binary(EF['GID1']) + (res, sw) = card.read_gid1() if sw == '9000': print("GID1: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index a43da9c..61a3707 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -145,6 +145,13 @@ data, sw = self._scc.update_binary(EF['SPN'], rpad(content, 32)) return sw + def read_gid1(self): + (res, sw) = self._scc.read_binary(EF['GID1']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie96408b1eecd6fc2595d619f6f0e3af851dacecb Gerrit-Change-Number: 17523 Gerrit-PatchSet: 4 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 Sat Mar 28 18:51:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Mar 2020 18:51:43 +0000 Subject: Change in osmo-pcu[master]: fix: properly include pure C headers from C++ code References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17652 ) Change subject: fix: properly include pure C headers from C++ code ...................................................................... fix: properly include pure C headers from C++ code Header files included from libosmocore may potentially contain some language constructions allowed in C but not in C++, such as type casting. Let's add 'extern "C" { ... }' and be safe. Change-Id: I7197f7b34f30b49d5397506ce9d67cbf0e2cc196 --- M src/gprs_debug.cpp M src/gprs_rlcmac_meas.cpp 2 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/52/17652/1 diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index 91933a2..58b7e3e 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -18,8 +18,11 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +extern "C" { #include #include +} + #include /* default categories */ diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 998e01c..441f58d 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -17,7 +17,9 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +extern "C" { #include +} #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7197f7b34f30b49d5397506ce9d67cbf0e2cc196 Gerrit-Change-Number: 17652 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 Mar 28 19:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 19:16:21 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c File src/utils/meas_json.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c at 176 PS3, Line 176: .name = "MEAS_JSON", > I think we never user underscores or alike in names (I may be wrong tough). [?] I do not know answers to those questions. I see more now what this is actually doing. Will copy a more simple logging init from somewhere. https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c at 178 PS3, Line 178: .loglevel = LOGL_DEBUG, > debug doesn't sound like a good default. Probably bettee using NOTICE here. Sure. https://gerrit.osmocom.org/c/osmo-bsc/+/17647/3/src/utils/meas_json.c at 191 PS3, Line 191: log_init(&log_info, NULL); > where does this functon come from? It should be osmo_init_logging2(tall_ctx, &log_info); OK I subsequently found osmo_init_logging, but FYI, the code i copied more or less was from http://git.osmocom.org/libosmocore/tree/tests/fsm/fsm_test.c#n412 Similar code is also found elsewhere. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 3 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 19:16:21 +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 Mar 28 19:24:44 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 19:24:44 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. 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/+/17647 to look at the new patch set (#4). Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 --- M src/utils/meas_json.c M src/utils/meas_vis.c 2 files changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/17647/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 19:27:20 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 19:27:20 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17649/2/src/utils/meas_vis.c File src/utils/meas_vis.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17649/2/src/utils/meas_vis.c at 207 PS2, Line 207: (u_int)(now - msu->last_update)); > first time I see this u_int thig. [?] Dunno, I just guessed and the compiler did not complain. ;-) I guess I should dig deeeper.. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 2 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 19:27:20 +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 Mar 28 19:33:36 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 19:33:36 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings 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-bsc/+/17649 to look at the new patch set (#4). Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Meas Tools, Avoid compiler format warnings Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 --- M src/utils/meas_vis.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/17649/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 20:10:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 20:10:14 +0000 Subject: Change in osmo-pcu[master]: fix: properly include pure C headers from C++ code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17652 ) Change subject: fix: properly include pure C headers from C++ code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7197f7b34f30b49d5397506ce9d67cbf0e2cc196 Gerrit-Change-Number: 17652 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 20:10: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 Mar 28 20:11:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 20:11:26 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 20:11: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 Mar 28 20:12:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Mar 2020 20:12:59 +0000 Subject: Change in osmo-pcu[master]: fix: properly include pure C headers from C++ code In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17652 ) Change subject: fix: properly include pure C headers from C++ code ...................................................................... fix: properly include pure C headers from C++ code Header files included from libosmocore may potentially contain some language constructions allowed in C but not in C++, such as type casting. Let's add 'extern "C" { ... }' and be safe. Change-Id: I7197f7b34f30b49d5397506ce9d67cbf0e2cc196 --- M src/gprs_debug.cpp M src/gprs_rlcmac_meas.cpp 2 files changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index 91933a2..58b7e3e 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -18,8 +18,11 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +extern "C" { #include #include +} + #include /* default categories */ diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 998e01c..441f58d 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -17,7 +17,9 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +extern "C" { #include +} #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17652 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7197f7b34f30b49d5397506ce9d67cbf0e2cc196 Gerrit-Change-Number: 17652 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 Sat Mar 28 20:14:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 20:14:39 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17647/4/src/utils/meas_json.c File src/utils/meas_json.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17647/4/src/utils/meas_json.c at 187 PS4, Line 187: void *ctx = talloc_named_const(NULL, 0, "meas_json"); afaik we usually have the root talloc context as a global variable. Better name it tall_ctx -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 20:14: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 Mar 28 20:20:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Mar 2020 20:20:30 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 4: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17649/4/src/utils/meas_vis.c File src/utils/meas_vis.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17649/4/src/utils/meas_vis.c at 208 PS4, Line 208: (unsigned int) Ok, should be enough to represent a difference between now and last_update up to ~2106 years ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 4 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 20:20: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 Sat Mar 28 20:25:31 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 28 Mar 2020 20:25:31 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. 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/+/17647 to look at the new patch set (#5). Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 --- M src/utils/meas_json.c M src/utils/meas_vis.c 2 files changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/17647/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 28 23:26:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 28 Mar 2020 23:26:57 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Mar 2020 23:26: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 Mar 29 00:21:15 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sun, 29 Mar 2020 00:21:15 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init 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/+/17648 to look at the new patch set (#5). Change subject: Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init ...................................................................... Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init If, as before this patch we call initCDKScreen() before attempting to bind the socket, then the socket bind fails, we exit and the terminal needs a reset. Attempt to open the socket before initCDKScreen() so we don't end up with a messed up terminal if the socket call fails. Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a --- M src/utils/meas_vis.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/17648/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a Gerrit-Change-Number: 17648 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 11:55:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Mar 2020 11:55:46 +0000 Subject: Change in osmo-bts[master]: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/17653 ) Change subject: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA ...................................................................... l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. The bit order is little-endian (right to left). In L1SAP PH-RACH.ind structure (see ph_rach_ind_param) we use a field of type uint16_t to store RA values regardles of the block format. Thus when packing it to bytes, we cannot just cast uint16_t* to uint8_t*, we need to use osmo_store16le(). Change-Id: I0e91d825bb2e1897647dd5403c311d833a89ff2e --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/17653/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 673430d..059fd80 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -434,6 +434,7 @@ uint8_t *tn, uint8_t *ss, uint32_t *fn, uint8_t **data, unsigned int *len) { uint8_t chan_nr = l1sap->u.rach_ind.chan_nr; + static uint8_t ra_buf[2]; *chan_type = GSMTAP_CHANNEL_RACH; *fn = l1sap->u.rach_ind.fn; @@ -454,8 +455,9 @@ } } - *data = (uint8_t *)&l1sap->u.rach_ind.ra; - *len = (l1sap->u.rach_ind.is_11bit) ? 2 : 1; + *len = (l1sap->u.rach_ind.is_11bit) ? sizeof(uint16_t) : sizeof(uint8_t); + osmo_store16le(l1sap->u.rach_ind.ra, ra_buf); + *data = ra_buf; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e91d825bb2e1897647dd5403c311d833a89ff2e Gerrit-Change-Number: 17653 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 Mar 29 14:20:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:20:43 +0000 Subject: Change in osmo-ggsn[master]: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 ) Change subject: doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip. ...................................................................... Patch Set 2: Code-Review+1 I think the important point (which I cannot read in the commit log) is that the osmo-sgsn default config wants to reach a GGSN at 127.0.0.2, so we should adjust here accordingly. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I513ab64896dee47fd92dbc5ef495fe1c6e734ec3 Gerrit-Change-Number: 17601 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Mar 2020 14:20:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 14:21:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:21:47 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14: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 Mar 29 14:22:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Mar 2020 14:22:05 +0000 Subject: Change in osmo-bsc[master]: fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17654 ) Change subject: fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 ...................................................................... fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 According to section 7.4a of 3GPP TS 44.004, two alternative RACH block formats are specified: 8-bit (1 octet) and 11-bit. As per 3GPP TS 44.060, section 12.24, the actual format is indicated in GPRS Cell Options IE, which is a part of System Information 13. A VTY option to control the Access Burst format was introduced a long time ago (in 2016!), but never had the actual effect. Let's finally fix this. Change-Id: Iac66a675d64b1c32d8a61a0229e44b35bf2a1414 Fixes: I51357bec936c28a26ab9ff5d59e0e30ca3363297 --- M src/osmo-bsc/rest_octets.c 1 file changed, 3 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/54/17654/1 diff --git a/src/osmo-bsc/rest_octets.c b/src/osmo-bsc/rest_octets.c index 1d2279b..236d30b 100644 --- a/src/osmo-bsc/rest_octets.c +++ b/src/osmo-bsc/rest_octets.c @@ -788,8 +788,8 @@ bitvec_set_uint(bv, t3192, 3); bitvec_set_uint(bv, drx_timer_max, 3); - /* ACCESS_BURST_TYPE: Hard-code 8bit */ - bitvec_set_bit(bv, 0); + /* ACCESS_BURST_TYPE: 8-bit (0) or 11-bit (1) */ + bitvec_set_bit(bv, gco->supports_egprs_11bit_rach); /* CONTROL_ACK_TYPE: */ bitvec_set_bit(bv, gco->ctrl_ack_type_use_block); bitvec_set_uint(bv, gco->bs_cv_max, 4); @@ -823,12 +823,7 @@ bitvec_set_bit(bv, 1); /* 1bit EGPRS PACKET CHANNEL REQUEST */ - if (gco->supports_egprs_11bit_rach == 0) { - bitvec_set_bit(bv, - gco->ext_info.use_egprs_p_ch_req); - } else { - bitvec_set_bit(bv, 0); - } + bitvec_set_bit(bv, gco->ext_info.use_egprs_p_ch_req); /* 4bit BEP PERIOD */ bitvec_set_uint(bv, gco->ext_info.bep_period, 4); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iac66a675d64b1c32d8a61a0229e44b35bf2a1414 Gerrit-Change-Number: 17654 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 Mar 29 14:22:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:22:24 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17648 ) Change subject: Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a Gerrit-Change-Number: 17648 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Mar 2020 14:22: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 Mar 29 14:23:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:23:05 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14: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 Sun Mar 29 14:23:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:23:22 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17647 ) Change subject: Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. ...................................................................... Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 --- M src/utils/meas_json.c M src/utils/meas_vis.c 2 files changed, 29 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/utils/meas_json.c b/src/utils/meas_json.c index a3526de..6aa531a 100644 --- a/src/utils/meas_json.c +++ b/src/utils/meas_json.c @@ -34,6 +34,7 @@ #include #include #include +#include #include @@ -171,8 +172,21 @@ return 0; } +/* default categories */ +static struct log_info_cat default_categories[] = { +}; + +static const struct log_info meas_json_log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + int main(int argc, char **argv) { + + void *tall_ctx = talloc_named_const(NULL, 0, "meas_json"); + osmo_init_logging2(tall_ctx, &meas_json_log_info); + int rc; struct osmo_fd udp_ofd; diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index cba08f5..aea12bf 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include @@ -258,11 +260,24 @@ { 0, NULL } }; +/* default categories */ +static struct log_info_cat default_categories[] = { +}; + +static const struct log_info meas_vis_log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + int main(int argc, char **argv) { int rc; char *header[1]; char *title[1]; + struct log_target *stderr_target; + + void *tall_ctx = talloc_named_const(NULL, 0, "meas_vis"); + osmo_init_logging2(tall_ctx, &meas_vis_log_info); msgb_talloc_ctx_init(NULL, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17647 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278 Gerrit-Change-Number: 17647 Gerrit-PatchSet: 5 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder 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 Sun Mar 29 14:23:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:23:36 +0000 Subject: Change in osmo-bsc[master]: Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17648 ) Change subject: Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init ...................................................................... Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init If, as before this patch we call initCDKScreen() before attempting to bind the socket, then the socket bind fails, we exit and the terminal needs a reset. Attempt to open the socket before initCDKScreen() so we don't end up with a messed up terminal if the socket call fails. Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a --- M src/utils/meas_vis.c 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index aea12bf..e10d814 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -283,6 +283,10 @@ printf("sizeof(gsm_meas_rep)=%u\n", sizeof(struct gsm_meas_rep)); printf("sizeof(meas_feed_meas)=%u\n", sizeof(struct meas_feed_meas)); + g_st.udp_ofd.cb = udp_fd_cb; + rc = osmo_sock_init_ofd(&g_st.udp_ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 8888, OSMO_SOCK_F_BIND); + if (rc < 0) + exit(1); INIT_LLIST_HEAD(&g_st.ms_list); g_st.curses_win = initscr(); @@ -311,11 +315,6 @@ exit(0); #endif - g_st.udp_ofd.cb = udp_fd_cb; - rc = osmo_sock_init_ofd(&g_st.udp_ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 8888, OSMO_SOCK_F_BIND); - if (rc < 0) - exit(1); - while (1) { osmo_select_main(0); update_sliders(); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17648 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a Gerrit-Change-Number: 17648 Gerrit-PatchSet: 5 Gerrit-Owner: keith 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 Mar 29 14:23:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:23:49 +0000 Subject: Change in osmo-bsc[master]: Meas Tools, Avoid compiler format warnings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17649 ) Change subject: Meas Tools, Avoid compiler format warnings ...................................................................... Meas Tools, Avoid compiler format warnings Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 --- M src/utils/meas_vis.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 fixeria: Looks good to me, approved diff --git a/src/utils/meas_vis.c b/src/utils/meas_vis.c index e10d814..01be986 100644 --- a/src/utils/meas_vis.c +++ b/src/utils/meas_vis.c @@ -205,7 +205,7 @@ snprintf(msu->label, sizeof(msu->label), "%1d %3d %2u %2d %4u", qual_col, lq->rx_qual, qual_col, pwr, ms->mr.ms_l1.ta, ms->mr.ms_timing_offset, - now - msu->last_update); + (unsigned int)(now - msu->last_update)); msu->cdk_label = newCDKLabel(g_st.cdkscreen, RIGHT, row, msu->_lbl, 1, FALSE, FALSE); } @@ -281,8 +281,8 @@ msgb_talloc_ctx_init(NULL, 0); - printf("sizeof(gsm_meas_rep)=%u\n", sizeof(struct gsm_meas_rep)); - printf("sizeof(meas_feed_meas)=%u\n", sizeof(struct meas_feed_meas)); + printf("sizeof(gsm_meas_rep)=%zu\n", sizeof(struct gsm_meas_rep)); + printf("sizeof(meas_feed_meas)=%zu\n", sizeof(struct meas_feed_meas)); g_st.udp_ofd.cb = udp_fd_cb; rc = osmo_sock_init_ofd(&g_st.udp_ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 8888, OSMO_SOCK_F_BIND); if (rc < 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687 Gerrit-Change-Number: 17649 Gerrit-PatchSet: 6 Gerrit-Owner: keith 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 Sun Mar 29 14:25:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:25:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: do not duplicate Mobile Identity records In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 ) Change subject: library/GSM_RR_Types: do not duplicate Mobile Identity records ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced Gerrit-Change-Number: 17639 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14: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 Sun Mar 29 14:26:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:26:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: Paging Request Type 1 may contain second MI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 ) Change subject: library/GSM_RR_Types: Paging Request Type 1 may contain second MI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f Gerrit-Change-Number: 17640 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14:26: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 Mar 29 14:26:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:26:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: do not duplicate Mobile Identity records In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 ) Change subject: library/GSM_RR_Types: do not duplicate Mobile Identity records ...................................................................... library/GSM_RR_Types: do not duplicate Mobile Identity records All the records related to Mobile Identity IE (see 3GPP TS 24.008, section 10.5.1.4) are defined in [1], so there is no real need to dumplicate them. Moreover, most of the related templates in library/L3_Templates.ttcn are based on these records. [1] titan.ProtocolModules.MobileL3_v13.4.0/src/MobileL3_CommonIE_Types.ttcn Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced --- M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn M library/BSSGP_Types.ttcn M library/GSM_RR_Types.ttcn M library/L3_Templates.ttcn M msc/BSC_ConnectionHandler.ttcn M pcu/PCU_Tests_RAW.ttcn M sgsn/SGSN_Tests.ttcn 9 files changed, 33 insertions(+), 71 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 d020d95..de7102e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1301,7 +1301,7 @@ template OCT4 tmsi := omit) runs on test_CT { var template BSSMAP_IE_ChannelNeeded bssmap_chneed; - var MobileIdentity mi; + /* FIXME (unused): var MobileIdentity mi; */ var template octetstring id_enc; /* FIXME */ var RSL_Message rx_rsl; var integer paging_group := hex2int(imsi[lengthof(imsi)-1]); diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 46c9647..3018bca 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2979,7 +2979,7 @@ var integer new_sent := f_min(pkt_total, float2int(T_total.read * pch_blocks_per_sec) + 1); while (st.num_paging_sent < new_sent) { /* build mobile Identity */ - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; if (cfg.use_tmsi) { mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); } else { @@ -4570,7 +4570,7 @@ f_init_pcu_test(); for (var integer i := 0; i < 100; i := i+1) { - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; timer T := 3.0; if (i < 50) { mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 292205a..ebd8d0f 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -894,12 +894,14 @@ }, page_mode := PAGE_MODE_NORMAL, mi1 := { - len := 1, - mi := { - unused := { - pad := '1111'B, - odd := false, - mi_type := MI_TYPE_NONE + lengthIndicator := 1, + mobileIdentityV := { + typeOfIdentity := '000'B, + oddEvenInd_identity := { + no_identity := { + oddevenIndicator := '0'B, + fillerDigits := 'F'H + } } } }, diff --git a/library/BSSGP_Types.ttcn b/library/BSSGP_Types.ttcn index d51bb6d..e9984d8 100644 --- a/library/BSSGP_Types.ttcn +++ b/library/BSSGP_Types.ttcn @@ -245,9 +245,9 @@ BssgpCause cause, /* 11.3.8 */ BssgpCellId cell_id, /* 11.3.9 */ DrxParameter drx_parameter, /* 10.3.11 */ - MobileIdentity imsi, /* 11.3.14 */ + MobileIdentityV imsi, /* 11.3.14 */ LocationAreaIdentification lai, /* 11.3.17 */ - MobileIdentity mobile_id, /* 11.3.20 */ + MobileIdentityV mobile_id, /* 11.3.20 */ BssgpPduLifetime pdu_lifetime, /* 11.3.25 */ BssgpPriority priority, /* 11.3.27 */ BssgpQosProfile qos_profile, /* 11.3.28 */ @@ -388,10 +388,14 @@ len := 4, u := { mobile_id := { - imsi := { - mi_type := MI_TYPE_IMSI, - odd := true, /* IMSI has 15 digits */ - digits := imsi + typeOfIdentity := MI_TYPE_IMSI, + oddEvenInd_identity := { + imsi := { + /* TODO: introduce generic tr_IMSI_L3 */ + oddevenIndicator := true, /* IMSI has 15 digits */ + digits := imsi, + fillerDigit := '1111'B + } } } } diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 9fd7733..878166b 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -16,6 +16,7 @@ import from Osmocom_Types all; import from GSM_Types all; import from RLCMAC_CSN1_Types all; + import from MobileL3_CommonIE_Types all; /* Table 10.4.1 of Section 10.4 / 3GPP TS 44.018 */ type enumerated RrMessageType { @@ -205,51 +206,6 @@ MI_TYPE_TMGI } with { variant "FIELDLENGTH(3)" }; - type record MobileIdentityBCD { - MobileIdentityType mi_type (MI_TYPE_IMSI, MI_TYPE_IMEI, MI_TYPE_IMEISV), - boolean odd, - hexstring digits - } with { variant "FIELDORDER(lsb)" }; - - type record MobileIdentityTMSI { - BIT4 pad ('1111'B), - boolean odd (false), - MobileIdentityType mi_type (MI_TYPE_TMSI), - GsmTmsi tmsi - } with { variant "FIELDORDER(lsb)" }; - - type record MobileIdentityNone { - BIT4 pad ('1111'B), - boolean odd (false), - MobileIdentityType mi_type (MI_TYPE_NONE) - } with { variant "FIELDORDER(lsb)" }; - - type union MobileIdentity { - MobileIdentityBCD imsi, - MobileIdentityBCD imei, - MobileIdentityBCD imeisv, - MobileIdentityTMSI tmsi, - MobileIdentityNone unused - } with { variant "TAG(imsi, mi_type = MI_TYPE_IMSI; - imei, mi_type = MI_TYPE_IMEI; - imeisv, mi_type = MI_TYPE_IMEISV; - tmsi, mi_type = MI_TYPE_TMSI; - unused, mi_type = MI_TYPE_NONE)" - variant "FIELDORDER(lsb)" - }; - - /* TS 24.008 10.5.1.4 "Mobile Identity" */ - type record MobileIdentityLV { - uint8_t len, - MobileIdentity mi - } with { variant (len) "LENGTHTO(mi)" }; - - type record MobileIdentityTLV { - uint8_t tag, - uint8_t len, - MobileIdentity mi - } with { variant (len) "LENGTHTO(mi)" }; - /* TS 24.008 10.5.1.5 */ type record MsClassmark1 { BIT1 spare, @@ -762,7 +718,7 @@ MobileIdentityLV mi1, MobileIdentityTLV mi2 optional, RestOctets rest_octets - } with { variant "TAG(mi2, tag = 23)" }; + } with { variant "TAG(mi2, elementIdentifier = '0010111'B)" }; /* 9.1.23 */ type record PagingRequestType2 { @@ -772,7 +728,7 @@ GsmTmsi mi2, MobileIdentityTLV mi3 optional, RestOctets rest_octets - } with { variant "TAG(mi3, tag = 23)" }; + } with { variant "TAG(mi3, elementIdentifier = '0010111'B)" }; /* 9.1.24 */ type record length(4) of GsmTmsi GsmTmsi4; diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index cf7b9d9..af4a573 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -315,7 +315,7 @@ } /* Template for receiving a Paging Request Type1 message with a given TMSI in the first mobile identity. */ -template MobileL3_CommonIE_Types.MobileIdentityLV tr_PAGING_REQ1_MI1_TMSI(octetstring tmsi) := { +template MobileIdentityLV tr_PAGING_REQ1_MI1_TMSI(octetstring tmsi) := { lengthIndicator := 5, mobileIdentityV := { typeOfIdentity := '100'B, diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index c21bcd9..623dae9 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -442,7 +442,7 @@ { var PDU_DTAP_MT dtap_mt; var GSUP_PDU gsup_msg; - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; if (not g_pars.net.expect_imei) { return @@ -480,7 +480,7 @@ { var PDU_DTAP_MT dtap_mt; var GSUP_PDU gsup_msg; - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; if (not g_pars.net.expect_imei_early) { return diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 62ebcd6..6e11889 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -1386,7 +1386,7 @@ var RlcmacDlBlock dl_block; var boolean ok; var OCT4 tlli := '00000001'O; - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; var octetstring mi_enc_lv; var hexstring imsi := f_gen_imsi(42); diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index eb1fff2..6c963fa 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -553,7 +553,7 @@ } altstep as_mm_identity(integer ran_index := 0) runs on BSSGP_ConnHdlr { - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); f_send_l3(ts_GMM_ID_RESP(mi), ran_index); @@ -740,7 +740,7 @@ } /* return a MobileIdentityLV: P-TMSI if we have one, IMSI otherwise */ -private function f_mi_get_lv() runs on BSSGP_ConnHdlr return MobileL3_CommonIE_Types.MobileIdentityLV { +private function f_mi_get_lv() runs on BSSGP_ConnHdlr return MobileIdentityLV { if (ispresent(g_pars.p_tmsi)) { return valueof(ts_MI_TMSI_LV(g_pars.p_tmsi)); } else { @@ -2153,7 +2153,7 @@ /* Attempt an attach, but loose the Identification Request (IMEI) */ private function f_TC_attach_no_imei_response(charstring id) runs on BSSGP_ConnHdlr { var integer count_req := 0; - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); @@ -2199,7 +2199,7 @@ /* Attempt an attach, but loose the Identification Request (IMSI) */ private function f_TC_attach_no_imsi_response(charstring id) runs on BSSGP_ConnHdlr { var integer count_req := 0; - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; /* set p_tmsi to use it in Attach Req via f_mi_get_lv() */ g_pars.p_tmsi := 'c0000035'O; @@ -2479,7 +2479,7 @@ private function f_TC_attach_gmm_attach_req_while_gmm_attach(charstring id) runs on BSSGP_ConnHdlr { var integer count_req := 0; - var MobileL3_CommonIE_Types.MobileIdentityLV mi; + var MobileIdentityLV mi; var RoutingAreaIdentificationV rand_rai := f_random_RAI(); var PDU_L3_SGSN_MS l3_mt; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17639 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced Gerrit-Change-Number: 17639 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 Sun Mar 29 14:26:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:26:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: Paging Request Type 1 may contain second MI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 ) Change subject: library/GSM_RR_Types: Paging Request Type 1 may contain second MI ...................................................................... library/GSM_RR_Types: Paging Request Type 1 may contain second MI Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f --- M library/GSM_RR_Types.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 878166b..9d71f80 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -989,7 +989,8 @@ } }; - template GsmRrMessage tr_PAG_REQ1(template MobileIdentityLV mi1 := ?) := { + template GsmRrMessage tr_PAG_REQ1(template MobileIdentityLV mi1 := ?, + template MobileIdentityTLV mi2 := omit) := { header := t_RrHeader(PAGING_REQUEST_TYPE_1, ?), payload := { pag_req_1 := { @@ -999,7 +1000,7 @@ }, page_mode := PAGE_MODE_NORMAL, mi1 := mi1, - mi2 := omit, + mi2 := mi2, rest_octets := ? } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17640 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f Gerrit-Change-Number: 17640 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 Sun Mar 29 14:26:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:26:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: add more templates for Mobile Identity IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 ) Change subject: library/L3_Templates: add more templates for Mobile Identity IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife954becab8c51605da05618a721541e7a4de319 Gerrit-Change-Number: 17645 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14:26: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 Mar 29 14:27:05 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sun, 29 Mar 2020 14:27:05 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 to look at the new patch set (#2). Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 14:27:05 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Sun, 29 Mar 2020 14:27:05 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run 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/+/17651 to look at the new patch set (#3). Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... iperf3: add modifier to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/mod-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py 5 files changed, 34 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 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 Sun Mar 29 14:27:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:27:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 ) Change subject: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a Gerrit-Change-Number: 17643 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14:27: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 Mar 29 14:27:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:27:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 ) Change subject: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 Gerrit-Change-Number: 17644 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14:27:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 14:28:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:28:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 ) Change subject: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f Gerrit-Change-Number: 17642 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 14: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 Mar 29 14:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:28:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: add more templates for Mobile Identity IE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 ) Change subject: library/L3_Templates: add more templates for Mobile Identity IE ...................................................................... library/L3_Templates: add more templates for Mobile Identity IE Change-Id: Ife954becab8c51605da05618a721541e7a4de319 --- M library/L3_Templates.ttcn 1 file changed, 61 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/L3_Templates.ttcn b/library/L3_Templates.ttcn index af4a573..7e53709 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -63,6 +63,67 @@ } +/* 3GPP TS 24.008, section 10.5.1.4 "Mobile Identity" */ +template (value) MobileIdentityTLV ts_MI_TLV(template (value) MobileIdentityV mi) := { + elementIdentifier := '0010111'B, + spare1 := '0'B, + mobileIdentityLV := ts_MI_LV(mi) +}; +template MobileIdentityTLV tr_MI_TLV(template MobileIdentityV mi) := { + elementIdentifier := '0010111'B, + spare1 := '0'B, + mobileIdentityLV := tr_MI_LV(mi) +}; + +template (value) MobileIdentityLV ts_MI_LV(template (value) MobileIdentityV mi) := { + lengthIndicator := 0, /* overwritten */ + mobileIdentityV := mi +}; +template MobileIdentityLV tr_MI_LV(template MobileIdentityV mi) := { + lengthIndicator := ?, + mobileIdentityV := mi +}; + +/* Universal (send & receive) template for No Identity */ +template MobileIdentityV t_MI_NoIdentity(template (present) hexstring filler := 'F'H) := { + typeOfIdentity := '000'B, + oddEvenInd_identity := { + no_identity := { + /* Always old, since length can be 1, 3, or 5 */ + oddevenIndicator := '0'B, + fillerDigits := filler + } + } +}; + +/* Universal (send & receive) template for TMSI/P-TMSI */ +template MobileIdentityV t_MI_TMSI(template (present) OCT4 tmsi) := { + typeOfIdentity := '100'B, + oddEvenInd_identity := { + tmsi_ptmsi := { + oddevenIndicator := '0'B, + fillerDigit := '1111'B, + octets := tmsi + } + } +}; + +private function f_tr_MI_IMSI(template (present) hexstring digits) +return template (present) IMSI_L3 { + if (istemplatekind(digits, "?")) { + return ?; + } else { + return f_enc_IMSI_L3(valueof(digits)) + } +} +template MobileIdentityV tr_MI_IMSI(template hexstring imsi) := { + typeOfIdentity := '001'B, + oddEvenInd_identity := { + imsi := f_tr_MI_IMSI(imsi) + } +}; + + /* send template for Mobile Identity (TMSI) */ template MobileIdentityLV ts_MI_TMSI_LV(OCT4 tmsi) := { lengthIndicator := 0, /* overwritten */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife954becab8c51605da05618a721541e7a4de319 Gerrit-Change-Number: 17645 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 Sun Mar 29 14:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:28:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 ) Change subject: library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates ...................................................................... library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f --- M library/BSSGP_Types.ttcn 1 file changed, 2 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/BSSGP_Types.ttcn b/library/BSSGP_Types.ttcn index e9984d8..c54f708 100644 --- a/library/BSSGP_Types.ttcn +++ b/library/BSSGP_Types.ttcn @@ -14,6 +14,7 @@ import from Osmocom_Types all; import from GSM_Types all; import from GSM_RR_Types all; + import from L3_Templates all; import from BSSGP_Helper_Functions all; type enumerated BssgpPduType { @@ -386,19 +387,7 @@ template BssgpTLV t_BSSGP_IE_Imsi(template hexstring imsi) := { iei := IMSI, len := 4, - u := { - mobile_id := { - typeOfIdentity := MI_TYPE_IMSI, - oddEvenInd_identity := { - imsi := { - /* TODO: introduce generic tr_IMSI_L3 */ - oddevenIndicator := true, /* IMSI has 15 digits */ - digits := imsi, - fillerDigit := '1111'B - } - } - } - } + u := { mobile_id := tr_MI_IMSI(imsi) } } template BssgpTLV t_BSSGP_IE_Qos(BssgpQosProfile qos) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17642 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f Gerrit-Change-Number: 17642 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 14:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:28:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 ) Change subject: BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity ...................................................................... BTS_Tests_SMSCB: use existing tr_PAG_REQ1 and t_MI_NoIdentity Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a --- M bts/BTS_Tests_SMSCB.ttcn 1 file changed, 3 insertions(+), 29 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_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index ebd8d0f..08e1cef 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -23,6 +23,7 @@ import from LAPDm_Types all; import from IPA_Emulation all; import from GSM_RR_Types all; +import from L3_Templates all; import from RSL_Types all; @@ -884,33 +885,6 @@ payload :=? }; -private template GsmRrMessage tr_PagingType1_empty := { - header := t_RrHeader(PAGING_REQUEST_TYPE_1, 5), - payload := { - pag_req_1 := { - chan_needed := { - second := CHAN_NEED_ANY, - first := CHAN_NEED_ANY - }, - page_mode := PAGE_MODE_NORMAL, - mi1 := { - lengthIndicator := 1, - mobileIdentityV := { - typeOfIdentity := '000'B, - oddEvenInd_identity := { - no_identity := { - oddevenIndicator := '0'B, - fillerDigits := 'F'H - } - } - } - }, - mi2 := omit, - rest_octets := ? - } - } -}; - /* we expect four blocks of 14 bytes, let's fill them with content easily distinguishable */ const octetstring c_etws_seg0 := '000102030405060708090a0b0c0d'O; const octetstring c_etws_seg1 := '101112131415161718191a1b1c1d'O; @@ -941,7 +915,7 @@ [] L1CTL.receive(tr_L1CTL_DATA_IND(t_chan_nr)) -> value dl { var GsmRrMessage l3 := dec_GsmRrMessage(dl.payload.data_ind.payload); select (l3) { - case (tr_PagingType1_empty) { + case (tr_PAG_REQ1(tr_MI_LV(t_MI_NoIdentity()))) { var octetstring p1ro := l3.payload.pag_req_1.rest_octets; var bitstring midamble := oct2bit(substr(p1ro, 0, 3)); var octetstring segment := substr(p1ro, 3, lengthof(p1ro)-3); @@ -1037,7 +1011,7 @@ [] L1CTL.receive(tr_L1CTL_DATA_IND(t_chan_nr)) -> value dl { var GsmRrMessage l3 := dec_GsmRrMessage(dl.payload.data_ind.payload); select (l3) { - case (tr_PagingType1_empty) { repeat; } + case (tr_PAG_REQ1(tr_MI_LV(t_MI_NoIdentity()))) { repeat; } case (tr_PagingType1) { setverdict(fail, "Received non-empty PT1 after disabling ETWS PN: ", l3); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17643 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I018e1d875c85fe3958fd184fe0d2b0f56d1e343a Gerrit-Change-Number: 17643 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 Sun Mar 29 14:28:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:28:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 ) Change subject: PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI ...................................................................... PCU: fix f_tc_paging_ps_from_sgsn(): also match received MI Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 25 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/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 6e11889..3f18400 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -366,27 +366,42 @@ } /* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_pag_req1(out integer imsi_suff_rx, out GsmRrMessage rr_pag_req1) -runs on RAW_PCU_Test_CT { +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); - imsi_suff_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + + 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())) { + 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; } + + /* 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; + } + BTS.send(ts_PCUIF_DATA_CNF(bts_nr := 0, trx_nr := 0, ts_nr := 0, block_nr := 0, fn := pcu_msg.u.data_req.fn, arfcn := 871, sapi := PCU_IF_SAPI_PCH, data := macblock)); + + return rr_pag_req1; } private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) @@ -1502,12 +1517,9 @@ */ private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_pag_req1; var OCT4 tlli := '00000001'O; - var integer imsi_suff_rx; var integer imsi_suff_tx := 423; var hexstring imsi := f_gen_imsi(imsi_suff_tx); - var GsmTmsi tmsi; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1519,22 +1531,17 @@ f_bssgp_establish(); f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); - /* Send paging request with or without TMSI */ + /* 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. */ if (use_ptmsi) { - tmsi := oct2int(f_rnd_octstring(4)); /* Random P-TMSI */ - BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, tmsi)); + var OCT4 tmsi := f_rnd_octstring(4); /* Random P-TMSI */ + BSSGP[0].send(ts_BSSGP_PS_PAGING_PTMSI(bvci, imsi, oct2int(tmsi))); + f_pcuif_rx_pch_pag_req1(t_MI_TMSI(tmsi), imsi_suff_tx); } else { BSSGP[0].send(ts_BSSGP_PS_PAGING_IMSI(bvci, imsi)); + f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); } - /* Receive it on BTS side towards MS */ - f_pcuif_rx_pch_pag_req1(imsi_suff_rx, rr_pag_req1); - if (imsi_suff_rx != imsi_suff_tx) { - setverdict(fail, "Wrong IMSI suffix: expected ", imsi_suff_tx, " but received ", imsi_suff_rx); - mtc.stop; - } - - /* TODO: match MI (P-TMSI/IMSI) of received RR Paging Request */ setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia8c25ee74c711d8abc84b7d164b3d41abafc1da4 Gerrit-Change-Number: 17644 Gerrit-PatchSet: 5 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 Sun Mar 29 14:28:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:28:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use MobileIdentityLV for MS Identity IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 ) Change subject: library/RSL_Types: use MobileIdentityLV for MS Identity IE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 Gerrit-Change-Number: 17646 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Mar 2020 14:28: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 Mar 29 14:29:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:29:50 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not 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 not loglevel is set ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17604/1/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/1/src/logging.c at 1065 PS1, Line 1065: LOGL_NOTICE; cosmetic: no need to break the line. If you want to break it, please use curly braces around the block. -- 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: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Mar 2020 14:29:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 14:31:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Mar 2020 14:31:40 +0000 Subject: Change in osmo-bsc[master]: fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17654 ) Change subject: fix append_gprs_cell_opt(): properly set Access Burst Type in SI13 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17654 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iac66a675d64b1c32d8a61a0229e44b35bf2a1414 Gerrit-Change-Number: 17654 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Mar 2020 14: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 Sun Mar 29 14:50:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Mar 2020 14:50:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use MobileIdentityLV for MS Identity IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 ) Change subject: library/RSL_Types: use MobileIdentityLV for MS Identity IE ...................................................................... Patch Set 2: Verified+1 FYI, I have been running BSC_Tests.ttcn with this patch set applied on my machine and noticed no regressions. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 Gerrit-Change-Number: 17646 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Mar 2020 14:50:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 29 17:20:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Mar 2020 17:20:12 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/2/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/2/src/osmo_gsm_tester/srs_enb.py at 224 PS2, Line 224: rf_dev_args = values['enb'].get('rf_dev_args', '') You probably need to, on top, check if rf_dev_args is not empty, and then add a "," at the end before appending stuff to it. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 17:20: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 Sun Mar 29 17:28:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Mar 2020 17:28:33 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/3/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/3/src/osmo_gsm_tester/iperf3.py at 164 PS3, Line 164: if time_sec_str.endswith('h'): You probably wanna make sure time_sec is a string here, to allow tests passing an integer: if isinstance(time_sec_str, str) and time_sec_str.endswith('h'): ... elif isinstance(time_sec_str, str) and time_sec_str.endswith('m'): ... -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 17:28: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 Mar 29 17:34:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Mar 2020 17:34:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use MobileIdentityLV for MS Identity IE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 ) Change subject: library/RSL_Types: use MobileIdentityLV for MS Identity IE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 Gerrit-Change-Number: 17646 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 17:34: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 Sun Mar 29 18:18:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Mar 2020 18:18:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use MobileIdentityLV for MS Identity IE In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 ) Change subject: library/RSL_Types: use MobileIdentityLV for MS Identity IE ...................................................................... library/RSL_Types: use MobileIdentityLV for MS Identity IE Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 --- M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M library/L3_Templates.ttcn M library/RSL_Types.ttcn 4 files changed, 39 insertions(+), 31 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index de7102e..353ab16 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1298,11 +1298,10 @@ template BSSMAP_FIELD_CellIdentificationList cid_list, BtsIdList bts_ids := { 0 }, template RSL_ChanNeeded rsl_chneed := omit, - template OCT4 tmsi := omit) runs on test_CT + template (omit) OCT4 tmsi := omit) runs on test_CT { var template BSSMAP_IE_ChannelNeeded bssmap_chneed; - /* FIXME (unused): var MobileIdentity mi; */ - var template octetstring id_enc; /* FIXME */ + var template MobileIdentityV mi; var RSL_Message rx_rsl; var integer paging_group := hex2int(imsi[lengthof(imsi)-1]); var integer i; @@ -1323,17 +1322,14 @@ f_bssap_tx_ud(ts_BSSMAP_Paging(imsi, cid_list, tmsi, bssmap_chneed)); -/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder - if (isvalue(tmsi)) { - mi := valueof(t_Osmo_MI_TMSI(oct2int(valueof(tmsi)))); + if (not istemplatekind(tmsi, "omit")) { + mi := t_MI_TMSI(tmsi); } else { - mi := valueof(ts_Osmo_MI_IMSI(imsi)); + mi := tr_MI_IMSI(imsi); } - id_enc := enc_MobileIdentity(mi); -*/ - id_enc := ?; + for (i := 0; i < sizeof(bts_ids); i := i + 1) { - rx_rsl := f_exp_ipa_rx(bts_ids[i], tr_RSL_PAGING_CMD(id_enc)); + rx_rsl := f_exp_ipa_rx(bts_ids[i], tr_RSL_PAGING_CMD(mi)); /* check channel type, paging group */ if (rx_rsl.ies[1].body.paging_group != paging_group) { setverdict(fail, "Paging for wrong paging group"); @@ -1352,7 +1348,7 @@ } T.start; alt { - [] IPA_RSL[i].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(id_enc))) { + [] IPA_RSL[i].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(mi))) { setverdict(fail, "Paging on BTS ", i, " which is not part of ", bts_ids); } [] IPA_RSL[i].receive { repeat; } diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3018bca..9534a8b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2978,18 +2978,17 @@ /* Send paging cmds based on elapsed time */ var integer new_sent := f_min(pkt_total, float2int(T_total.read * pch_blocks_per_sec) + 1); while (st.num_paging_sent < new_sent) { + var MobileIdentityV mi; + /* build mobile Identity */ - var MobileIdentityLV mi; if (cfg.use_tmsi) { - mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); + mi := valueof(t_MI_TMSI(f_rnd_octstring(4))); } else { - mi := valueof(ts_MI_IMSI_LV(f_gen_imsi(st.num_paging_sent))); + mi := valueof(ts_MI_IMSI(f_gen_imsi(st.num_paging_sent))); } - var octetstring mi_enc_lv := enc_MobileIdentityLV(mi); - var octetstring mi_enc := substr(mi_enc_lv, 1, lengthof(mi_enc_lv)-1); /* Send RSL PAGING COMMAND */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi_enc, st.num_paging_sent mod 4))); + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); st.num_paging_sent := st.num_paging_sent + 1; } @@ -4570,22 +4569,27 @@ f_init_pcu_test(); for (var integer i := 0; i < 100; i := i+1) { - var MobileIdentityLV mi; + var MobileIdentityLV mi_lv; + var octetstring mi_lv_enc; + var MobileIdentityV mi; timer T := 3.0; + if (i < 50) { - mi := valueof(ts_MI_TMSI_LV(f_rnd_octstring(4))); + mi := valueof(t_MI_TMSI(f_rnd_octstring(4))); } else { - mi := valueof(ts_MI_IMSI_LV(f_gen_imsi(i))); + mi := valueof(ts_MI_IMSI(f_gen_imsi(i))); } - var octetstring mi_enc_lv := enc_MobileIdentityLV(mi); - var octetstring mi_enc := substr(mi_enc_lv, 1, lengthof(mi_enc_lv)-1); - var octetstring t_mi_lv := f_pad_oct(mi_enc_lv, 9, '00'O); + + /* Fancy encoding for PCUIF */ + mi_lv := valueof(ts_MI_LV(mi)); + mi_lv_enc := enc_MobileIdentityLV(mi_lv); + 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_enc, i mod 4))); + RSL_CCHAN.send(ts_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, t_mi_lv))) { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ(0, mi_lv_enc))) { } [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PAGING REQ"); diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 7e53709..092026e 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -122,6 +122,12 @@ imsi := f_tr_MI_IMSI(imsi) } }; +template (value) MobileIdentityV ts_MI_IMSI(hexstring imsi) := { + typeOfIdentity := '001'B, + oddEvenInd_identity := { + imsi := f_enc_IMSI_L3(imsi) + } +}; /* send template for Mobile Identity (TMSI) */ diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index f905973..ff0e2e5 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -16,6 +16,8 @@ import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; + import from MobileL3_CommonIE_Types all; + import from L3_Templates all; /* Section 9.1 */ type enumerated RSL_MessageGroup { @@ -819,7 +821,7 @@ uint8_t smscb_chan_ind, RSL_IE_RequestRef req_ref, RSL_LV full_imm_ass_info, - RSL_LV ms_identity, + MobileIdentityLV ms_identity, uint16_t ipa_conn_id, uint16_t ipa_local_port, @@ -1677,23 +1679,23 @@ } /* 8.5.5 BSC -> BTS */ - template RSL_Message tr_RSL_PAGING_CMD(template octetstring identity, template uint3_t tn := ?) := { + template RSL_Message tr_RSL_PAGING_CMD(template MobileIdentityV mi, template uint3_t tn := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_PAGING_CMD, ies := { tr_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_PCH_AGCH(tn)}), tr_RSL_IE(RSL_IE_Body:{paging_group := ?}), - tr_RSL_IE(RSL_IE_Body:{ms_identity := tr_RSL_LV(identity)}), + tr_RSL_IE(RSL_IE_Body:{ms_identity := tr_MI_LV(mi)}), * /* opt: channel needed, eMLPP prio */ } } - template (value) RSL_Message ts_RSL_PAGING_CMD(octetstring identity, uint8_t pg, uint3_t tn := 0) := { + template (value) RSL_Message ts_RSL_PAGING_CMD(MobileIdentityV mi, uint8_t pg, uint3_t tn := 0) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_PAGING_CMD, ies := { t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := ts_RslChanNr_PCH_AGCH(tn)}), t_RSL_IE(RSL_IE_PAGING_GROUP, RSL_IE_Body:{paging_group := pg}), - t_RSL_IE(RSL_IE_MS_IDENTITY, RSL_IE_Body:{ms_identity := ts_RSL_LV(identity)}) + t_RSL_IE(RSL_IE_MS_IDENTITY, RSL_IE_Body:{ms_identity := ts_MI_LV(mi)}) } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818 Gerrit-Change-Number: 17646 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 Sun Mar 29 18:22:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Mar 2020 18:22:27 +0000 Subject: Change in osmo-pcu[master]: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17581 ) Change subject: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate ...................................................................... Patch Set 2: > Patch Set 2: > > I'm not sure that's really what we want. I mean, with current setup if you use INFO level you get one line for each message with the message being handled, which is "acceptable", while using DEBUG then you get tons of detailed parsing information. If you set it to notice (the default) you then don't see those. > What do you think? Ok, I am fine with the current approach. I'll abandon this change. > It may look more annoying because of the red color. I'm fine if you want to swap for instance red with the other category in orange/brown, which usually shows more "interesting" stuff. Sounds like a good idea for a new change ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 Gerrit-Change-Number: 17581 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Mar 2020 18:22: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 Sun Mar 29 18:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Mar 2020 18:22:44 +0000 Subject: Change in osmo-pcu[master]: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17581 ) Change subject: rlcmac: use LOGL_DEBUG instead of LOGL_INFO where appropriate ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I22f56cbcf2ee7339518300288c6d7f60a483a016 Gerrit-Change-Number: 17581 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 07:49:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 07:49:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17655 ) Change subject: BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() ...................................................................... BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() We actually need to check if a MI is present, i.e. not omit. ispresent(omit) => false isvalue(omit) => true Change-Id: I0e24e2aaa1f0da7ffdbc93ea4a19491e5dfb39b4 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/17655/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9534a8b..a2b4af7 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2869,7 +2869,7 @@ if (match(rr, tr_PAGING_REQ1)) { num_paging_rcv_msgs := num_paging_rcv_msgs + 1; num_paging_rcv_ids := num_paging_rcv_ids + 1; - if (isvalue(rr.msgs.rrm.pagingReq_Type1.mobileIdentity2)) { + if (ispresent(rr.msgs.rrm.pagingReq_Type1.mobileIdentity2)) { num_paging_rcv_ids := num_paging_rcv_ids + 1; } } else if (match(rr, tr_PAGING_REQ2)) { @@ -2880,7 +2880,7 @@ if (not tmsi_is_dummy(rr.msgs.rrm.pagingReq_Type2.mobileIdentity2)) { num_paging_rcv_ids := num_paging_rcv_ids + 1; } - if (isvalue(rr.msgs.rrm.pagingReq_Type2.mobileIdentity3)) { + if (ispresent(rr.msgs.rrm.pagingReq_Type2.mobileIdentity3)) { num_paging_rcv_ids := num_paging_rcv_ids + 1; } } else if (match(rr, tr_PAGING_REQ3)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0e24e2aaa1f0da7ffdbc93ea4a19491e5dfb39b4 Gerrit-Change-Number: 17655 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 Mar 30 07:49:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 07:49:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI... References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17656 ) Change subject: library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI templates ...................................................................... library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI templates Change-Id: Id35477ffc4a914e71100f129bbc4833b48ed5da4 --- M library/L3_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 4 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/17656/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 092026e..46cd1ac 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -381,22 +381,6 @@ } } -/* Template for receiving a Paging Request Type1 message with a given TMSI in the first mobile identity. */ -template MobileIdentityLV tr_PAGING_REQ1_MI1_TMSI(octetstring tmsi) := { - lengthIndicator := 5, - mobileIdentityV := { - typeOfIdentity := '100'B, - oddEvenInd_identity := { - tmsi_ptmsi := { - oddevenIndicator := '0'B, - fillerDigit := '1111'B, - octets := tmsi - } - } - } - -} - template PDU_ML3_NW_MS tr_PAGING_REQ2(template TMSIP_TMSI_V mi1 := ?, template TMSIP_TMSI_V mi2 := ?, template MobileIdentityTLV mi3 := *) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 1c2b271..7ef3d0a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -222,7 +222,7 @@ log("BSSGP successfully initialized"); } -function f_wait_paging_req_type1(hexstring expected_tmsi) runs on dummy_CT { +function f_wait_paging_req_type1(template (present) MobileIdentityV mi) runs on dummy_CT { var LAPDm_ph_data ph_data; timer T := 5.0; @@ -240,7 +240,7 @@ repeat; } - if (match(pdu, tr_PAGING_REQ1(tr_PAGING_REQ1_MI1_TMSI(hex2oct(expected_tmsi))))) { + if (match(pdu, tr_PAGING_REQ1(tr_MI_LV(mi)))) { setverdict(pass); } else { repeat; @@ -268,12 +268,12 @@ /* TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); - f_wait_paging_req_type1(hex2oct(g_mmctx.imsi)); + f_wait_paging_req_type1(tr_MI_IMSI(g_mmctx.imsi)); */ /* Page by TMSI */ BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); - f_wait_paging_req_type1(tmsi_hex); + f_wait_paging_req_type1(t_MI_TMSI(hex2oct(tmsi_hex))); } /* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id35477ffc4a914e71100f129bbc4833b48ed5da4 Gerrit-Change-Number: 17656 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 Mar 30 08:19:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Mar 2020 08:19:06 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Mar 2020 08:19:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 08:19:49 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Mar 2020 08:19:49 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17627 ) Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 08:19: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 Mar 30 08:21:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Mar 2020 08:21:22 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17628 ) Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 08:21: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 Mar 30 08:52:41 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:41 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Move parsing of GID2 to generic Card class Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/17657/1 diff --git a/pySim-read.py b/pySim-read.py index 083f91b..cd82498 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -124,7 +124,7 @@ # EF.GID2 try: - (res, sw) = scc.read_binary(EF['GID2']) + (res, sw) = card.read_gid2() if sw == '9000': print("GID2: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index 61a3707..495d3ee 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -152,6 +152,13 @@ else: return (None, sw) + def read_gid2(self): + (res, sw) = self._scc.read_binary(EF['GID2']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 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 Mar 30 08:52:42 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:42 +0000 Subject: Change in pysim[master]: Move parsing of SMSP to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17658 ) Change subject: Move parsing of SMSP to generic Card class ...................................................................... Move parsing of SMSP to generic Card class Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/17658/1 diff --git a/pySim-read.py b/pySim-read.py index cd82498..a7e5d4c 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -133,7 +133,7 @@ print("GID2: Can't read file -- %s" % (str(e),)) # EF.SMSP - (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) + (res, sw) = card.read_smsp() if sw == '9000': print("SMSP: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index 495d3ee..e858270 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -115,6 +115,13 @@ data, sw = self._scc.update_binary(EF['PLMNsel'], hplmn + 'ff' * (size-3)) return sw + def read_smsp(self): + (res, sw) = self._scc.read_record(['3f00', '7f10', '6f42'], 1) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + def update_smsp(self, smsp): data, sw = self._scc.update_record(EF['SMSP'], 1, rpad(smsp, 84)) return sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b Gerrit-Change-Number: 17658 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 Mar 30 08:52:43 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:43 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read SPN References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17659 ) Change subject: pySim-read.py: Use the method declared in cards.py to read SPN ...................................................................... pySim-read.py: Use the method declared in cards.py to read SPN Change-Id: I71c29e2d9d62c50d352556710e63ba398269a5c7 --- M pySim-read.py 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/17659/1 diff --git a/pySim-read.py b/pySim-read.py index a7e5d4c..cd566e0 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -141,12 +141,11 @@ # EF.SPN try: - (res, sw) = scc.read_binary(EF['SPN']) + (res, sw) = card.read_spn() if sw == '9000': - spn_res = dec_spn(res) - print("SPN: %s" % (spn_res[0] or "Not available")) - print("Display HPLMN: %s" % (spn_res[1],)) - print("Display OPLMN: %s" % (spn_res[2],)) + print("SPN: %s" % (res[0] or "Not available")) + print("Display HPLMN: %s" % (res[1],)) + print("Display OPLMN: %s" % (res[2],)) else: print("SPN: Can't read, response code = %s" % (sw,)) except Exception as e: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71c29e2d9d62c50d352556710e63ba398269a5c7 Gerrit-Change-Number: 17659 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 Mar 30 08:52:43 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:43 +0000 Subject: Change in pysim[master]: Move parsing of PLMNsel to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17660 ) Change subject: Move parsing of PLMNsel to generic Card class ...................................................................... Move parsing of PLMNsel to generic Card class Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/60/17660/1 diff --git a/pySim-read.py b/pySim-read.py index cd566e0..d8165d1 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -153,7 +153,7 @@ # EF.PLMNsel try: - (res, sw) = scc.read_binary(EF['PLMNsel']) + (res, sw) = card.read_plmnsel() if sw == '9000': print("PLMNsel: %s" % (res)) else: diff --git a/pySim/cards.py b/pySim/cards.py index e858270..96c0a76 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -108,6 +108,13 @@ data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw + def read_plmnsel(self): + (res, sw) = self._scc.read_binary(EF['PLMNsel']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + def update_plmnsel(self, mcc, mnc): data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) size = len(data[0]) // 2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 Gerrit-Change-Number: 17660 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 Mar 30 08:52:43 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:43 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Move parsing of PLMNwAcT to generic Card class Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 --- M pySim-read.py M pySim/cards.py 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/61/17661/1 diff --git a/pySim-read.py b/pySim-read.py index d8165d1..ba4e882 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -163,9 +163,9 @@ # EF.PLMNwAcT try: - (res, sw) = scc.read_binary(EF['PLMNwAcT']) + (res, sw) = card.read_plmn_act() if sw == '9000': - print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + print("PLMNwAcT:\n%s" % (res)) else: print("PLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index 96c0a76..b666f65 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -96,6 +96,13 @@ data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw + def read_plmn_act(self): + (res, sw) = self._scc.read_binary(EF['PLMNwAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_plmn_act(self, mcc, mnc, access_tech='FFFF'): """ See note in update_hplmn_act() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 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 Mar 30 08:52:43 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:43 +0000 Subject: Change in pysim[master]: Move parsing of OPLMNwAcT to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17662 ) Change subject: Move parsing of OPLMNwAcT to generic Card class ...................................................................... Move parsing of OPLMNwAcT to generic Card class Change-Id: I8050bd103a7085b2631ddc4e567d15e05f9428f2 --- M pySim-read.py M pySim/cards.py 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/17662/1 diff --git a/pySim-read.py b/pySim-read.py index ba4e882..0da00b5 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -173,9 +173,9 @@ # EF.OPLMNwAcT try: - (res, sw) = scc.read_binary(EF['OPLMNwAcT']) + (res, sw) = card.read_oplmn_act() if sw == '9000': - print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + print("OPLMNwAcT:\n%s" % (res)) else: print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index b666f65..ac9d993 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -84,6 +84,13 @@ data, sw = self._scc.update_binary(EF['HPLMNwAcT'], content + 'ffffff0000' * (size // 5 - 1)) return sw + def read_oplmn_act(self): + (res, sw) = self._scc.read_binary(EF['OPLMNwAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): """ See note in update_hplmn_act() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17662 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8050bd103a7085b2631ddc4e567d15e05f9428f2 Gerrit-Change-Number: 17662 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 Mar 30 08:52:44 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:44 +0000 Subject: Change in pysim[master]: Move parsing of HPLMNAcT to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17663 ) Change subject: Move parsing of HPLMNAcT to generic Card class ...................................................................... Move parsing of HPLMNAcT to generic Card class Change-Id: I46c863c118dcbef89455c34289ed25e5a342f35b --- M pySim-read.py M pySim/cards.py 2 files changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/63/17663/1 diff --git a/pySim-read.py b/pySim-read.py index 0da00b5..5bd20ef 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -183,9 +183,9 @@ # EF.HPLMNAcT try: - (res, sw) = scc.read_binary(EF['HPLMNAcT']) + (res, sw) = card.read_hplmn_act() if sw == '9000': - print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) + print("HPLMNAcT:\n%s" % (res)) else: print("HPLMNAcT: Can't read, response code = %s" % (sw,)) except Exception as e: diff --git a/pySim/cards.py b/pySim/cards.py index ac9d993..b8af407 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -66,6 +66,13 @@ data, sw = self._scc.update_binary(EF['ACC'], lpad(acc, 4)) return sw + def read_hplmn_act(self): + (res, sw) = self._scc.read_binary(EF['HPLMNAcT']) + if sw == '9000': + return (format_xplmn_w_act(res), sw) + else: + return (None, sw) + def update_hplmn_act(self, mcc, mnc, access_tech='FFFF'): """ Update Home PLMN with access technology bit-field -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17663 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I46c863c118dcbef89455c34289ed25e5a342f35b Gerrit-Change-Number: 17663 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 Mar 30 08:52:44 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:44 +0000 Subject: Change in pysim[master]: Move parsing of ACC to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17664 ) Change subject: Move parsing of ACC to generic Card class ...................................................................... Move parsing of ACC to generic Card class Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/17664/1 diff --git a/pySim-read.py b/pySim-read.py index 5bd20ef..a18cc77 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -192,7 +192,7 @@ print("HPLMNAcT: Can't read file -- " + str(e)) # EF.ACC - (res, sw) = scc.read_binary(['3f00', '7f20', '6f78']) + (res, sw) = card.read_acc() if sw == '9000': print("ACC: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index b8af407..fe4ecb8 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -62,6 +62,13 @@ data, sw = self._scc.update_binary(EF['IMSI'], enc_imsi(imsi)) return sw + def read_acc(self): + (res, sw) = self._scc.read_binary(EF['ACC']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + def update_acc(self, acc): data, sw = self._scc.update_binary(EF['ACC'], lpad(acc, 4)) return sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17664 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a02c74d64b3120055163548fc128ed6e0650a4 Gerrit-Change-Number: 17664 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 Mar 30 08:52:44 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:44 +0000 Subject: Change in pysim[master]: Move parsing of MSISDN to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17665 ) Change subject: Move parsing of MSISDN to generic Card class ...................................................................... Move parsing of MSISDN to generic Card class Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be --- M pySim-read.py M pySim/cards.py 2 files changed, 11 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/65/17665/1 diff --git a/pySim-read.py b/pySim-read.py index a18cc77..b84be29 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -200,13 +200,11 @@ # EF.MSISDN try: - # print(scc.record_size(['3f00', '7f10', '6f40'])) - (res, sw) = scc.read_record(['3f00', '7f10', '6f40'], 1) + (res, sw) = card.read_msisdn() if sw == '9000': - res_dec = dec_msisdn(res) - if res_dec is not None: - # (npi, ton, msisdn) = res_dec - print("MSISDN (NPI=%d ToN=%d): %s" % res_dec) + # (npi, ton, msisdn) = res + if res is not None: + print("MSISDN (NPI=%d ToN=%d): %s" % res) else: print("MSISDN: Not available") else: diff --git a/pySim/cards.py b/pySim/cards.py index fe4ecb8..06753c3 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -201,6 +201,13 @@ else: return (None, sw) + def read_msisdn(self): + (res, sw) = self._scc.read_record(EF['MSISDN'], 1) + if sw == '9000': + return (dec_msisdn(res), sw) + else: + return (None, sw) + # Read the (full) AID for either ISIM or USIM application def read_aid(self, isim = False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17665 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5b726bc0dc8c8e5eb42f209b1fe0f35a46ac91be Gerrit-Change-Number: 17665 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 Mar 30 08:52:44 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:44 +0000 Subject: Change in pysim[master]: Move parsing of AD to generic Card class References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17666 ) Change subject: Move parsing of AD to generic Card class ...................................................................... Move parsing of AD to generic Card class Change-Id: Ie7f62913caed95f482445962954857bb69b58078 --- M pySim-read.py M pySim/cards.py 2 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/66/17666/1 diff --git a/pySim-read.py b/pySim-read.py index b84be29..468dadd 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -213,7 +213,7 @@ print("MSISDN: Can't read file -- " + str(e)) # EF.AD - (res, sw) = scc.read_binary(['3f00', '7f20', '6fad']) + (res, sw) = card.read_ad() if sw == '9000': print("AD: %s" % (res,)) else: diff --git a/pySim/cards.py b/pySim/cards.py index 06753c3..4141a79 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -161,6 +161,13 @@ data, sw = self._scc.update_record(EF['SMSP'], 1, rpad(smsp, 84)) return sw + def read_ad(self): + (res, sw) = self._scc.read_binary(EF['AD']) + if sw == '9000': + return (res, sw) + else: + return (None, sw) + def update_ad(self, mnc): #See also: 3GPP TS 31.102, chapter 4.2.18 mnclen = len(str(mnc)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17666 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie7f62913caed95f482445962954857bb69b58078 Gerrit-Change-Number: 17666 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 Mar 30 08:52:45 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:45 +0000 Subject: Change in pysim[master]: Define mapping between SIM Service Number and its description References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17667 ) Change subject: Define mapping between SIM Service Number and its description ...................................................................... Define mapping between SIM Service Number and its description This commit introduces a lookup table which maps SIM Service Number to its description. The mapping is defined in 3GPP TS 51.011 version 4.15.0 Release 4, 10.3.7 EF.SST (SIM Service Table) Change-Id: I4a416bd8bff563ae08b1b3c053d2047da91667b4 --- M pySim/ts_51_011.py 1 file changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/67/17667/1 diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 754d57f..1cec91f 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -249,3 +249,66 @@ 'MMSUP': DF['GSM']+[EF_num['MMSUP']], 'MMSUCP': DF['GSM']+[EF_num['MMSUCP']], } + +# Mapping between SIM Service Number and its description +EF_SST_map = { + 1: 'CHV1 disable function', + 2: 'Abbreviated Dialling Numbers (ADN)', + 3: 'Fixed Dialling Numbers (FDN)', + 4: 'Short Message Storage (SMS)', + 5: 'Advice of Charge (AoC)', + 6: 'Capability Configuration Parameters (CCP)', + 7: 'PLMN selector', + 8: 'RFU', + 9: 'MSISDN', + 10: 'Extension1', + 11: 'Extension2', + 12: 'SMS Parameters', + 13: 'Last Number Dialled (LND)', + 14: 'Cell Broadcast Message Identifier', + 15: 'Group Identifier Level 1', + 16: 'Group Identifier Level 2', + 17: 'Service Provider Name', + 18: 'Service Dialling Numbers (SDN)', + 19: 'Extension3', + 20: 'RFU', + 21: 'VGCS Group Identifier List (EFVGCS and EFVGCSS)', + 22: 'VBS Group Identifier List (EFVBS and EFVBSS)', + 23: 'enhanced Multi-Level Precedence and Pre-emption Service', + 24: 'Automatic Answer for eMLPP', + 25: 'Data download via SMS-CB', + 26: 'Data download via SMS-PP', + 27: 'Menu selection', + 28: 'Call control', + 29: 'Proactive SIM', + 30: 'Cell Broadcast Message Identifier Ranges', + 31: 'Barred Dialling Numbers (BDN)', + 32: 'Extension4', + 33: 'De-personalization Control Keys', + 34: 'Co-operative Network List', + 35: 'Short Message Status Reports', + 36: 'Network\'s indication of alerting in the MS', + 37: 'Mobile Originated Short Message control by SIM', + 38: 'GPRS', + 39: 'Image (IMG)', + 40: 'SoLSA (Support of Local Service Area)', + 41: 'USSD string data object supported in Call Control', + 42: 'RUN AT COMMAND command', + 43: 'User controlled PLMN Selector with Access Technology', + 44: 'Operator controlled PLMN Selector with Access Technology', + 45: 'HPLMN Selector with Access Technology', + 46: 'CPBCCH Information', + 47: 'Investigation Scan', + 48: 'Extended Capability Configuration Parameters', + 49: 'MExE', + 50: 'Reserved and shall be ignored', + 51: 'PLMN Network Name', + 52: 'Operator PLMN List', + 53: 'Mailbox Dialling Numbers', + 54: 'Message Waiting Indication Status', + 55: 'Call Forwarding Indication Status', + 56: 'Service Provider Display Information', + 57: 'Multimedia Messaging Service (MMS)', + 58: 'Extension 8', + 59: 'MMS User Connectivity Parameters', +} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4a416bd8bff563ae08b1b3c053d2047da91667b4 Gerrit-Change-Number: 17667 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 Mar 30 08:52:45 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 08:52:45 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse Service Table References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/17668 ) Change subject: utils.py: Add helper method to parse Service Table ...................................................................... utils.py: Add helper method to parse Service Table This method helps in parsing Service Tables in EF.SST, EF.UST, EF.EST, EF.IST. Takes hex string as input and output a list of available/enabled services. Change-Id: I9b72efdb84ba7be4a40928a008a59c67f6fb71d4 --- M pySim/utils.py 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/68/17668/1 diff --git a/pySim/utils.py b/pySim/utils.py index c098384..51f2954 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -325,3 +325,25 @@ bcd = rpad(swap_nibbles(msisdn), 10 * 2) # pad to 10 octets return ('%02x' % bcd_len) + ('%02x' % npi_ton) + bcd + +def parse_st(st): + """ + Parses the EF S/U/IST and returns available/supported services + """ + st_bytes = [st[i:i+2] for i in range(0, len(st), 2) ] + avail_srvc = [] + # Get each byte and check for available services + for i in range(0, len(st_bytes)): + # Byte i contains info about Services num (8i+1) to num (8i+8) + byte = int(st_bytes[i], 16) + # Services in each byte are in order MSB to LSB + # MSB - Service (8i+8) + # LSB - Service (8i+1) + for j in range(1, 9): + if byte&0x01 == 0x01: + # Byte X contains info about Services num (8X-7) to num (8X) + # bit = 1: service available + # bit = 0: service not available + avail_srvc.append((8*i) + j) + byte = byte >> 1 + return avail_srvc -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9b72efdb84ba7be4a40928a008a59c67f6fb71d4 Gerrit-Change-Number: 17668 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 Mar 30 09:36:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 09:36:09 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In [1] I restricted L1 SAPI of PH-RA.ind to PDTCH and PTCCH, and this seems to have caused a regression reported in [2]: DL1IF ERROR sysmo_l1_if.c:251 Rx PH-RA.ind for unknown L1 SAPI PRACH I assumed that PH-RA.ind belonging to a Control Acknowledgement message (in format of 4 Access Bursts) would have PDTCH SAPI, while apparently it's actually arriving on PRACH. [1] I482d60a46b9d253dfe0b16140eac9fea6420b30c [2] https://osmocom.org/issues/1526#note-39 Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Related: OS#1526 --- 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 3 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/69/17669/1 diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 24eb0fa..8a51b4a 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -250,6 +250,7 @@ switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Prach: bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, qta2ta(ra_ind->measParam.i16BurstTiming), true); break; diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 11fecba..8be323b 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -249,6 +249,7 @@ switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Prach: bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, qta2ta(ra_ind->measParam.i16BurstTiming), true); break; diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 751629c..0ab0808 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -239,6 +239,7 @@ switch (ra_ind->sapi) { case GsmL1_Sapi_Pdtch: + case GsmL1_Sapi_Prach: bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, qta2ta(ra_ind->measParam.i16BurstTiming), true); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 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 Mar 30 10:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:01:19 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... Patch Set 1: The question is whether the RA bursts on PTTCH are reported with what specific SAPI value. If they are also reported as PRACH SAPI, then one would have to look at the TDMA multiplex tables in ordre to know if it's a PDTCH or a PTCCH. The question is how to test properly.... I guess we'd need to have some OsmocomBB hack that can transmit RA at user-specified FN + timeslot and then observe what happens on uplink. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:01: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 Mon Mar 30 10:01:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:01:43 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:01:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:02:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:02:03 +0000 Subject: Change in pysim[master]: Move parsing of SMSP to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17658 ) Change subject: Move parsing of SMSP to generic Card class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b Gerrit-Change-Number: 17658 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10: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 Mar 30 10:02:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:02:19 +0000 Subject: Change in pysim[master]: pySim-read.py: Use the method declared in cards.py to read SPN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17659 ) Change subject: pySim-read.py: Use the method declared in cards.py to read SPN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17659 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I71c29e2d9d62c50d352556710e63ba398269a5c7 Gerrit-Change-Number: 17659 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:02: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 Mar 30 10:05:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:05:14 +0000 Subject: Change in pysim[master]: Move parsing of PLMNsel to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17660 ) Change subject: Move parsing of PLMNsel to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17660/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17660/1/pySim/cards.py at 111 PS1, Line 111: def read_plmnsel(self): I think many of these methods are very similar. See e.g. read_spn, read_git1, read_git2, etc. below. I think the proper way to address this is to have a generic method like card.read_binary('PLMNsel') and card.read_record('SMSP', 1) which can be used whenever no further parsing/decoding is requird. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17660 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0a683c479cd41ccc6a93c23434c73793cb5dc186 Gerrit-Change-Number: 17660 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:05:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:05:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:05:19 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Removed Code-Review+2 by laforge -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:05:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:05:32 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17657/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17657/1/pySim/cards.py at 155 PS1, Line 155: def read_gid2(self): I think many of these methods are very similar. See e.g. read_spn, read_git1, read_git2, etc. below. I think the proper way to address this is to have a generic method like card.read_binary('PLMNsel') and card.read_record('SMSP', 1) which can be used whenever no further parsing/decoding is requird. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:05: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 Mon Mar 30 10:05:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:05:54 +0000 Subject: Change in pysim[master]: Move parsing of SMSP to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17658 ) Change subject: Move parsing of SMSP to generic Card class ...................................................................... Patch Set 1: -Code-Review (1 comment) https://gerrit.osmocom.org/c/pysim/+/17658/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17658/1/pySim/cards.py at 119 PS1, Line 119: (res, sw) = self._scc.read_record(['3f00', '7f10', '6f42'], 1) I think many of these methods are very similar. See e.g. read_spn, read_git1, read_git2, etc. below. I think the proper way to address this is to have a generic method like card.read_binary('PLMNsel') and card.read_record('SMSP', 1) which can be used whenever no further parsing/decoding is requird. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I911c5339a739fbdd9d41e61b63f2410c8358815b Gerrit-Change-Number: 17658 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:05: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 Mar 30 10:06:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:06:13 +0000 Subject: Change in pysim[master]: Move parsing of PLMNwAcT to generic Card class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17661 ) Change subject: Move parsing of PLMNwAcT to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17661/1/pySim/cards.py at 101 PS1, Line 101: if sw == '9000': I think many of these methods are very similar. See e.g. read_spn, read_git1, read_git2, etc. below. I think the proper way to address this is to have a generic method like card.read_binary('PLMNsel') and card.read_record('SMSP', 1) which can be used whenever no further parsing/decoding is requird. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I14d7c2dc51fac6d5cf4a708a77ad23d252ba6094 Gerrit-Change-Number: 17661 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:06:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:06:35 +0000 Subject: Change in pysim[master]: Define mapping between SIM Service Number and its description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17667 ) Change subject: Define mapping between SIM Service Number and its description ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4a416bd8bff563ae08b1b3c053d2047da91667b4 Gerrit-Change-Number: 17667 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10: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 Mar 30 10:07:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:07:15 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse Service Table In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17668 ) Change subject: utils.py: Add helper method to parse Service Table ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9b72efdb84ba7be4a40928a008a59c67f6fb71d4 Gerrit-Change-Number: 17668 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:07: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 Mar 30 10:07:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:07:39 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Mar 2020 10:07:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:07:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:07:48 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 10:07: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 Mar 30 10:08:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:03 +0000 Subject: Change in osmo-pcu[master]: gsm_rlcmac: Disable unused CSN1 descriptors In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17626 ) Change subject: gsm_rlcmac: Disable unused CSN1 descriptors ...................................................................... gsm_rlcmac: Disable unused CSN1 descriptors When switching to C compiler, it will warn/error. Use #if 0 as in the original wireshark.git epan/dissectors/packet-gsm_rlcmac.c code. Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 --- M src/gsm_rlcmac.cpp 1 file changed, 130 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index 3525bf0..5db8bbd 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -215,31 +215,40 @@ /**/ /**/ +#if 0 static const CSN_DESCR_BEGIN(MobileAllocationIE_t) M_UINT (MobileAllocationIE_t, Length, 8), M_VAR_ARRAY (MobileAllocationIE_t, MA, Length, 0), CSN_DESCR_END (MobileAllocationIE_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(SingleRFChannel_t) M_UINT (SingleRFChannel_t, spare, 2), M_UINT (SingleRFChannel_t, ARFCN, 10), CSN_DESCR_END (SingleRFChannel_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(RFHoppingChannel_t) M_UINT (RFHoppingChannel_t, MAIO, 6), M_UINT (RFHoppingChannel_t, HSN, 6), CSN_DESCR_END (RFHoppingChannel_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(MobileAllocation_or_Frequency_Short_List_t) M_UNION (MobileAllocation_or_Frequency_Short_List_t, 2), M_BITMAP (MobileAllocation_or_Frequency_Short_List_t, u.Frequency_Short_List, 64), M_TYPE (MobileAllocation_or_Frequency_Short_List_t, u.MA, MobileAllocationIE_t), CSN_DESCR_END (MobileAllocation_or_Frequency_Short_List_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Channel_Description_t) M_UINT (Channel_Description_t, Channel_type_and_TDMA_offset, 5), @@ -250,7 +259,9 @@ M_TYPE (Channel_Description_t, u.SingleRFChannel, SingleRFChannel_t), M_TYPE (Channel_Description_t, u.RFHoppingChannel, RFHoppingChannel_t), CSN_DESCR_END(Channel_Description_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Group_Channel_Description_t) M_TYPE (Group_Channel_Description_t, Channel_Description, Channel_Description_t), @@ -258,7 +269,9 @@ M_NEXT_EXIST (Group_Channel_Description_t, Exist_Hopping, 1), M_TYPE (Group_Channel_Description_t, MA_or_Frequency_Short_List, MobileAllocation_or_Frequency_Short_List_t), CSN_DESCR_END (Group_Channel_Description_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Group_Call_Reference_t) M_UINT (Group_Call_Reference_t, value, 27), @@ -267,7 +280,9 @@ M_UINT (Group_Call_Reference_t, call_priority, 3), M_UINT (Group_Call_Reference_t, Ciphering_information, 4), CSN_DESCR_END (Group_Call_Reference_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Group_Call_information_t) M_TYPE (Group_Call_information_t, Group_Call_Reference, Group_Call_Reference_t), @@ -275,7 +290,9 @@ M_NEXT_EXIST (Group_Call_information_t, Exist_Group_Channel_Description, 1), M_TYPE (Group_Call_information_t, Group_Channel_Description, Group_Channel_Description_t), CSN_DESCR_END (Group_Call_information_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (P1_Rest_Octets_t) M_NEXT_EXIST_LH(P1_Rest_Octets_t, Exist_NLN_PCH_and_NLN_status, 2), @@ -294,7 +311,9 @@ M_UINT_LH (P1_Rest_Octets_t, Packet_Page_Indication_1, 1), M_UINT_LH (P1_Rest_Octets_t, Packet_Page_Indication_2, 1), CSN_DESCR_END (P1_Rest_Octets_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (P2_Rest_Octets_t) M_NEXT_EXIST_LH(P2_Rest_Octets_t, Exist_CN3, 1), @@ -315,13 +334,14 @@ M_UINT_LH (P2_Rest_Octets_t, Packet_Page_Indication_3, 1), CSN_DESCR_END (P2_Rest_Octets_t) - +#endif /* * Note!! * - first two bits skipped and frequencyparameters skipped * - additions for R99 and EGPRS added */ +#if 0 static const CSN_DESCR_BEGIN(DynamicAllocation_t) M_UINT (DynamicAllocation_t, USF, 3), @@ -331,7 +351,9 @@ M_UINT (DynamicAllocation_t, P0, 4), M_UINT (DynamicAllocation_t, PR_MODE, 1), CSN_DESCR_END (DynamicAllocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(EGPRS_TwoPhaseAccess_t) M_NEXT_EXIST (EGPRS_TwoPhaseAccess_t, Exist_ALPHA, 1), @@ -346,7 +368,9 @@ M_UINT (EGPRS_TwoPhaseAccess_t, BTS_PWR_CTRL_MODE, 1), M_UINT (EGPRS_TwoPhaseAccess_t, PR_MODE, 1), CSN_DESCR_END (EGPRS_TwoPhaseAccess_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(EGPRS_OnePhaseAccess_t) M_UINT (EGPRS_OnePhaseAccess_t, TFI_ASSIGNMENT, 5), @@ -376,7 +400,9 @@ M_NEXT_EXIST (EGPRS_OnePhaseAccess_t, Exist_TBF_STARTING_TIME, 1), M_TYPE (EGPRS_OnePhaseAccess_t, TBF_STARTING_TIME, StartingTime_t), CSN_DESCR_END (EGPRS_OnePhaseAccess_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(IA_EGPRS_00_t) M_UINT (IA_EGPRS_00_t, ExtendedRA, 5), @@ -387,7 +413,9 @@ M_TYPE (IA_EGPRS_00_t, Access.TwoPhaseAccess, EGPRS_TwoPhaseAccess_t), M_TYPE (IA_EGPRS_00_t, Access.OnePhaseAccess, EGPRS_OnePhaseAccess_t), CSN_DESCR_END (IA_EGPRS_00_t) +#endif +#if 0 static const CSN_ChoiceElement_t IA_EGPRS_Choice[] = { @@ -395,11 +423,13 @@ {2, 0x01, 0, CSN_ERROR(IA_EGPRS_t, "01 ", CSN_ERROR_STREAM_NOT_SUPPORTED)}, {1, 0x01, 0, CSN_ERROR(IA_EGPRS_t, "1 ", CSN_ERROR_STREAM_NOT_SUPPORTED)} }; +#endif /* Please observe the double usage of UnionType element. * First, it is used to store the second bit of LL/LH identification of EGPRS contents. * Thereafter, UnionType will be used to store the index to detected choice. */ +#if 0 static const CSN_DESCR_BEGIN(IA_EGPRS_t) M_UINT (IA_EGPRS_t, UnionType , 1 ), @@ -412,7 +442,9 @@ M_UINT (IA_FreqParamsBeforeTime_t, MAIO, 6), M_VAR_ARRAY (IA_FreqParamsBeforeTime_t, MobileAllocation, Length, 8), CSN_DESCR_END (IA_FreqParamsBeforeTime_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (GPRS_SingleBlockAllocation_t) M_NEXT_EXIST (GPRS_SingleBlockAllocation_t, Exist_ALPHA, 1), @@ -427,7 +459,9 @@ M_UINT (GPRS_SingleBlockAllocation_t, BTS_PWR_CTRL_MODE, 1), M_UINT (GPRS_SingleBlockAllocation_t, PR_MODE, 1), CSN_DESCR_END (GPRS_SingleBlockAllocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (GPRS_DynamicOrFixedAllocation_t) M_UINT (GPRS_DynamicOrFixedAllocation_t, TFI_ASSIGNMENT, 5), @@ -451,13 +485,17 @@ M_NEXT_EXIST (GPRS_DynamicOrFixedAllocation_t, Exist_TBF_STARTING_TIME, 1), M_TYPE (GPRS_DynamicOrFixedAllocation_t, TBF_STARTING_TIME, StartingTime_t), CSN_DESCR_END (GPRS_DynamicOrFixedAllocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(PU_IA_AdditionsR99_t) M_NEXT_EXIST (PU_IA_AdditionsR99_t, Exist_ExtendedRA, 1), M_UINT (PU_IA_AdditionsR99_t, ExtendedRA, 5), CSN_DESCR_END (PU_IA_AdditionsR99_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (Packet_Uplink_ImmAssignment_t) M_UNION (Packet_Uplink_ImmAssignment_t, 2), @@ -467,7 +505,9 @@ M_NEXT_EXIST_OR_NULL_LH(Packet_Uplink_ImmAssignment_t, Exist_AdditionsR99, 1), M_TYPE (Packet_Uplink_ImmAssignment_t, AdditionsR99, PU_IA_AdditionsR99_t), CSN_DESCR_END (Packet_Uplink_ImmAssignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(PD_IA_AdditionsR99_t) M_UINT (PD_IA_AdditionsR99_t, EGPRS_WindowSize, 5), @@ -476,7 +516,9 @@ M_NEXT_EXIST (PD_IA_AdditionsR99_t, Exist_BEP_PERIOD2, 1), M_UINT (PD_IA_AdditionsR99_t, BEP_PERIOD2, 4), CSN_DESCR_END (PD_IA_AdditionsR99_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(Packet_Downlink_ImmAssignment_t) M_UINT (Packet_Downlink_ImmAssignment_t, TLLI, 32), @@ -504,27 +546,34 @@ M_NEXT_EXIST_OR_NULL_LH(Packet_Downlink_ImmAssignment_t, Exist_AdditionsR99, 1), M_TYPE (Packet_Downlink_ImmAssignment_t, AdditionsR99, PD_IA_AdditionsR99_t), CSN_DESCR_END (Packet_Downlink_ImmAssignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (Second_Part_Packet_Assignment_t) M_NEXT_EXIST_OR_NULL_LH(Second_Part_Packet_Assignment_t, Exist_SecondPart, 2), M_NEXT_EXIST (Second_Part_Packet_Assignment_t, Exist_ExtendedRA, 1), M_UINT (Second_Part_Packet_Assignment_t, ExtendedRA, 5), CSN_DESCR_END (Second_Part_Packet_Assignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(IA_PacketAssignment_UL_DL_t) M_UNION (IA_PacketAssignment_UL_DL_t, 2), M_TYPE (IA_PacketAssignment_UL_DL_t, ul_dl.Packet_Uplink_ImmAssignment, Packet_Uplink_ImmAssignment_t), M_TYPE (IA_PacketAssignment_UL_DL_t, ul_dl.Packet_Downlink_ImmAssignment, Packet_Downlink_ImmAssignment_t), CSN_DESCR_END (IA_PacketAssignment_UL_DL_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(IA_PacketAssignment_t) M_UNION (IA_PacketAssignment_t, 2), M_TYPE (IA_PacketAssignment_t, u.UplinkDownlinkAssignment, IA_PacketAssignment_UL_DL_t), M_TYPE (IA_PacketAssignment_t, u.UplinkDownlinkAssignment, Second_Part_Packet_Assignment_t), CSN_DESCR_END (IA_PacketAssignment_t) +#endif /* */ static const @@ -629,27 +678,34 @@ M_TYPE (PBCCH_present_t, PBCCH_Description, PBCCH_Description_t), CSN_DESCR_END (PBCCH_present_t) +#if 0 static const CSN_DESCR_BEGIN(SI13_AdditionsR6) M_NEXT_EXIST (SI13_AdditionsR6, Exist_LB_MS_TXPWR_MAX_CCH, 1), M_UINT (SI13_AdditionsR6, LB_MS_TXPWR_MAX_CCH, 5), M_UINT (SI13_AdditionsR6, SI2n_SUPPORT, 2), CSN_DESCR_END (SI13_AdditionsR6) +#endif +#if 0 static const CSN_DESCR_BEGIN(SI13_AdditionsR4) M_UINT (SI13_AdditionsR4, SI_STATUS_IND, 1), M_NEXT_EXIST_OR_NULL_LH (SI13_AdditionsR4, Exist_AdditionsR6, 1), M_TYPE (SI13_AdditionsR4, AdditionsR6, SI13_AdditionsR6), CSN_DESCR_END (SI13_AdditionsR4) +#endif +#if 0 static const CSN_DESCR_BEGIN(SI13_AdditionR99) M_UINT (SI13_AdditionR99, SGSNR, 1), M_NEXT_EXIST_OR_NULL_LH (SI13_AdditionR99, Exist_AdditionsR4, 1), M_TYPE (SI13_AdditionR99, AdditionsR4, SI13_AdditionsR4), CSN_DESCR_END (SI13_AdditionR99) +#endif +#if 0 static const CSN_DESCR_BEGIN (SI_13_t) M_THIS_EXIST_LH (SI_13_t), @@ -668,7 +724,7 @@ M_NEXT_EXIST_OR_NULL_LH(SI_13_t, Exist_AdditionsR99, 1), M_TYPE (SI_13_t, AdditionsR99, SI13_AdditionR99), CSN_DESCR_END (SI_13_t) - +#endif /************************************************************/ /* TS 44.060 messages */ /************************************************************/ @@ -743,12 +799,15 @@ M_PADDING_BITS(Packet_Uplink_Dummy_Control_Block_t), CSN_DESCR_END (Packet_Uplink_Dummy_Control_Block_t) +#if 0 static const CSN_DESCR_BEGIN(Receive_N_PDU_Number_t) M_UINT (Receive_N_PDU_Number_t, nsapi, 4), M_UINT (Receive_N_PDU_Number_t, value, 8), CSN_DESCR_END (Receive_N_PDU_Number_t) +#endif +#if 0 gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data) { if (ar->direction == 0) @@ -760,12 +819,15 @@ return csnStreamDecoder(ar, CSNDESCR(Receive_N_PDU_Number_t), vector, readIndex, data); } } +#endif +#if 0 static const CSN_DESCR_BEGIN(Receive_N_PDU_Number_list_t) M_SERIALIZE (Receive_N_PDU_Number_list_t, IEI, 7, Receive_N_PDU_Number_list_Dissector), M_VAR_TARRAY (Receive_N_PDU_Number_list_t, Receive_N_PDU_Number, Receive_N_PDU_Number_t, Count_Receive_N_PDU_Number), CSN_DESCR_END (Receive_N_PDU_Number_list_t) +#endif /*< MS Radio Access capability IE >*/ static const @@ -959,13 +1021,16 @@ CSN_DESCR_END (MS_Radio_Access_capability2_t) /*< MS Classmark 3 IE >*/ +#if 0 static const CSN_DESCR_BEGIN(ARC_t) M_UINT (ARC_t, A5_Bits, 4), M_UINT (ARC_t, Arc2_Spare, 4), M_UINT (ARC_t, Arc1, 4), CSN_DESCR_END (ARC_t) +#endif +#if 0 static const CSN_ChoiceElement_t MultibandChoice[] = { @@ -976,12 +1041,16 @@ {3, 0x02, 0, M_TYPE(Multiband_t, u.ARC, ARC_t)}, {3, 0x04, 0, M_TYPE(Multiband_t, u.ARC, ARC_t)}, }; +#endif +#if 0 static const CSN_DESCR_BEGIN(Multiband_t) M_CHOICE (Multiband_t, Multiband, MultibandChoice, ElementsOf(MultibandChoice)), CSN_DESCR_END (Multiband_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(EDGE_RF_Pwr_t) M_NEXT_EXIST (EDGE_RF_Pwr_t, ExistEDGE_RF_PwrCap1, 1), @@ -990,7 +1059,9 @@ M_NEXT_EXIST (EDGE_RF_Pwr_t, ExistEDGE_RF_PwrCap2, 1), M_UINT (EDGE_RF_Pwr_t, EDGE_RF_PwrCap2, 2), CSN_DESCR_END (EDGE_RF_Pwr_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(MS_Class3_Unpacked_t) M_UINT (MS_Class3_Unpacked_t, Spare1, 1), @@ -1080,6 +1151,7 @@ M_UINT (MS_Class3_Unpacked_t, RepeatedSACCH_Capability, 1), M_UINT (MS_Class3_Unpacked_t, Spare2, 1), CSN_DESCR_END (MS_Class3_Unpacked_t) +#endif static const CSN_DESCR_BEGIN(Channel_Request_Description_t) @@ -1845,6 +1917,7 @@ M_TYPE (Single_Block_Allocation_t, TBF_Starting_Time, Starting_Frame_Number_t), CSN_DESCR_END (Single_Block_Allocation_t) +#if 0 static const CSN_DESCR_BEGIN(DTM_Dynamic_Allocation_t) M_UINT (DTM_Dynamic_Allocation_t, Extended_Dynamic_Allocation, 1), @@ -1865,7 +1938,9 @@ M_TYPE_ARRAY (DTM_Dynamic_Allocation_t, u.Timeslot_Allocation, Timeslot_Allocation_t, 8), M_TYPE (DTM_Dynamic_Allocation_t, u.Timeslot_Allocation_Power_Ctrl_Param, Timeslot_Allocation_Power_Ctrl_Param_t), CSN_DESCR_END (DTM_Dynamic_Allocation_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_Single_Block_Allocation_t) M_UINT (DTM_Single_Block_Allocation_t, TIMESLOT_NUMBER, 3), @@ -1879,7 +1954,7 @@ M_UINT (DTM_Single_Block_Allocation_t, BTS_PWR_CTRL_MODE, 1), M_UINT (DTM_Single_Block_Allocation_t, PR_MODE, 1), CSN_DESCR_END (DTM_Single_Block_Allocation_t) - +#endif /* Help structures */ typedef struct @@ -1887,44 +1962,52 @@ Global_TFI_t Global_TFI; /* 0 < Global TFI : < Global TFI IE > > */ } h0_Global_TFI_t; +#if 0 static const CSN_DESCR_BEGIN(h0_Global_TFI_t) M_FIXED (h0_Global_TFI_t, 1, 0x00), M_TYPE (h0_Global_TFI_t, Global_TFI, Global_TFI_t), CSN_DESCR_END (h0_Global_TFI_t) +#endif typedef struct { guint32 TLLI;/* | 10 < TLLI : bit (32) >*/ } h10_TLLI_t; +#if 0 static const CSN_DESCR_BEGIN(h10_TLLI_t) M_FIXED (h10_TLLI_t, 2, 0x02), M_UINT (h10_TLLI_t, TLLI, 32), CSN_DESCR_END (h10_TLLI_t) +#endif typedef struct { guint16 TQI;/*| 110 < TQI : bit (16) > */ } h110_TQI_t; +#if 0 static const CSN_DESCR_BEGIN(h110_TQI_t) M_FIXED (h110_TQI_t, 3, 0x06), M_UINT (h110_TQI_t, TQI, 16), CSN_DESCR_END (h110_TQI_t) +#endif typedef struct { Packet_Request_Reference_t Packet_Request_Reference;/*| 111 < Packet Request Reference : < Packet Request Reference IE > > }*/ } h111_Packet_Request_Reference_t; +#if 0 static const CSN_DESCR_BEGIN(h111_Packet_Request_Reference_t) M_FIXED (h111_Packet_Request_Reference_t, 3, 0x07), M_TYPE (h111_Packet_Request_Reference_t, Packet_Request_Reference, Packet_Request_Reference_t), CSN_DESCR_END (h111_Packet_Request_Reference_t) +#endif static const CSN_ChoiceElement_t PacketUplinkID[] = @@ -2133,6 +2216,7 @@ typedef Packet_Downlink_Assignment_t pdlaCheck_t; +#if 0 static const CSN_DESCR_BEGIN(pdlaCheck_t) M_UINT (pdlaCheck_t, MESSAGE_TYPE, 6), @@ -2143,7 +2227,9 @@ M_TYPE (pdlaCheck_t, ID, PacketDownlinkID_t), CSN_DESCR_END (pdlaCheck_t) +#endif +#if 0 /* DTM Packet UL Assignment */ static const CSN_DESCR_BEGIN(DTM_Packet_Uplink_Assignment_t) @@ -2162,13 +2248,17 @@ M_NEXT_EXIST (DTM_Packet_Uplink_Assignment_t, Exist_Packet_Extended_Timing_Advance, 1), M_UINT (DTM_Packet_Uplink_Assignment_t, Packet_Extended_Timing_Advance, 2), CSN_DESCR_END(DTM_Packet_Uplink_Assignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_UL_t) M_TYPE (DTM_UL_t, DTM_Packet_Uplink_Assignment, DTM_Packet_Uplink_Assignment_t), CSN_DESCR_END(DTM_UL_t) +#endif /* DTM Packet DL Assignment */ +#if 0 static const CSN_DESCR_BEGIN(DTM_Packet_Downlink_Assignment_t) M_UINT (DTM_Packet_Downlink_Assignment_t, MAC_MODE, 2), @@ -2195,24 +2285,32 @@ M_NEXT_EXIST (DTM_Packet_Downlink_Assignment_t, Exist_Packet_Extended_Timing_Advance, 1), M_UINT (DTM_Packet_Downlink_Assignment_t, Packet_Extended_Timing_Advance, 2), CSN_DESCR_END(DTM_Packet_Downlink_Assignment_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_DL_t) M_TYPE (DTM_DL_t, DTM_Packet_Downlink_Assignment, DTM_Packet_Downlink_Assignment_t), CSN_DESCR_END(DTM_DL_t) +#endif /* GPRS Broadcast Information */ +#if 0 static const CSN_DESCR_BEGIN(DTM_GPRS_Broadcast_Information_t) M_TYPE (DTM_GPRS_Broadcast_Information_t, GPRS_Cell_Options, GPRS_Cell_Options_t), M_TYPE (DTM_GPRS_Broadcast_Information_t, GPRS_Power_Control_Parameters, GPRS_Power_Control_Parameters_t), CSN_DESCR_END(DTM_GPRS_Broadcast_Information_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_GPRS_B_t) M_TYPE (DTM_GPRS_B_t, DTM_GPRS_Broadcast_Information, DTM_GPRS_Broadcast_Information_t), CSN_DESCR_END(DTM_GPRS_B_t) +#endif +#if 0 static const CSN_DESCR_BEGIN(DTM_Channel_Request_Description_t) M_UINT (DTM_Channel_Request_Description_t, DTM_Pkt_Est_Cause, 2), @@ -2220,6 +2318,7 @@ M_NEXT_EXIST (DTM_Channel_Request_Description_t, Exist_PFI, 1), M_UINT (DTM_Channel_Request_Description_t, PFI, 7), CSN_DESCR_END(DTM_Channel_Request_Description_t) +#endif /* DTM */ /*< Packet Paging Request message content > */ @@ -2470,6 +2569,7 @@ typedef Packet_Timeslot_Reconfigure_t PTRCheck_t; +#if 0 static const CSN_DESCR_BEGIN(PTRCheck_t) M_UINT (PTRCheck_t, MESSAGE_TYPE, 6), @@ -2477,6 +2577,7 @@ M_FIXED (PTRCheck_t, 1, 0x00),/* 0 fixed */ M_TYPE (PTRCheck_t, Global_TFI, Global_TFI_t), CSN_DESCR_END (PTRCheck_t) +#endif /*< Packet PRACH Parameters message content > */ static const @@ -2627,11 +2728,13 @@ M_CHOICE (PacketCellChangeOrderID_t, UnionType, PacketCellChangeOrderID, ElementsOf(PacketCellChangeOrderID)), CSN_DESCR_END (PacketCellChangeOrderID_t) +#if 0 static const CSN_DESCR_BEGIN(h_FreqBsicCell_t) M_UINT (h_FreqBsicCell_t, BSIC, 6), M_TYPE (h_FreqBsicCell_t, Cell_Selection, Cell_Selection_t), CSN_DESCR_END (h_FreqBsicCell_t) +#endif static const CSN_DESCR_BEGIN(CellSelectionParamsWithFreqDiff_t) /*FREQUENCY_DIFF is really an integer but the number of bits to decode it are stored in FREQ_DIFF_LENGTH*/ @@ -2735,6 +2838,7 @@ M_TYPE (GPRSMeasurementParams_PMO_PCCO_t, OffsetThreshold850, OffsetThreshold_t), CSN_DESCR_END (GPRSMeasurementParams_PMO_PCCO_t) +#if 0 static const CSN_DESCR_BEGIN(GPRSMeasurementParams3G_t) M_UINT (GPRSMeasurementParams3G_t, Qsearch_p, 4), @@ -2755,6 +2859,7 @@ M_UINT (GPRSMeasurementParams3G_t, ReportingOffsetTDD, 3), M_UINT (GPRSMeasurementParams3G_t, ReportingThresholdTDD, 3), CSN_DESCR_END (GPRSMeasurementParams3G_t) +#endif static const CSN_DESCR_BEGIN(MultiratParams3G_t) @@ -3698,6 +3803,7 @@ M_TYPE (PMR_AdditionsR99_t, AdditionsR5, PMR_AdditionsR5_t), CSN_DESCR_END (PMR_AdditionsR99_t) +#if 0 static const CSN_DESCR_BEGIN(EMR_ServingCell_t) /*CSN_MEMBER_BIT (EMR_ServingCell_t, DTX_USED),*/ @@ -3708,7 +3814,9 @@ M_UINT (EMR_ServingCell_t, CV_BEP, 3), M_UINT (EMR_ServingCell_t, NBR_RCVD_BLOCKS, 5), CSN_DESCR_END(EMR_ServingCell_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (EnhancedMeasurementReport_t) M_UINT (EnhancedMeasurementReport_t, RR_Short_PD, 1), @@ -3724,6 +3832,7 @@ M_NEXT_EXIST (EnhancedMeasurementReport_t, Exist_ReportBitmap, 1), M_VAR_TARRAY (EnhancedMeasurementReport_t, REPORTING_QUANTITY_Instances, REPORTING_QUANTITY_Instance_t, Count_REPORTING_QUANTITY_Instances), CSN_DESCR_END (EnhancedMeasurementReport_t) +#endif static const CSN_DESCR_BEGIN (Packet_Measurement_Report_t) @@ -3802,6 +3911,7 @@ CSN_DESCR_END (Packet_Enh_Measurement_Report_t) /*< Packet Measurement Order message contents >*/ +#if 0 static const CSN_DESCR_BEGIN(EXT_Frequency_List_t) M_UINT (EXT_Frequency_List_t, START_FREQUENCY, 10), @@ -3813,6 +3923,7 @@ * bit (FREQ_DIFF_LENGTH) * NR_OF_FREQUENCIES --> MAX is bit(7) * 31 */ CSN_DESCR_END (EXT_Frequency_List_t) +#endif static const CSN_DESCR_BEGIN (Packet_Measurement_Order_t) @@ -4055,26 +4166,32 @@ /* Enhanced Measurement Report */ +#if 0 static const CSN_DESCR_BEGIN (ServingCellData_t) M_UINT (ServingCellData_t, RXLEV_SERVING_CELL, 6), M_FIXED (ServingCellData_t, 1, 0), CSN_DESCR_END (ServingCellData_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (Repeated_Invalid_BSIC_Info_t) M_UINT (Repeated_Invalid_BSIC_Info_t, BCCH_FREQ_NCELL, 5), M_UINT (Repeated_Invalid_BSIC_Info_t, BSIC, 6), M_UINT (Repeated_Invalid_BSIC_Info_t, RXLEV_NCELL, 5), CSN_DESCR_END (Repeated_Invalid_BSIC_Info_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (REPORTING_QUANTITY_t) M_NEXT_EXIST (REPORTING_QUANTITY_t, Exist_REPORTING_QUANTITY, 1), M_UINT (REPORTING_QUANTITY_t, REPORTING_QUANTITY, 6), CSN_DESCR_END (REPORTING_QUANTITY_t) +#endif - +#if 0 static const CSN_DESCR_BEGIN (NC_MeasurementReport_t) M_UINT (NC_MeasurementReport_t, NC_MODE, 1), @@ -4092,7 +4209,7 @@ M_NEXT_EXIST (NC_MeasurementReport_t, Exist_Repeated_REPORTING_QUANTITY, 1), M_VAR_TARRAY (NC_MeasurementReport_t, Repeated_REPORTING_QUANTITY, REPORTING_QUANTITY_t, Count_Repeated_Reporting_Quantity), CSN_DESCR_END (NC_MeasurementReport_t) - +#endif /*< Packet Handover Command message content > */ @@ -4807,6 +4924,7 @@ /* SI1_RestOctet_t */ +#if 0 static const CSN_DESCR_BEGIN (SI1_RestOctet_t) M_NEXT_EXIST_LH(SI1_RestOctet_t, Exist_NCH_Position, 1), @@ -4814,8 +4932,10 @@ M_UINT_LH (SI1_RestOctet_t, BandIndicator, 1), CSN_DESCR_END (SI1_RestOctet_t) +#endif /* SI3_Rest_Octet_t */ +#if 0 static const CSN_DESCR_BEGIN(Selection_Parameters_t) M_UINT (Selection_Parameters_t, CBQ, 1), @@ -4847,7 +4967,9 @@ M_NEXT_EXIST_LH(SI3_Rest_Octet_t, ExistSI2quaterIndicator, 1), M_UINT (SI3_Rest_Octet_t, SI2quaterIndicator, 1), CSN_DESCR_END (SI3_Rest_Octet_t) +#endif +#if 0 static const CSN_DESCR_BEGIN (SI4_Rest_Octet_t) M_NEXT_EXIST_LH(SI4_Rest_Octet_t, Exist_Selection_Parameters, 1), @@ -4860,9 +4982,11 @@ M_UINT (SI4_Rest_Octet_t, RA_COLOUR, 3), M_UINT (SI4_Rest_Octet_t, SI13_POSITION, 1), CSN_DESCR_END (SI4_Rest_Octet_t) +#endif /* SI6_RestOctet_t */ +#if 0 static const CSN_DESCR_BEGIN(PCH_and_NCH_Info_t) M_UINT (PCH_and_NCH_Info_t, PagingChannelRestructuring, 1), @@ -4888,7 +5012,7 @@ M_UINT_LH (SI6_RestOctet_t, BandIndicator, 1), CSN_DESCR_END (SI6_RestOctet_t) - +#endif // ---------------------------------------------------------------------------- // osmo-pcu RLCMAC APIs -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If1be50947c02208f15892d99edeb394fb4f52b75 Gerrit-Change-Number: 17626 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:08:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:03 +0000 Subject: Change in osmo-pcu[master]: Move gsm_rlcmac.cpp -> .c In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17627 ) Change subject: Move gsm_rlcmac.cpp -> .c ...................................................................... Move gsm_rlcmac.cpp -> .c Original file from wireshark.git (packet-gsm_csn1.c) is being built and maintained as a C file. There's no real need for us to maintain it as a C++, and doing so will make both files derive over time (as already happened). Let's keep it as a C compiler (which btw seems to be more strict) to make it easier to port patches back and forth wireshark.git. Take the chance to move some declarations we added to csn1.h to be able to build it out of wireshark. Let's keep those in a separate header file to ease looking for differences. Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 --- M src/Makefile.am M src/bts.h M src/csn1.h M src/decoding.h M src/encoding.h M src/gprs_rlcmac.h R src/gsm_rlcmac.c M src/gsm_rlcmac.h M src/pdch.cpp M src/pdch.h M src/tbf.cpp A src/wireshark_compat.h M tests/rlcmac/RLCMACTest.cpp 13 files changed, 62 insertions(+), 36 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/Makefile.am b/src/Makefile.am index eb1e389..54c6f1b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -41,7 +41,7 @@ libgprs_la_SOURCES = \ gprs_debug.cpp \ csn1.c \ - gsm_rlcmac.cpp \ + gsm_rlcmac.c \ gprs_bssgp_pcu.cpp \ gprs_rlcmac.cpp \ gprs_rlcmac_sched.cpp \ @@ -106,7 +106,8 @@ gprs_codel.h \ gprs_coding_scheme.h \ coding_scheme.h \ - egprs_rlc_compression.h + egprs_rlc_compression.h \ + wireshark_compat.h osmo_pcu_SOURCES = pcu_main.cpp diff --git a/src/bts.h b/src/bts.h index 823138b..4fddc0b 100644 --- a/src/bts.h +++ b/src/bts.h @@ -29,10 +29,10 @@ #include #include #include - #include +#include "mslot_class.h" +#include "gsm_rlcmac.h" } -#include #include "poll_controller.h" #include "sba.h" #include "tbf.h" diff --git a/src/csn1.h b/src/csn1.h index 50cd9ef..a637d57 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -29,9 +29,7 @@ #define _PACKET_CSN1_H_ #include - -#define MIN(a,b) (((a)<(b))?(a):(b)) -//#define max(a,b) (((a)>(b))?(a):(b)) +#include "wireshark_compat.h" /* Error codes */ #define CSN_OK 0 @@ -46,17 +44,6 @@ #define CSN_ERROR_MESSAGE_TOO_LONG -9 #define CSN_ERROR_ -10 -#define FALSE (0) -#define TRUE (1) -typedef signed int gint32; -typedef signed short gint16; -typedef int gint; -typedef unsigned int guint; -typedef gint gboolean; -typedef unsigned char guint8; -typedef unsigned short guint16; -typedef unsigned int guint32; -typedef unsigned long guint64; /* CallBack return status */ typedef gint16 CSN_CallBackStatus_t; diff --git a/src/decoding.h b/src/decoding.h index d1371d5..cadb80c 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -19,7 +19,10 @@ */ #pragma once -#include +extern "C" { +#include "gsm_rlcmac.h" +} + #include "rlc.h" #include diff --git a/src/encoding.h b/src/encoding.h index 31f74d1..2365f07 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -21,10 +21,10 @@ #pragma once #include -#include #include extern "C" { #include +#include "gsm_rlcmac.h" } struct gprs_rlcmac_tbf; diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 6d87107..789b8db 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -24,7 +24,6 @@ #include #ifdef __cplusplus -#include #include #include @@ -33,6 +32,7 @@ #include #include #include +#include "gsm_rlcmac.h" } #endif diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.c similarity index 99% rename from src/gsm_rlcmac.cpp rename to src/gsm_rlcmac.c index 5db8bbd..5a6634c 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.c @@ -29,18 +29,15 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern "C" { #include -} +#include #include "gsm_rlcmac.h" +#include "csn1.h" /* Initialize the protocol and registered fields */ -#include -#include #include #include -using namespace std; /* Payload type as defined in TS 44.060 / 10.4.7 */ #define PAYLOAD_TYPE_DATA 0 diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 1a448e4..48abac0 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -32,12 +32,8 @@ #ifndef __PACKET_GSM_RLCMAC_H__ #define __PACKET_GSM_RLCMAC_H__ -extern "C" { -#include "csn1.h" -} - -#include -#include +#include +#include "wireshark_compat.h" #ifndef PRE_PACKED #define PRE_PACKED diff --git a/src/pdch.cpp b/src/pdch.cpp index 9b4d89b..f46acc8 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -34,7 +34,6 @@ #include #include #include -#include extern "C" { #include @@ -45,7 +44,9 @@ #include #include #include + #include "coding_scheme.h" +#include "gsm_rlcmac.h" } #include diff --git a/src/pdch.h b/src/pdch.h index 821fb90..97b4b23 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -24,9 +24,9 @@ #ifdef __cplusplus extern "C" { #include +#include "gsm_rlcmac.h" } -#include #include #include #endif diff --git a/src/tbf.cpp b/src/tbf.cpp index 9cba354..73d7ea9 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -48,6 +47,8 @@ #include #include #include + +#include "gsm_rlcmac.h" } #include diff --git a/src/wireshark_compat.h b/src/wireshark_compat.h new file mode 100644 index 0000000..13b165a --- /dev/null +++ b/src/wireshark_compat.h @@ -0,0 +1,38 @@ +/* wireshark_compat.h + * Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* This header contains a few definitions required by rlcmac and csn1 files + * originally imported from wireshark packet-gsm_rlcmac.* and package-csn1.*, + * in order to keep code as similar as possible to ease maintainability and port + * of patches. +*/ +#pragma once + +#define MIN(a,b) (((a)<(b))?(a):(b)) + +#define FALSE (0) +#define TRUE (1) +typedef signed int gint32; +typedef signed short gint16; +typedef int gint; +typedef unsigned int guint; +typedef gint gboolean; +typedef unsigned char guint8; +typedef unsigned short guint16; +typedef unsigned int guint32; +typedef unsigned long guint64; diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index a21c22d..0215cc8 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -24,7 +24,6 @@ #include #include #include -#include "gsm_rlcmac.h" #include "gprs_rlcmac.h" #include "decoding.h" @@ -38,6 +37,7 @@ #include #include "csn1.h" +#include "gsm_rlcmac.h" } using namespace std; @@ -215,7 +215,9 @@ msgb_free(m); } +extern "C" { int encode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data); +} void testRAcap(void *test_ctx) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I818a8ae947f002d35142f9f5473454cfd80e1830 Gerrit-Change-Number: 17627 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:08:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:03 +0000 Subject: Change in osmo-pcu[master]: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17628 ) Change subject: rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description ...................................................................... rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description Port of patch (+ later fixes squashed) of wireshark.git commit dea5452b95dfaf18e38670a8e2b3b38f9175fdfd, from Lei Chen: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6856 Squashed wireshark.git fix commits: 774be29de0b4d93d01aecb1518c41d7d551071a9 51c31cd7bd3d8fc196a9f90a8af466ad84e9e6a8 6aca10831f86c562970b13efa811f46e25ee3091 c1ceac58cdb77051e9bd14c1f6f7669cf5779a86 Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 --- M src/csn1.c M src/csn1.h M src/gsm_rlcmac.c 3 files changed, 247 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index 7172847..36b6882 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1433,7 +1433,13 @@ case CSN_CALLBACK: { - return ProcessError(readIndex,"csnStreamDecoder Callback not implemented", -1, pDescr); + guint16 no_of_bits; + DissectorCallbackFcn_t callback = (DissectorCallbackFcn_t)pDescr->aux_fn; + LOGPC(DCSN1, LOGL_DEBUG, "CSN_CALLBACK(%s) | ", pDescr->sz); + no_of_bits = callback(vector, readIndex, pvDATA(data, pDescr->i), pvDATA(data, pDescr->offset)); + remaining_bits_len -= no_of_bits; + bit_offset += no_of_bits; + pDescr++; break; } diff --git a/src/csn1.h b/src/csn1.h index a637d57..d178ada 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -71,6 +71,8 @@ } csnStream_t; typedef gint16 (*StreamSerializeFcn_t)(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data); +typedef CSN_CallBackStatus_t (*DissectorCallbackFcn_t)(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2); + typedef enum { CSN_END = 0, diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index 5a6634c..b421624 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -37,6 +37,7 @@ /* Initialize the protocol and registered fields */ #include +#include #include /* Payload type as defined in TS 44.060 / 10.4.7 */ @@ -2637,12 +2638,27 @@ M_TYPE (Cell_Selection_Params_With_FreqDiff_t, Cell_SelectionParams, Cell_Selection_t), CSN_DESCR_END (Cell_Selection_Params_With_FreqDiff_t) +CSN_CallBackStatus_t callback_init_Cell_Selection_Params_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + Cell_Selection_Params_With_FreqDiff_t *pCell_Sel_Param = (Cell_Selection_Params_With_FreqDiff_t*)param2; + + for( i=0; i<16; i++, pCell_Sel_Param++ ) + { + pCell_Sel_Param->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} + static const CSN_DESCR_BEGIN(NeighbourCellParameters_t) M_UINT (NeighbourCellParameters_t, START_FREQUENCY, 10), M_TYPE (NeighbourCellParameters_t, Cell_Selection, Cell_Selection_t), M_UINT (NeighbourCellParameters_t, NR_OF_REMAINING_CELLS, 4), M_UINT_OFFSET(NeighbourCellParameters_t, FREQ_DIFF_LENGTH, 3, 1),/* offset 1 */ + M_CALLBACK (NeighbourCellParameters_t, callback_init_Cell_Selection_Params_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, Cell_Selection_Params_With_FreqDiff), M_VAR_TARRAY (NeighbourCellParameters_t, Cell_Selection_Params_With_FreqDiff, Cell_Selection_Params_With_FreqDiff_t, NR_OF_REMAINING_CELLS), CSN_DESCR_END (NeighbourCellParameters_t) @@ -2741,6 +2757,20 @@ M_TYPE (CellSelectionParamsWithFreqDiff_t, CellSelectionParams, Cell_Selection_2_t), CSN_DESCR_END (CellSelectionParamsWithFreqDiff_t) +CSN_CallBackStatus_t callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF(struct bitvec *vector, void* param1, void* param2, int bit_offset) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + CellSelectionParamsWithFreqDiff_t *pCell_Sel_Param = (CellSelectionParamsWithFreqDiff_t*)param2; + + for( i=0; i<16; i++, pCell_Sel_Param++ ) + { + pCell_Sel_Param->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} + static const CSN_DESCR_BEGIN(Add_Frequency_list_t) M_UINT (Add_Frequency_list_t, START_FREQUENCY, 10), @@ -2752,6 +2782,8 @@ M_UINT (Add_Frequency_list_t, NR_OF_FREQUENCIES, 5), M_UINT_OFFSET(Add_Frequency_list_t, FREQ_DIFF_LENGTH, 3, 1),/*offset 1*/ + M_CALLBACK (Add_Frequency_list_t, callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, CellSelectionParamsWithFreqDiff), + M_VAR_TARRAY (Add_Frequency_list_t, CellSelectionParamsWithFreqDiff, CellSelectionParamsWithFreqDiff_t, NR_OF_FREQUENCIES), CSN_DESCR_END (Add_Frequency_list_t) @@ -2923,13 +2955,99 @@ CSN_ERROR (CDMA2000_Description_t, "Not Implemented", CSN_ERROR_STREAM_NOT_SUPPORTED), CSN_DESCR_END (CDMA2000_Description_t) +#if 0 +static const guint8 NR_OF_FDD_CELLS_map[32] = {0, 10, 19, 28, 36, 44, 52, 60, 67, 74, 81, 88, 95, 102, 109, 116, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +#endif +#if 0 +static CSN_CallBackStatus_t callback_UTRAN_FDD_map_NrOfFrequencies(proto_tree *tree _U_, tvbuff_t *tvb _U_, void* param1, void* param2, + int bit_offset _U_, int ett_csn1 _U_, packet_info* pinfo _U_) +{ /* TS 44.060 Table 11.2.9b.2.a */ + guint8 *pNrOfCells = (guint8*)param1; + guint8 *pBitsInCellInfo = (guint8*)param2; + + if ( *pNrOfCells < 32 ) + { + *pBitsInCellInfo = NR_OF_FDD_CELLS_map[*pNrOfCells]; + } + else + { + *pBitsInCellInfo = 0; + } + + return 0; +} + +static CSN_CallBackStatus_t callback_UTRAN_FDD_compute_FDD_CELL_INFORMATION(proto_tree *tree, tvbuff_t *tvb, void* param1, void* param2 _U_, + int bit_offset, int ett_csn1, packet_info* pinfo _U_) +{ + proto_tree *subtree; + UTRAN_FDD_NeighbourCells_t * pUtranFddNcell = (UTRAN_FDD_NeighbourCells_t*)param1; + gint xdd_cell_info, wsize, nwi, jwi, w[64], i, iused; + gint curr_bit_offset, idx; + + curr_bit_offset = bit_offset; + idx = pUtranFddNcell->BitsInCellInfo; + + if ( idx > 0 ) + { + subtree = proto_tree_add_subtree(tree, tvb, curr_bit_offset>>3, 1, ett_csn1, NULL, "FDD_CELL_INFORMATION: "); + + if (pUtranFddNcell->Indic0) + { + proto_tree_add_uint(tree, hf_gsm_rlcmac_scrambling_code, tvb, curr_bit_offset>>3, 0, 0); + proto_tree_add_uint(tree, hf_gsm_rlcmac_diversity, tvb, curr_bit_offset>>3, 0, 0); + } + + if (idx) + { + wsize = 10; + nwi = 1; + jwi = 0; + i = 1; + + while (idx > 0) + { + w[i] = tvb_get_bits(tvb, curr_bit_offset, wsize, ENC_BIG_ENDIAN); + curr_bit_offset += wsize; + idx -= wsize; + if (w[i] == 0) + { + idx = 0; + break; + } + if (++jwi==nwi) + { + jwi = 0; + nwi <<= 1; + wsize--; + } + i++; + } + if (idx < 0) + { + curr_bit_offset += idx; + } + iused = i-1; + + for (i=1; i <= iused; i++) + { + xdd_cell_info = f_k(i, w, 1024); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_scrambling_code, tvb, curr_bit_offset>>3, 0, xdd_cell_info & 0x01FF); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_diversity, tvb, curr_bit_offset>>3, 0, (xdd_cell_info >> 9) & 0x01); + } + } + } + + return curr_bit_offset - bit_offset; +} +#endif + static const CSN_DESCR_BEGIN(UTRAN_FDD_NeighbourCells_t) M_UINT (UTRAN_FDD_NeighbourCells_t, ZERO, 1), M_UINT (UTRAN_FDD_NeighbourCells_t, UARFCN, 14), M_UINT (UTRAN_FDD_NeighbourCells_t, Indic0, 1), M_UINT (UTRAN_FDD_NeighbourCells_t, NrOfCells, 5), -/* M_CALLBACK (UTRAN_FDD_NeighbourCells_t, (void*) 14, NrOfCells, BitsInCellInfo), */ M_VAR_BITMAP (UTRAN_FDD_NeighbourCells_t, CellInfo, BitsInCellInfo, 0), CSN_DESCR_END (UTRAN_FDD_NeighbourCells_t) @@ -2940,14 +3058,101 @@ M_REC_TARRAY (UTRAN_FDD_Description_t, CellParams, UTRAN_FDD_NeighbourCells_t, NrOfFrequencies), CSN_DESCR_END (UTRAN_FDD_Description_t) +static const guint8 NR_OF_TDD_CELLS_map[32] = {0, 9, 17, 25, 32, 39, 46, 53, 59, 65, 71, 77, 83, 89, 95, 101, 106, 111, 116, 121, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +static CSN_CallBackStatus_t callback_UTRAN_TDD_map_NrOfFrequencies(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ /* TS 44.060 Table 11.2.9b.2.b */ + guint8 * pNrOfCells = (guint8*)param1; + guint8 * pBitsInCellInfo = (guint8*)param2; + + if ( *pNrOfCells < 32 ) + { + *pBitsInCellInfo = NR_OF_TDD_CELLS_map[*pNrOfCells]; + } + else + { + *pBitsInCellInfo = 0; + } + + return 0; +} + +static CSN_CallBackStatus_t callback_UTRAN_TDD_compute_TDD_CELL_INFORMATION(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ + UTRAN_TDD_NeighbourCells_t *pUtranTddNcell = (UTRAN_TDD_NeighbourCells_t *)param1; + gint wsize, nwi, jwi, w[64], i, iused; + guint bit_offset, curr_bit_offset; + gint idx; + + bit_offset = *readIndex; + curr_bit_offset = bit_offset; + idx = pUtranTddNcell->BitsInCellInfo; + + if ( idx > 0 ) + { + /* + subtree = proto_tree_add_subtree(tree, tvb, curr_bit_offset>>3, 1, ett_csn1, NULL, "TDD_CELL_INFORMATION: "); + + if (pUtranTddNcell->Indic0) + { + proto_tree_add_uint(tree, hf_gsm_rlcmac_cell_parameter, tvb, curr_bit_offset>>3, 0, 0); + proto_tree_add_uint(tree, hf_gsm_rlcmac_sync_case_tstd, tvb, curr_bit_offset>>3, 0, 0); + proto_tree_add_uint(tree, hf_gsm_rlcmac_diversity_tdd, tvb, curr_bit_offset>>3, 0, 0); + } + */ + + if (idx) + { + wsize = 10; + nwi = 1; + jwi = 0; + i = 1; + + while (idx > 0) + { + w[i] = ntohs((uint16_t)bitvec_read_field(vector, &curr_bit_offset, wsize)); + idx -= wsize; + if (w[i] == 0) + { + idx = 0; + break; + } + if (++jwi==nwi) + { + jwi = 0; + nwi <<= 1; + wsize--; + } + i++; + } + if (idx < 0) + { + curr_bit_offset += idx; + } + iused = i-1; + + for (i=1; i <= iused; i++) + { + /* + xdd_cell_info = f_k(i, w, 1024); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_cell_parameter, tvb, curr_bit_offset>>3, 0, xdd_cell_info & 0x007F); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_sync_case_tstd, tvb, curr_bit_offset>>3, 0, (xdd_cell_info >> 7) & 0x01); + proto_tree_add_uint(subtree, hf_gsm_rlcmac_diversity_tdd, tvb, curr_bit_offset>>3, 0, (xdd_cell_info >> 8) & 0x01); + */ + } + } + } + *readIndex = curr_bit_offset; + return curr_bit_offset - bit_offset; +} + static const CSN_DESCR_BEGIN(UTRAN_TDD_NeighbourCells_t) M_UINT (UTRAN_TDD_NeighbourCells_t, ZERO, 1), M_UINT (UTRAN_TDD_NeighbourCells_t, UARFCN, 14), M_UINT (UTRAN_TDD_NeighbourCells_t, Indic0, 1), M_UINT (UTRAN_TDD_NeighbourCells_t, NrOfCells, 5), -/* M_CALLBACK (UTRAN_TDD_NeighbourCells_t, (void*) 23, NrOfCells, BitsInCellInfo), */ - M_VAR_BITMAP (UTRAN_TDD_NeighbourCells_t, CellInfo, BitsInCellInfo, 0), + M_CALLBACK (UTRAN_TDD_NeighbourCells_t, callback_UTRAN_TDD_map_NrOfFrequencies, NrOfCells, BitsInCellInfo), + M_CALLBACK (UTRAN_TDD_NeighbourCells_t, callback_UTRAN_TDD_compute_TDD_CELL_INFORMATION, ZERO, CellInfo), CSN_DESCR_END (UTRAN_TDD_NeighbourCells_t) static const @@ -3093,6 +3298,20 @@ M_TYPE (lu_ModeOnlyCellSelectionParamsWithFreqDiff_t, lu_ModeOnlyCellSelectionParams, lu_ModeOnlyCellSelection_t), CSN_DESCR_END (lu_ModeOnlyCellSelectionParamsWithFreqDiff_t) +CSN_CallBackStatus_t callback_init_luMode_Cell_Sel_Param_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + lu_ModeOnlyCellSelectionParamsWithFreqDiff_t *pArray = (lu_ModeOnlyCellSelectionParamsWithFreqDiff_t*)param2; + + for( i=0; i<16; i++, pArray++ ) + { + pArray->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} + static const CSN_DESCR_BEGIN(Add_lu_ModeOnlyFrequencyList_t) M_UINT (Add_lu_ModeOnlyFrequencyList_t, START_FREQUENCY, 10), @@ -3104,6 +3323,8 @@ M_UINT (Add_lu_ModeOnlyFrequencyList_t, NR_OF_FREQUENCIES, 5), M_UINT (Add_lu_ModeOnlyFrequencyList_t, FREQ_DIFF_LENGTH, 3), + M_CALLBACK (Add_lu_ModeOnlyFrequencyList_t, callback_init_luMode_Cell_Sel_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, lu_ModeOnlyCellSelectionParamsWithFreqDiff), + M_VAR_TARRAY (Add_lu_ModeOnlyFrequencyList_t, lu_ModeOnlyCellSelectionParamsWithFreqDiff, lu_ModeOnlyCellSelectionParamsWithFreqDiff_t, NR_OF_FREQUENCIES), CSN_DESCR_END (Add_lu_ModeOnlyFrequencyList_t) @@ -4692,13 +4913,23 @@ static const CSN_DESCR_BEGIN(COMPACT_Neighbour_Cell_Param_Remaining_t) - /* this FREQ_DIFF_LENGTH is not initialised, it should be the SAME as COMPACT_Neighbour_Cell_Param_t.FREQ_DIFF_LENGTH. - * So it is buggy, but there is no way to handle it. Same issue is in Cell_Selection_Params_With_FreqDiff_t.FREQ_DIFF_LENGTH. - */ M_VAR_BITMAP (COMPACT_Neighbour_Cell_Param_Remaining_t, FREQUENCY_DIFF, FREQ_DIFF_LENGTH, 0), M_TYPE (COMPACT_Neighbour_Cell_Param_Remaining_t, COMPACT_Cell_Sel_Remain_Cells, COMPACT_Cell_Sel_t), CSN_DESCR_END (COMPACT_Neighbour_Cell_Param_Remaining_t) +CSN_CallBackStatus_t callback_init_COMP_Ncell_Param_FREQUENCY_DIFF(struct bitvec *vector, unsigned *readIndex, void* param1, void* param2) +{ + guint i; + guint8 freq_diff_len = *(guint8*)param1; + COMPACT_Neighbour_Cell_Param_Remaining_t *pCom_NCell_Param_rem = (COMPACT_Neighbour_Cell_Param_Remaining_t*)param2; + + for( i=0; i<16; i++, pCom_NCell_Param_rem++ ) + { + pCom_NCell_Param_rem->FREQ_DIFF_LENGTH = freq_diff_len; + } + + return 0; +} static const CSN_DESCR_BEGIN(COMPACT_Neighbour_Cell_Param_t) @@ -4706,6 +4937,7 @@ M_TYPE (COMPACT_Neighbour_Cell_Param_t, COMPACT_Cell_Sel, COMPACT_Cell_Sel_t), M_UINT (COMPACT_Neighbour_Cell_Param_t, NR_OF_REMAINING_CELLS, 4), M_UINT_OFFSET(COMPACT_Neighbour_Cell_Param_t, FREQ_DIFF_LENGTH, 3, 1), + M_CALLBACK (COMPACT_Neighbour_Cell_Param_t, callback_init_COMP_Ncell_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, COMPACT_Neighbour_Cell_Param_Remaining), M_VAR_TARRAY (COMPACT_Neighbour_Cell_Param_t, COMPACT_Neighbour_Cell_Param_Remaining, COMPACT_Neighbour_Cell_Param_Remaining_t, NR_OF_REMAINING_CELLS), CSN_DESCR_END (COMPACT_Neighbour_Cell_Param_t) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08523bc1bbdffde479ef974b4c7b56cfa5639591 Gerrit-Change-Number: 17628 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:08:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:03 +0000 Subject: Change in osmo-pcu[master]: rlcmac: add dissection of 2G->3G/4G PS handover In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17629 ) Change subject: rlcmac: add dissection of 2G->3G/4G PS handover ...................................................................... rlcmac: add dissection of 2G->3G/4G PS handover Port from wireshark.git 428ee66ae1c524b49f9043729b1f1e9b4f52f409, from Pascal Quantin. The original commit is also changing the RRC_Container field to M_CALLBACK, but we leave them as M_VAR_ARRAY since the callback is basically used to add more dissection information in wireshark. Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h 2 files changed, 13 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index b421624..9b5ecfe 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -4574,6 +4574,12 @@ static const +CSN_DESCR_BEGIN(PS_HandoverTo_E_UTRAN_Payload_t) + M_UINT (PS_HandoverTo_E_UTRAN_Payload_t, RRC_ContainerLength, 8), + M_VAR_ARRAY (PS_HandoverTo_E_UTRAN_Payload_t, RRC_Container, RRC_ContainerLength, 0), +CSN_DESCR_END (PS_HandoverTo_E_UTRAN_Payload_t) + +static const CSN_DESCR_BEGIN(PHO_RadioResources_t) M_NEXT_EXIST (PHO_RadioResources_t, Exist_HandoverReference, 1), M_UINT (PHO_RadioResources_t, HandoverReference, 8), @@ -4633,7 +4639,7 @@ M_UNION (Packet_Handover_Command_t, 4), M_TYPE (Packet_Handover_Command_t, u.PS_HandoverTo_A_GB_ModePayload, PS_HandoverTo_A_GB_ModePayload_t), M_TYPE (Packet_Handover_Command_t, u.PS_HandoverTo_UTRAN_Payload, PS_HandoverTo_UTRAN_Payload_t), - CSN_ERROR (Packet_Handover_Command_t, "10 not implemented", CSN_ERROR_STREAM_NOT_SUPPORTED), + M_TYPE (Packet_Handover_Command_t, u.PS_HandoverTo_E_UTRAN_Payload, PS_HandoverTo_E_UTRAN_Payload_t), CSN_ERROR (Packet_Handover_Command_t, "11 not implemented", CSN_ERROR_STREAM_NOT_SUPPORTED), M_PADDING_BITS(Packet_Handover_Command_t), diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 48abac0..e9ae20a 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -4877,6 +4877,11 @@ guint8 RRC_Container[MAX_RRC_CONTAINER_LENGTH]; } PS_HandoverTo_UTRAN_Payload_t; +typedef struct +{ + guint8 RRC_ContainerLength; + guint8 RRC_Container[MAX_RRC_CONTAINER_LENGTH]; +} PS_HandoverTo_E_UTRAN_Payload_t; typedef struct { @@ -4929,6 +4934,7 @@ { PS_HandoverTo_A_GB_ModePayload_t PS_HandoverTo_A_GB_ModePayload; PS_HandoverTo_UTRAN_Payload_t PS_HandoverTo_UTRAN_Payload; + PS_HandoverTo_E_UTRAN_Payload_t PS_HandoverTo_E_UTRAN_Payload; } u; } Packet_Handover_Command_t; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f374e78300efddff00c4df26a401adcdee18a12 Gerrit-Change-Number: 17629 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:08:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:04 +0000 Subject: Change in osmo-pcu[master]: csn1: Fix Several typos & whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17630 ) Change subject: csn1: Fix Several typos & whitespace ...................................................................... csn1: Fix Several typos & whitespace Change-Id: Ibe31d52d4a5a4015196d73681082f68b99a80c77 --- M src/csn1.c 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index 36b6882..1b3cc55 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -51,7 +51,6 @@ /* Returns no_of_bits (up to 8) masked with 0x2B */ - static guint8 get_masked_bits8(struct bitvec *vector, unsigned *readIndex, gint bit_offset, const gint no_of_bits) { @@ -1144,7 +1143,7 @@ no_of_bits -= 8; } if (no_of_bits > 0) - { + { *pui8 = bitvec_read_field(vector, readIndex, no_of_bits); LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pDescr->sz , (unsigned)*pui8); pui8++; @@ -1183,7 +1182,7 @@ } if (remaining_bits_len < 0) { - return ProcessError(readIndex,"csnStreamDissector", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + return ProcessError(readIndex,"csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); } /* Padding was successfully extracted or it was empty */ @@ -2463,7 +2462,7 @@ } if (remaining_bits_len < 0) { - return ProcessError(writeIndex,"csnStreamDissector", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + return ProcessError(writeIndex,"csnStreamEncoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); } /* Padding was successfully extracted or it was empty */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe31d52d4a5a4015196d73681082f68b99a80c77 Gerrit-Change-Number: 17630 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 Mon Mar 30 10:08:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:04 +0000 Subject: Change in osmo-pcu[master]: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17631 ) Change subject: csn1: verify enough bits present to decode whole CSN_UINT_ARRAY ...................................................................... csn1: verify enough bits present to decode whole CSN_UINT_ARRAY Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 --- M src/csn1.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index 1b3cc55..78444bb 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -338,7 +338,7 @@ nCount = *pui16DATA(data, nCount); } - if (remaining_bits_len >= no_of_bits) + if (remaining_bits_len >= (no_of_bits * nCount)) { remaining_bits_len -= (no_of_bits*nCount); if (no_of_bits <= 8) @@ -781,7 +781,7 @@ nCount = *pui16DATA(data, nCount); } - if (remaining_bits_len >= no_of_bits) + if (remaining_bits_len >= (no_of_bits * nCount)) { remaining_bits_len -= (no_of_bits * nCount); if (no_of_bits <= 8) @@ -1650,7 +1650,7 @@ nCount = *pui16DATA(data, nCount); } - if (remaining_bits_len >= no_of_bits) + if (remaining_bits_len >= (no_of_bits * nCount)) { if (no_of_bits <= 8) { @@ -2067,7 +2067,7 @@ nCount = *pui16DATA(data, nCount); } - if (remaining_bits_len >= no_of_bits) + if (remaining_bits_len >= (no_of_bits * nCount)) { if (no_of_bits <= 8) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649 Gerrit-Change-Number: 17631 Gerrit-PatchSet: 5 Gerrit-Owner: pespin 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 Mon Mar 30 10:08:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:04 +0000 Subject: Change in osmo-pcu[master]: csn1: Properly verify CSN_BITMAP length In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17632 ) Change subject: csn1: Properly verify CSN_BITMAP length ...................................................................... csn1: Properly verify CSN_BITMAP length Change-Id: I9f7672b534f9345caff99095504749eebad25adb --- M src/csn1.c 1 file changed, 16 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index 78444bb..b3817e3 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -424,6 +424,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -451,7 +455,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ @@ -876,6 +879,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -896,7 +903,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ @@ -1737,6 +1743,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(writeIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -1762,7 +1772,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ @@ -2153,6 +2162,10 @@ if (no_of_bits > 0) { + if (no_of_bits > remaining_bits_len) + { + return ProcessError(writeIndex, "csnStreamDecoder", CSN_ERROR_NEED_MORE_BITS_TO_UNPACK, pDescr); + } if (no_of_bits <= 32) { @@ -2172,7 +2185,6 @@ } remaining_bits_len -= no_of_bits; - assert(remaining_bits_len >= 0); bit_offset += no_of_bits; } /* bitmap was successfully extracted or it was empty */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9f7672b534f9345caff99095504749eebad25adb Gerrit-Change-Number: 17632 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:08:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:04 +0000 Subject: Change in osmo-pcu[master]: csn1: Remove code block from CSN_NEXT_EXIST_LH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17633 ) Change subject: csn1: Remove code block from CSN_NEXT_EXIST_LH ...................................................................... csn1: Remove code block from CSN_NEXT_EXIST_LH It was removed in wireshark.git e8407dd6c1378427daee77e8de540d0b5f7a0b73 and it's not there anymore in current master. Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b --- M src/csn1.c 1 file changed, 0 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/csn1.c b/src/csn1.c index b3817e3..3db1e13 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1027,12 +1027,6 @@ /* skip 'i' entries + this entry */ pDescr += pDescr->i + 1; - /* pDescr now must be pointing to a CSN_END entry, if not this is an error */ - if ( pDescr->type != CSN_END ) - { /* substract one more bit from remaining_bits_len to make the "not enough bits" error to be triggered */ - remaining_bits_len--; - } - /* set the data member to "not exist" */ *pui8 = 0; break; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I73f4eeca3fd4f00a5bc4f06ef7a9bb9b8a70e37b Gerrit-Change-Number: 17633 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Mon Mar 30 10:08:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17655 ) Change subject: BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0e24e2aaa1f0da7ffdbc93ea4a19491e5dfb39b4 Gerrit-Change-Number: 17655 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:08: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 Mar 30 10:08:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:08:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17656 ) Change subject: library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI templates ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id35477ffc4a914e71100f129bbc4833b48ed5da4 Gerrit-Change-Number: 17656 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:08:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 10:09:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:09:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17655 ) Change subject: BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() ...................................................................... BTS: fix as_l1_count_paging(): use ispresent() instead of isvalue() We actually need to check if a MI is present, i.e. not omit. ispresent(omit) => false isvalue(omit) => true Change-Id: I0e24e2aaa1f0da7ffdbc93ea4a19491e5dfb39b4 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9534a8b..a2b4af7 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2869,7 +2869,7 @@ if (match(rr, tr_PAGING_REQ1)) { num_paging_rcv_msgs := num_paging_rcv_msgs + 1; num_paging_rcv_ids := num_paging_rcv_ids + 1; - if (isvalue(rr.msgs.rrm.pagingReq_Type1.mobileIdentity2)) { + if (ispresent(rr.msgs.rrm.pagingReq_Type1.mobileIdentity2)) { num_paging_rcv_ids := num_paging_rcv_ids + 1; } } else if (match(rr, tr_PAGING_REQ2)) { @@ -2880,7 +2880,7 @@ if (not tmsi_is_dummy(rr.msgs.rrm.pagingReq_Type2.mobileIdentity2)) { num_paging_rcv_ids := num_paging_rcv_ids + 1; } - if (isvalue(rr.msgs.rrm.pagingReq_Type2.mobileIdentity3)) { + if (ispresent(rr.msgs.rrm.pagingReq_Type2.mobileIdentity3)) { num_paging_rcv_ids := num_paging_rcv_ids + 1; } } else if (match(rr, tr_PAGING_REQ3)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17655 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0e24e2aaa1f0da7ffdbc93ea4a19491e5dfb39b4 Gerrit-Change-Number: 17655 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 Mon Mar 30 10:09:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 10:09:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17656 ) Change subject: library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI templates ...................................................................... library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI templates Change-Id: Id35477ffc4a914e71100f129bbc4833b48ed5da4 --- M library/L3_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 4 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 092026e..46cd1ac 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -381,22 +381,6 @@ } } -/* Template for receiving a Paging Request Type1 message with a given TMSI in the first mobile identity. */ -template MobileIdentityLV tr_PAGING_REQ1_MI1_TMSI(octetstring tmsi) := { - lengthIndicator := 5, - mobileIdentityV := { - typeOfIdentity := '100'B, - oddEvenInd_identity := { - tmsi_ptmsi := { - oddevenIndicator := '0'B, - fillerDigit := '1111'B, - octets := tmsi - } - } - } - -} - template PDU_ML3_NW_MS tr_PAGING_REQ2(template TMSIP_TMSI_V mi1 := ?, template TMSIP_TMSI_V mi2 := ?, template MobileIdentityTLV mi3 := *) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 1c2b271..7ef3d0a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -222,7 +222,7 @@ log("BSSGP successfully initialized"); } -function f_wait_paging_req_type1(hexstring expected_tmsi) runs on dummy_CT { +function f_wait_paging_req_type1(template (present) MobileIdentityV mi) runs on dummy_CT { var LAPDm_ph_data ph_data; timer T := 5.0; @@ -240,7 +240,7 @@ repeat; } - if (match(pdu, tr_PAGING_REQ1(tr_PAGING_REQ1_MI1_TMSI(hex2oct(expected_tmsi))))) { + if (match(pdu, tr_PAGING_REQ1(tr_MI_LV(mi)))) { setverdict(pass); } else { repeat; @@ -268,12 +268,12 @@ /* TODO: Paging by IMSI does not work yet because osmo-pcu does not copy IMSI into paging requests. BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi)); - f_wait_paging_req_type1(hex2oct(g_mmctx.imsi)); + f_wait_paging_req_type1(tr_MI_IMSI(g_mmctx.imsi)); */ /* Page by TMSI */ BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi)); - f_wait_paging_req_type1(tmsi_hex); + f_wait_paging_req_type1(t_MI_TMSI(hex2oct(tmsi_hex))); } /* Establish an UL TBF: Tune to ARFCN, send RACH, receive AGCH, enable TBF Rx */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17656 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id35477ffc4a914e71100f129bbc4833b48ed5da4 Gerrit-Change-Number: 17656 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 Mon Mar 30 10:20:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 10:20:16 +0000 Subject: Change in osmo-pcu[master]: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17669 ) Change subject: direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI ...................................................................... Patch Set 1: > Patch Set 1: > > The question is whether the RA bursts on PTTCH are reported with what specific SAPI value. If they are also reported as PRACH SAPI, then one would have to look at the TDMA multiplex tables in ordre to know if it's a PDTCH or a PTCCH. The question is how to test properly.... I guess we'd need to have some OsmocomBB hack that can transmit RA at user-specified FN + timeslot and then observe what happens on uplink. I think it would be much easier to hack Encoding::write_packet_uplink_assignment(), or rather write_tai() to unconditionally assign some TAI (e.g. 0), and then test with a regular phone. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0a6da37de7a1db4cad2b96293b31b9f32e7d9eb Gerrit-Change-Number: 17669 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 10:20: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 Mon Mar 30 11:34:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 11:34:58 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... tests/coding: check return value of encoding / decoding functions Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 --- M tests/coding/coding_test.c 1 file changed, 74 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/70/17670/1 diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 2b0830f..bfdb8b9 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -76,10 +76,15 @@ ubit_t bursts_u[116 * 4]; sbit_t bursts_s[116 * 4]; int n_errors, n_bits_total; + int rc; /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(l2, 23)); - gsm0503_xcch_encode(bursts_u, l2); + rc = gsm0503_xcch_encode(bursts_u, l2); + if (rc) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 4); @@ -91,7 +96,12 @@ memset(bursts_s + 116, 0, 30); /* Decode, correcting errors */ - gsm0503_xcch_decode(result, bursts_s, &n_errors, &n_bits_total); + rc = gsm0503_xcch_decode(result, bursts_s, &n_errors, &n_bits_total); + if (rc) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %s\n", osmo_hexdump(result, 23)); printf("xcch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float) n_errors / n_bits_total); @@ -110,8 +120,12 @@ sbit_t bursts_s[36]; /* Encode L2 message */ + printf("Encoding: %02x\n", ra); rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, false); - printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); + if (rc) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -125,8 +139,12 @@ /* Decode, correcting errors */ rc = gsm0503_rach_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); + if (rc) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %02x\n", result); if (ra != result) printf("FAIL [RACH]: encoded %u != %u decoded\n", ra, result); @@ -141,8 +159,12 @@ sbit_t bursts_s[36]; /* Encode L2 message */ + printf("Encoding: %02x\n", ra); rc = gsm0503_rach_ext_encode(bursts_u, ra, bsic, true); - printf("Encoding: %02x%s\n", ra, (rc != 0) ? " FAIL" : ""); + if (rc) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 36); @@ -156,8 +178,12 @@ /* Decode, correcting errors */ rc = gsm0503_rach_ext_decode_ber(&result, bursts_s, bsic, NULL, NULL); - printf("Decoded: %02x%s\n", result, (rc != 0) ? " FAIL" : ""); + if (rc) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %02x\n", result); if (ra != result) printf("FAIL [RACH ext]: encoded %u != %u decoded\n", ra, result); @@ -169,6 +195,7 @@ uint8_t result[4]; ubit_t bursts_u[78]; sbit_t bursts_s[78]; + int rc; /* Zero bits 25 and above */ info[3] &= 1; @@ -176,7 +203,11 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(info, 4)); - gsm0503_sch_encode(bursts_u, info); + rc = gsm0503_sch_encode(bursts_u, info); + if (rc) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 78); @@ -189,7 +220,12 @@ memset(bursts_s + 6, 0, 10); /* Decode, correcting errors */ - gsm0503_sch_decode(result, bursts_s); + rc = gsm0503_sch_decode(result, bursts_s); + if (rc) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %s\n", osmo_hexdump(result, 4)); OSMO_ASSERT(!memcmp(info, result, 4)); @@ -210,7 +246,11 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(speech, len)); - gsm0503_tch_fr_encode(bursts_u, speech, len, 1); + rc = gsm0503_tch_fr_encode(bursts_u, speech, len, 1); + if (rc) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 8); @@ -224,6 +264,11 @@ /* Decode, correcting errors */ rc = gsm0503_tch_fr_decode(result, bursts_s, 1, len == 31, &n_errors, &n_bits_total); + if (rc < 0) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("tch_fr_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); @@ -247,7 +292,11 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(speech, len)); - gsm0503_tch_hr_encode(bursts_u, speech, len); + rc = gsm0503_tch_hr_encode(bursts_u, speech, len); + if (rc) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 6); @@ -261,6 +310,11 @@ /* Decode, correcting errors */ rc = gsm0503_tch_hr_decode(result, bursts_s, 0, &n_errors, &n_bits_total); + if (rc < 0) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("tch_hr_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); @@ -294,7 +348,11 @@ /* Encode L2 message */ printf("Encoding: %s\n", osmo_hexdump(l2, len)); - gsm0503_pdtch_encode(bursts_u, l2, len); + rc = gsm0503_pdtch_encode(bursts_u, l2, len); + if (rc < 0) { + printf("%s(): encoding failed (rc=%d)\n", __func__, rc); + return; + } /* Prepare soft-bits */ osmo_ubit2sbit(bursts_s, bursts_u, 116 * 4); @@ -305,6 +363,11 @@ /* Decode */ rc = gsm0503_pdtch_decode(result, bursts_s, NULL, &n_errors, &n_bits_total); + if (rc < 0) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + printf("Decoded: %s\n", osmo_hexdump(result, len)); printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n", n_errors, n_bits_total, (float)n_errors/n_bits_total); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 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 Mar 30 11:34:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 11:34:59 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17671 ) Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests We don't really need additional 1.4M of debug output, given that we test every possible 8-bit and 11-bit RA value. It's enough to print error message if the resulting value does not match. Otherwise it's hard to read the expected output without commenting the related log statements out. Note that it's still possible to re-enable verbose debug output by defining DEBUG. Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 16 insertions(+), 34,570 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/17671/1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 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 Mar 30 11:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 11:35:00 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... coding: fix documentation of PDTCH encoding functions Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def --- M src/coding/gsm0503_coding.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/17672/1 diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 7385d23..fce129d 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -1332,7 +1332,7 @@ * \param[out] bursts caller-allocated buffer for unpacked burst bits * \param[in] l2_data L2 (MAC) block to be encoded * \param[in] l2_len length of l2_data in bytes, used to determine MCS - * \returns 0 on success; negative on error */ + * \returns bumber of bits encoded; negative on error */ int gsm0503_pdtch_egprs_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len) { @@ -1427,7 +1427,7 @@ * \param[out] bursts caller-allocated buffer for unpacked burst bits * \param[in] l2_data L2 (MAC) block to be encoded * \param[in] l2_len length of l2_data in bytes, used to determine CS - * \returns 0 on success; negative on error */ + * \returns number of bits encoded; negative on error */ int gsm0503_pdtch_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len) { ubit_t iB[456], cB[676]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 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 Mar 30 12:04:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 12:04:24 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17670/1/tests/coding/coding_test.c File tests/coding/coding_test.c: https://gerrit.osmocom.org/c/libosmocore/+/17670/1/tests/coding/coding_test.c at 86 PS1, Line 86: return; OSMO_ASSERT instead of returning everywhere. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 12:04: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 Mon Mar 30 12:05:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 12:05:52 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17671 ) Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 12:05:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 12:06:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 12:06:11 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 12:06:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 12:09:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 12:09:37 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17670/1/tests/coding/coding_test.c File tests/coding/coding_test.c: https://gerrit.osmocom.org/c/libosmocore/+/17670/1/tests/coding/coding_test.c at 86 PS1, Line 86: return; > OSMO_ASSERT instead of returning everywhere. There may be pending coding tests, so I prefer to run them all and only print errors. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 12:09: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 Mon Mar 30 12:11:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 12:11:18 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 12:11: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 Mar 30 12:12:51 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 30 Mar 2020 12:12:51 +0000 Subject: Change in pysim[master]: Move parsing of GID2 to generic Card class In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17657 ) Change subject: Move parsing of GID2 to generic Card class ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17657/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/17657/1/pySim/cards.py at 155 PS1, Line 155: def read_gid2(self): > I think many of these methods are very similar. See e.g. read_spn, read_git1, read_git2, etc. below. [?] totally make sense. I will do so as you suggested -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17657 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3fe4b08c888a39cda7e7fce7a467f17908bdc3ad Gerrit-Change-Number: 17657 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 12:12:51 +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 Mar 30 12:28:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 12:28:57 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17673 ) Change subject: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() ...................................................................... trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() Change-Id: I3da62249a4d62078b79ce5e79c86923e59c1e457 --- M src/target/trx_toolkit/trx_sniff.py 1 file changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/73/17673/1 diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 6671c35..5667df2 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -4,7 +4,7 @@ # TRX Toolkit # Scapy-based TRX interface sniffer # -# (C) 2018-2019 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy # # All Rights Reserved # @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -APP_CR_HOLDERS = [("2018-2019", "Vadim Yanitskiy ")] +APP_CR_HOLDERS = [("2018-2020", "Vadim Yanitskiy ")] import logging as log import argparse @@ -119,8 +119,7 @@ return # Poke burst pass filter - rc = self.burst_pass_filter(l12trx, msg.fn, msg.tn) - if rc is False: + if not self.burst_pass_filter(msg): self.cnt_burst_dropped_num += 1 return @@ -136,25 +135,27 @@ if rc is True: self.shutdown() - def burst_pass_filter(self, l12trx, fn, tn): + def burst_pass_filter(self, msg): # Direction filter if self.argv.direction is not None: - if self.argv.direction == "TRX" and not l12trx: - return False - elif self.argv.direction == "L1" and l12trx: - return False + if self.argv.direction == "TRX": # L1 -> TRX + if not isinstance(msg, DATAMSG_L12TRX): + return False + elif self.argv.direction == "L1": # TRX -> L1 + if not isinstance(msg, DATAMSG_TRX2L1): + return False # Timeslot filter if self.argv.pf_tn is not None: - if tn != self.argv.pf_tn: + if msg.tn != self.argv.pf_tn: return False # Frame number filter if self.argv.pf_fn_lt is not None: - if fn > self.argv.pf_fn_lt: + if msg.fn > self.argv.pf_fn_lt: return False if self.argv.pf_fn_gt is not None: - if fn < self.argv.pf_fn_gt: + if msg.fn < self.argv.pf_fn_gt: return False # Burst passed ;) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3da62249a4d62078b79ce5e79c86923e59c1e457 Gerrit-Change-Number: 17673 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 Mar 30 12:28:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 12:28:57 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17674 ) Change subject: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications ...................................................................... trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications Change-Id: If51052af04289f10bfaefd5374049908de05319a --- M src/target/trx_toolkit/trx_sniff.py 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/74/17674/1 diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 5667df2..1417664 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -158,6 +158,12 @@ if msg.fn < self.argv.pf_fn_gt: return False + # Message type specific filtering + if isinstance(msg, DATAMSG_TRX2L1): + # NOPE.ind filter + if not self.argv.pf_nope_ind and msg.nope_ind: + return False + # Burst passed ;) return True @@ -258,6 +264,9 @@ pf_group.add_argument("--frame-num-gt", metavar = "FN", dest = "pf_fn_gt", type = int, help = "TDMA frame number (greater than FN)") + pf_group.add_argument("--no-nope-ind", + dest = "pf_nope_ind", action = "store_false", + help = "Ignore NOPE.ind (NOPE / IDLE indications)") return parser.parse_args() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If51052af04289f10bfaefd5374049908de05319a Gerrit-Change-Number: 17674 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 Mar 30 12:28:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 12:28:58 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17675 ) Change subject: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI ...................................................................... trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI Change-Id: I16dd29d2f1e14e634029195599fa49a9be9219ab --- M src/target/trx_toolkit/trx_sniff.py 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/75/17675/1 diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 1417664..0cb62d3 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -164,6 +164,14 @@ if not self.argv.pf_nope_ind and msg.nope_ind: return False + # RSSI filter + if self.argv.pf_rssi_min is not None: + if msg.rssi < self.argv.pf_rssi_min: + return False + if self.argv.pf_rssi_max is not None: + if msg.rssi > self.argv.pf_rssi_max: + return False + # Burst passed ;) return True @@ -267,6 +275,12 @@ pf_group.add_argument("--no-nope-ind", dest = "pf_nope_ind", action = "store_false", help = "Ignore NOPE.ind (NOPE / IDLE indications)") + pf_group.add_argument("--rssi-min", metavar = "RSSI", + dest = "pf_rssi_min", type = int, + help = "Minimum RSSI value (e.g. -75)") + pf_group.add_argument("--rssi-max", metavar = "RSSI", + dest = "pf_rssi_max", type = int, + help = "Maximum RSSI value (e.g. -50)") return parser.parse_args() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16dd29d2f1e14e634029195599fa49a9be9219ab Gerrit-Change-Number: 17675 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 Mar 30 13:05:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 13:05:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Iniaital SIMTRACE testsuite References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 ) Change subject: Iniaital SIMTRACE testsuite ...................................................................... Iniaital SIMTRACE testsuite This doesn't really do much yet in terms of test coverage, but it adds all related infrastructure Change-Id: If9fa66b6c5fbddd742ff61fa2c1345736d07accd --- M Makefile M library/General_Types.ttcn A simtrace/SIMTRACE_CARDEM_Tests.ttcn A simtrace/SIMTRACE_Emulation.ttcn A simtrace/SIMTRACE_Templates.ttcn A simtrace/SIMTRACE_Tests.ttcn A simtrace/SIMTRACE_Types.ttcn A simtrace/gen_links.sh A simtrace/regen_makefile.sh 9 files changed, 1,068 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/17676/1 diff --git a/Makefile b/Makefile index 4ceacf3..90b54b3 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn sip stp sysinfo +SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn \ + simtrace sip stp sysinfo NPROC=$(shell nproc 2>/dev/null) ifeq ($(NPROC),) diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn index 924f28b..da396b7 100644 --- a/library/General_Types.ttcn +++ b/library/General_Types.ttcn @@ -75,6 +75,7 @@ type bitstring BIT15 length(15) with { variant "FIELDLENGTH(15)" }; type bitstring BIT16 length(16) with { variant "FIELDLENGTH(16)" }; type bitstring BIT24 length(24) with { variant "FIELDLENGTH(24)" }; + type bitstring BIT27 length(27) with { variant "FIELDLENGTH(27)" }; type bitstring BIT28 length(28) with { variant "FIELDLENGTH(28)" }; type bitstring BIT29 length(29) with { variant "FIELDLENGTH(29)" }; type bitstring BIT30 length(30) with { variant "FIELDLENGTH(30)" }; diff --git a/simtrace/SIMTRACE_CARDEM_Tests.ttcn b/simtrace/SIMTRACE_CARDEM_Tests.ttcn new file mode 100644 index 0000000..0f7a31f --- /dev/null +++ b/simtrace/SIMTRACE_CARDEM_Tests.ttcn @@ -0,0 +1,10 @@ +module SIMTRACE_CARDEM_Tests { + +import from General_Types all; +import from Osmocom_Types all; + +import from SIMTRACE_Tests all; +import from SIMTRACE_Types all; +import from SIMTRACE_Templates all; + +} diff --git a/simtrace/SIMTRACE_Emulation.ttcn b/simtrace/SIMTRACE_Emulation.ttcn new file mode 100644 index 0000000..c907608 --- /dev/null +++ b/simtrace/SIMTRACE_Emulation.ttcn @@ -0,0 +1,175 @@ +module SIMTRACE_Emulation { + +import from General_Types all; +import from Osmocom_Types all; +import from Misc_Helpers all; + +import from USB_PortType all; +import from USB_Types all; +import from USB_Templates all; +import from USB_Component all; +import from USB_PortTypes all; + +import from SIMTRACE_Types all; +import from SIMTRACE_Templates all; + +/* one USB interface */ +type component ST_Emulation_CT extends USB_CT { + var integer g_ep_in; + var integer g_ep_out; + var integer g_ep_irq; + var USB_IF_Params g_pars; + + port ST_USER_PT INOUT; + port ST_USER_PT IRQ; +}; + +type port ST_USER_PT message { + inout SIMTRACE_PDU; +} with { extension "internal" }; + +/* configuration for a ST_Emulation_CT */ +type record USB_IF_Params { + USB_Device_Match usb_dev_match, + integer usb_if_nr +}; + +private const octetstring c_oct261 := '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'O; + +private function f_usb_submit_xfer(USB_endpoint ep, octetstring data := c_oct261, + USB_transfer_type ttype := USB_TRANSFER_TYPE_BULK, + integer tout_ms := 30000) runs on USB_CT +{ + var integer req_hdl := f_usb_get_req_hdl(); + var USB_transfer xfer := { + device_hdl := g_dev_hdl, + transfer_hdl := req_hdl, + endpoint := ep, + ttype := ttype, + data := data, + timeout_msec := tout_ms + }; + USB.send(xfer); +} + +/* open libusb device; claim interface; resolve endpoints; submit IN/IRQ transfers */ +function main(USB_IF_Params pars) runs on ST_Emulation_CT { + var USB_Descriptor_Node root; + var integer i_config; + var integer i; + + g_pars := pars; + + f_usb_init(g_pars.usb_dev_match); + + i_config := f_usb_get_config(); + log("USB Configuration: ", i_config); + + root := f_usb_get_desc_tree(); + log(root); + + /* iterate over list of interfaces in current configuration */ + for (i := 0; i < lengthof(root.children[i_config].children); i:=i+1) { + var USB_Descriptor_Node ifn := root.children[i_config].children[i]; + var USB_InterfaceDescriptor ifd := ifn.desc.interface; + var integer j; + if (ifd.bInterfaceNumber != g_pars.usb_if_nr) { + continue; + } + /* determine endpoints inside interface */ + for (j := 0; j < lengthof(ifn.children); j:=j+1) { + if (ischosen(ifn.children[j].desc.endpoint)) { + var USB_EndpointDescriptor epd := ifn.children[j].desc.endpoint; + select (epd.bmAttributes.TranferType) { + case (USB_EpTransfer_BULK) { + if (epd.bEndpointAddress and4b '80'O == '80'O) { + g_ep_in := oct2int(epd.bEndpointAddress); + } else { + g_ep_out := oct2int(epd.bEndpointAddress); + } + } + case (USB_EpTransfer_INTERRUPT) { + g_ep_irq := oct2int(epd.bEndpointAddress); + } + } + } + } + } + + log("USB Endpoints found: IN: ", int2oct(g_ep_in, 1), ", OUT: ", int2oct(g_ep_out, 1), + " IRQ: ", int2oct(g_ep_irq, 1)); + + f_usb_claim_interface(g_dev_hdl, g_pars.usb_if_nr); + + /* submit xfer fro IN and IRQ endpoints */ + f_usb_submit_xfer(g_ep_in); + f_usb_submit_xfer(g_ep_irq, ttype := USB_TRANSFER_TYPE_INTERRUPT); + + var USB_transfer_compl tc; + var SIMTRACE_PDU stpdu_out, stpdu_in; + while (true) { + alt { + [] USB.receive(tr_UsbXfer_compl(g_ep_out, USB_TRANSFER_TYPE_BULK, + USB_TRANSFER_COMPLETED, g_dev_hdl, ?)) { + /* do nothing; normal completion of OUT transfer */ + } + [] USB.receive(tr_UsbXfer_compl(g_ep_in, USB_TRANSFER_TYPE_BULK, + USB_TRANSFER_COMPLETED, g_dev_hdl, ?)) -> value tc { + /* Submit another IN transfer */ + f_usb_submit_xfer(g_ep_in); + stpdu_in := dec_SIMTRACE_PDU(tc.data); + INOUT.send(stpdu_in); + } + [] USB.receive(tr_UsbXfer_compl(g_ep_irq, USB_TRANSFER_TYPE_INTERRUPT, + USB_TRANSFER_COMPLETED, g_dev_hdl, ?))-> value tc { + /* Submit another IRQ transfer */ + f_usb_submit_xfer(g_ep_irq, ttype := USB_TRANSFER_TYPE_INTERRUPT); + stpdu_in := dec_SIMTRACE_PDU(tc.data); + IRQ.send(stpdu_in); + } + [] USB.receive(tr_UsbXfer_compl(g_ep_irq, USB_TRANSFER_TYPE_INTERRUPT, + USB_TRANSFER_TIMED_OUT, g_dev_hdl, ?)) -> value tc { + /* Submit another IRQ transfer */ + f_usb_submit_xfer(g_ep_irq, ttype := USB_TRANSFER_TYPE_INTERRUPT); + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_STALL, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_STALL on EP ", int2hex(tc.endpoint, 2)); + //mtc.stop; + /* Submit another IN transfer */ + f_usb_submit_xfer(tc.endpoint); + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_ERROR, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_ERROR on EP ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_TIMED_OUT, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_TIMED_OUT on EP ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, USB_TRANSFER_OVERFLOW, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB_TRANSFER_OVERFLOW on EP ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, ?, g_dev_hdl, ?)) -> value tc { + setverdict(fail, "Unexpected USB Endpoint ", int2hex(tc.endpoint, 2)); + mtc.stop; + } + [] USB.receive(tr_UsbXfer_compl(?, ?, ?, ?, ?)) -> value tc { + setverdict(fail, "Unexpected USB Device ", tc.device_hdl); + mtc.stop; + } + [] USB.receive { + setverdict(fail, "Unexpected Message from USB"); + mtc.stop; + } + + + [] INOUT.receive(SIMTRACE_PDU:?) -> value stpdu_out { + f_usb_submit_xfer(g_ep_out, enc_SIMTRACE_PDU(stpdu_out), tout_ms := 3000); + } + } + } +} + + +} diff --git a/simtrace/SIMTRACE_Templates.ttcn b/simtrace/SIMTRACE_Templates.ttcn new file mode 100644 index 0000000..934253e --- /dev/null +++ b/simtrace/SIMTRACE_Templates.ttcn @@ -0,0 +1,333 @@ +module SIMTRACE_Templates { + +import from SIMTRACE_Types all; +import from General_Types all; +import from Osmocom_Types all; + +/* TTCN-3 templates Osmocom SIMTRACE2 + * as found in simtrace2.git/host/include/osmocom/simtrace2/simtrace_prot.h + * + * (C) 2020 by Harald Welte + */ + + +/*********************************************************************** + * GENERAL + ***********************************************************************/ + +template (value) SIMTRACE_PDU +ts_SIMTRACE(template (value) SIMTRACE_MsgClassType msg_type, + template (value) SIMTRACE_Payload payload) := { + msg_type := msg_type, + seq_nr := 0, + slot_nr := 0, + reserved := '0000'O, + msg_len := 0, /* overwritten */ + payload := payload +} +template (present) SIMTRACE_PDU +tr_SIMTRACE(template (present) SIMTRACE_MsgClassType msg_type, + template (present) SIMTRACE_Payload payload) := { + msg_type := msg_type, + seq_nr := ?, + slot_nr := ?, + reserved := '0000'O, + msg_len := ?, + payload := payload +} + +template (value) SIMTRACE_PDU ts_SIMTRACE_BOARD_INFO := + ts_SIMTRACE(SIMTRACE_CMD_BD_BOARD_INFO, + { gen_bd_board_info := { + hardware := { + manufacturer := "", + model := "", + version := "" + }, + software := { + provider := "", + name := "", + version := "", + buildhost := "", + crc := '00000000'O + }, + max_baud_rate := 0, + cap_generic_bytes := 0, + cap_vendor_bytes := 0, + cap_generic := omit, + cap_vendor := omit + } + }); +template (present) SIMTRACE_PDU +tr_SIMTRACE_BOARD_INFO(template (present) Board_Info_Hardware hw := ?, + template (present) Board_Info_Software sw := ?, + template Generic_Capability cap_gen := *, + template Generic_Capability_Vendor cap_vend := *) := + tr_SIMTRACE(SIMTRACE_CMD_BD_BOARD_INFO, + { gen_bd_board_info := { + hardware := hw, + software := sw, + max_baud_rate := ?, + cap_generic_bytes := ?, + cap_vendor_bytes := ?, + cap_generic := cap_gen, + cap_vendor := cap_vend + } + }); + + +/*********************************************************************** + * CARD EMULATION + ***********************************************************************/ + +/* dummy flags for BD_STATUS [request] */ +template (value) CardEmu_StatusFlags ts_CardEmu_StatusFlags := { + reserved := '000'B, + reset_active := false, + card_insert := false, + rcemu_active := false, + clk_active := false, + vcc_present := false, + reserved2 := '000000000000000000000000'B +}; +template (present) CardEmu_StatusFlags +tr_CardEmu_StatusFlags(template (present) boolean reset_active := ?, + template (present) boolean card_insert := ?, + template (present) boolean clk_active := ?, + template (present) boolean vcc_present := ?, + template (present) boolean rcemu_active := ?) := { + reserved := ?, + reset_active := reset_active, + card_insert := card_insert, + rcemu_active := rcemu_active, + clk_active := clk_active, + vcc_present := vcc_present, + reserved2 := ? +}; + +template (value) CardEmu_DataFlags +ts_CardEmu_DataFlags(template (value) boolean pb_and_rx := false, + template (value) boolean pb_and_tx := false, + template (value) boolean final := false, + template (value) boolean tpdu_hdr := false) := { + reserved := '0000'B, + pb_and_rx := pb_and_rx, + pb_and_tx := pb_and_tx, + final := final, + tpdu_hdr := tpdu_hdr, + reserved2 := '000000000000000000000000'B +}; +template (present) CardEmu_DataFlags +tr_CardEmu_DataFlags(template (present) boolean pb_and_rx := ?, + template (present) boolean pb_and_tx := ?, + template (present) boolean final := ?, + template (present) boolean tpdu_hdr := ?) := { + reserved := ?, + pb_and_rx := pb_and_rx, + pb_and_tx := pb_and_tx, + final := final, + tpdu_hdr := tpdu_hdr, + reserved2 := ? +}; + + +template (value) SIMTRACE_PDU + ts_SIMTRACE_CEMU_TX_DATA(template (value) CardEmu_DataFlags flags, + template (value) octetstring data) := +ts_SIMTRACE(SIMTRACE_MSGT_DT_CEMU_TX_DATA, + { cardem_dt_txdata := { + flags := flags, + data_len := 0, /* overwritten */ + data := data } + }); + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_SET_ATR(template (value) octetstring atr) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_CEMU_SET_ATR, + { cardem_dt_setatr := { atr_len := 0 /* overwritten */, atr := atr } }); + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_STATUS := + ts_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_STATUS, + { cardem_bd_status := { + flags := ts_CardEmu_StatusFlags, + voltage_mv := 0, fi := 0, di := 0, wi := 0, waiting_time := 0 + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_STATUS(template (present) CardEmu_StatusFlags flags := ?, + template (present) uint16_t voltage_mv := ?, + template (present) uint8_t fi := ?, + template (present) uint8_t di := ?, + template (present) uint8_t wi := ?, + template (present) uint32_t waiting_time := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_STATUS, + { cardem_bd_status := { + flags := flags, + voltage_mv := voltage_mv, + fi := fi, + di := di, + wi := wi, + waiting_time := waiting_time + }}); + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_CARDINSERT(uint8_t insert) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_CEMU_CARDINSERT, + { cardem_dt_cardinsert := { card_insert := insert } }); + + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_RX_DATA(template (present) CardEmu_DataFlags flags, + template (present) octetstring data) := + tr_SIMTRACE(SIMTRACE_MSGT_DO_CEMU_RX_DATA, + { cardem_do_rxdata := { + flags := flags, + data_len := ?, + data := data + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_PTS(template (present) octetstring req, template (present) octetstring resp) := + tr_SIMTRACE(SIMTRACE_MSGT_DO_CEMU_PTS, + { cardem_do_pts := { + pts_len := ?, + req := req, + resp := resp + } + }); + +template (value) CardEmu_FeatureFlags ts_FeatureFlags(boolean status_irq) := { + reserved := '0000000'B, + status_irq := status_irq, + reserved2 := '000000000000000000000000'B +} +template (present) CardEmu_FeatureFlags tr_FeatureFlags(template (present) boolean status_irq := ?) := { + reserved := '0000000'B, + status_irq := status_irq, + reserved2 := '000000000000000000000000'B +} + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_CEMU_CONFIG(template (value) CardEmu_FeatureFlags flags) := + ts_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_CONFIG, { cardem_bd_config := { features := flags } }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_CEMU_CONFIG(template (present) CardEmu_FeatureFlags flags) := + tr_SIMTRACE(SIMTRACE_MSGT_BD_CEMU_CONFIG, { cardem_bd_config := { features := flags } }); + + +/*********************************************************************** + * MODEM CONTROL + ***********************************************************************/ + +template (value) Modem_Status ts_ModemStatus(boolean card_inserted, boolean wwan_led) := { + reserved := '000000'B, + card_inserted := card_inserted, + wwan_led := wwan_led +} +template (present) Modem_Status tr_ModemStatus(template (present) boolean card_inserted, + template (present) boolean wwan_led) := { + reserved := ?, + card_inserted := card_inserted, + wwan_led := wwan_led +} + + + +template (value) SIMTRACE_PDU +ts_SIMTRACE_MODEM_RESET(ModemResetType rst_type := MODEM_RESET_PULSE, + uint16_t duration_msec := 400) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_MODEM_RESET, + { modem_dt_reset := { + asserted := rst_type, + pulse_duration_msec := duration_msec + } + }); + +template (value) SIMTRACE_PDU +ts_SIMTRACE_MODEM_SIM_SELECT(SimSelect sim_sel) := + ts_SIMTRACE(SIMTRACE_MSGT_DT_MODEM_SIM_SELECT, + { modem_dt_sim_select := { + sim_select := sim_sel + } + }); + +template (value) SIMTRACE_PDU +ts_SIMTRACE_MODEM_STATUS := + ts_SIMTRACE(SIMTRACE_MSGT_BD_MODEM_STATUS, + { modem_bd_status := { + supported := ts_ModemStatus(false, false), + status := ts_ModemStatus(false, false), + changed := ts_ModemStatus(false, false) + } + }); +template (present) SIMTRACE_PDU +tr_SIMTRACE_MODEM_STATUS(template (present) Modem_Status supported := ?, + template (present) Modem_Status status := ?, + template (present) Modem_Status changed := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_BD_MODEM_STATUS, + { modem_bd_status := { + supported := supported, + status := status, + changed := changed + } + }); + + +/*********************************************************************** + * SNIFFER + ***********************************************************************/ + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_CHANGE(template (present) Sniff_Flags flags) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_CHANGE, + { sniff_do_change := { flags := flags } }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_FIDI(template (present) uint8_t fidi := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_FIDI, + { sniff_do_fidi := { fidi := fidi } }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_ATR(template (present) octetstring data, + template (present) Sniff_Flags flags := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_FIDI, + { sniff_do_atr := { + flags := flags, + data_len := ?, + data := data + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_PPS(template (present) octetstring data, + template (present) Sniff_Flags flags := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_PPS, + { sniff_do_atr := { + flags := flags, + data_len := ?, + data := data + } + }); + +template (present) SIMTRACE_PDU +tr_SIMTRACE_SNIFF_TPDU(template (present) octetstring data, + template (present) Sniff_Flags flags := ?) := + tr_SIMTRACE(SIMTRACE_MSGT_SNIFF_TPDU, + { sniff_do_atr := { + flags := flags, + data_len := ?, + data := data + } + }); + + + +} diff --git a/simtrace/SIMTRACE_Tests.ttcn b/simtrace/SIMTRACE_Tests.ttcn new file mode 100644 index 0000000..90ac986 --- /dev/null +++ b/simtrace/SIMTRACE_Tests.ttcn @@ -0,0 +1,162 @@ +module SIMTRACE_Tests { + +import from General_Types all; +import from Osmocom_Types all; +import from Misc_Helpers all; + +import from USB_PortType all; +import from USB_Types all; +import from USB_Templates all; +import from USB_Component all; +import from USB_PortTypes all; + +import from SIMTRACE_Types all; +import from SIMTRACE_Templates all; +import from SIMTRACE_Emulation all; + +modulepar { + //USB_Device_Match mp_usb_dev_match := { vid_pid := { vid := '1d50'H, pid := '60e3'H} }; + USB_Device_Match mp_usb_dev_match := { vid_pid := { vid := '1d50'H, pid := '4004'H} }; + charstring mp_usb_path := "1-2.4.4"; + integer mp_usb_interface := 0; +} + +//private const integer NR_IF := 2; + +type component Test_CT { + var ST_Emulation_CT vc_ST; + port ST_USER_PT ST; + port ST_USER_PT ST_IRQ; +}; + +private template (value) USB_IF_Params ts_UsbPars_path(charstring path, uint8_t if_nr) := { + usb_dev_match := { + path := { + path := path + } + }, + usb_if_nr := if_nr +} + +function f_init(USB_IF_Params pars) runs on Test_CT { + vc_ST := ST_Emulation_CT.create("ST"); + map(vc_ST:USB, system:USB); + connect(vc_ST:INOUT, self:ST); + connect(vc_ST:IRQ, self:ST_IRQ); + vc_ST.start(SIMTRACE_Emulation.main(pars)); +} + +function f_drain() runs on Test_CT { + timer T := 0.1; + T.start; + alt { + [] ST.receive { + log("Drained msg from INOUT"); + repeat; + } + [] ST_IRQ.receive { + log("Drained msg from IRQ"); + repeat; + } + [] T.timeout { } + } +} + + +function f_xceive(template (value) SIMTRACE_PDU tx, template (present) SIMTRACE_PDU exp_rx) +runs on Test_CT return SIMTRACE_PDU { + var SIMTRACE_PDU rx; + timer T := 5.0; + + ST.send(tx); + T.start; + alt { + [] ST.receive(exp_rx) -> value rx { + T.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", exp_rx); + mtc.stop; + } + } + return rx; +} + +testcase TC_test() runs on Test_CT { + + var USB_IF_Params pars := valueof(ts_UsbPars_path(mp_usb_path, mp_usb_interface)); + f_init(pars); + f_drain(); + + /* Enable the use of the IRQ endpoint to report status updates */ + f_xceive(ts_SIMTRACE_CEMU_CONFIG(ts_FeatureFlags(true)), + tr_SIMTRACE_CEMU_CONFIG(tr_FeatureFlags(true))) + + /* Choose "remote" SIM */ + ST.send(ts_SIMTRACE_MODEM_SIM_SELECT(SIM_SELECT_REMOTE)); + /* Trigger modem reset pulse */ + ST.send(ts_SIMTRACE_MODEM_RESET); + + f_drain(); + + var SIMTRACE_PDU rx; + while (true) { + /* receive TPDU header */ + ST.receive(tr_SIMTRACE_CEMU_RX_DATA(tr_CardEmu_DataFlags(tpdu_hdr:=true), ?)) -> value rx; + var octetstring apdu_hdr := rx.payload.cardem_do_rxdata.data; + /* send PB and request further Rx (command bytes) */ + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags(pb_and_rx:=true), apdu_hdr[1])); + /* receive remaining data from reader */ + ST.receive(tr_SIMTRACE_CEMU_RX_DATA(tr_CardEmu_DataFlags(final:=true), ?)); + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags(pb_and_tx:=true), '9000'O)); + } + + f_sleep(100.0); + + +} + +/* Test how firmware reacts on overly-long message (OS#4429, OS#4428) */ +testcase TC_long_out() runs on Test_CT { + var USB_IF_Params pars := valueof(ts_UsbPars_path(mp_usb_path, mp_usb_interface)); + f_init(pars); + f_drain(); + + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags, f_rnd_octstring(300))); + f_sleep(5.0); + /* FIXME: how to verify the device did not reset itself? */ +} + + +/* flood the OUT endpoint with 1000 messages; much more than the firmware can handle */ +testcase TC_flood_out() runs on Test_CT { + var USB_IF_Params pars := valueof(ts_UsbPars_path(mp_usb_path, mp_usb_interface)); + f_init(pars); + f_drain(); + + var integer i; + for (i := 0; i < 1000; i := i+1) { + ST.send(ts_SIMTRACE_CEMU_TX_DATA(ts_CardEmu_DataFlags, f_rnd_octstring(10))); + } + f_sleep(5.0); + /* FIXME: how to verify the device is still responsive? */ +} + + +testcase TC_selftest() runs on Test_CT { + const octetstring c_cemu_sim_rem := '020200000000090001'O; + const octetstring c_cemu_rx := '010600000000130001000000050000A4000402'O; + /* 0106000000001300 + 01000000 + 0500 + 00A4000402 + */ + log(dec_SIMTRACE_PDU(c_cemu_rx)); +} + + + + + + +} diff --git a/simtrace/SIMTRACE_Types.ttcn b/simtrace/SIMTRACE_Types.ttcn new file mode 100644 index 0000000..7b1c857 --- /dev/null +++ b/simtrace/SIMTRACE_Types.ttcn @@ -0,0 +1,356 @@ +module SIMTRACE_Types { + +/* TTCN-3 data types with TITAN RAW codec annotations for Osmocom SIMTRACE2 + * as found in simtrace2.git/host/include/osmocom/simtrace2/simtrace_prot.h + * + * (C) 2020 by Harald Welte + */ + +import from General_Types all; +import from Osmocom_Types all; + +type integer u16le_t (0..65535) with { variant "unsigned 16 bit" variant "BYTEORDER(first)" }; +type integer u32le_t (0..4294967295) with { variant "unsigned 32 bit" variant "BYTEORDER(first)" }; +type charstring CHAR32 length (0..32) with { variant "FIELDLENGTH(32)" }; + +type enumerated SIMTRACE_MsgClassType { + /* SIMTRACE_MSGC_GENERIC */ + SIMTRACE_CMD_DO_ERROR ('0000'H), + SIMTRACE_CMD_BD_BOARD_INFO ('0001'H), + + /* SIMTRACE_MSGC_CARDEM */ + SIMTRACE_MSGT_DT_CEMU_TX_DATA ('0101'H), + SIMTRACE_MSGT_DT_CEMU_SET_ATR ('0102'H), + SIMTRACE_MSGT_BD_CEMU_STATS ('0103'H), + SIMTRACE_MSGT_BD_CEMU_STATUS ('0104'H), + SIMTRACE_MSGT_DT_CEMU_CARDINSERT ('0105'H), + SIMTRACE_MSGT_DO_CEMU_RX_DATA ('0106'H), + SIMTRACE_MSGT_DO_CEMU_PTS ('0107'H), + SIMTRACE_MSGT_BD_CEMU_CONFIG ('0108'H), + + /* SIMTRACE_MSGC_MODEM */ + SIMTRACE_MSGT_DT_MODEM_RESET ('0201'H), + SIMTRACE_MSGT_DT_MODEM_SIM_SELECT ('0202'H), + SIMTRACE_MSGT_BD_MODEM_STATUS ('0203'H), + + /* SIMTRACE_MSGC_SNIFF */ + SIMTRACE_MSGT_SNIFF_CHANGE ('0300'H), + SIMTRACE_MSGT_SNIFF_FIDI ('0301'H), + SIMTRACE_MSGT_SNIFF_ATR ('0302'H), + SIMTRACE_MSGT_SNIFF_PPS ('0303'H), + SIMTRACE_MSGT_SNIFF_TPDU ('0304'H) +} with { variant "FIELDLENGTH(16)" variant "BYTEORDER(last)" }; + +type record SIMTRACE_PDU { + SIMTRACE_MsgClassType msg_type, + uint8_t seq_nr, + uint8_t slot_nr, + OCT2 reserved, + u16le_t msg_len, + SIMTRACE_Payload payload + /* payload */ +} with { + variant (msg_len) "LENGTHTO(msg_type,seq_nr,slot_nr,reserved,msg_len,payload)" + variant (payload) "CROSSTAG( + gen_do_error, msg_type = SIMTRACE_CMD_DO_ERROR; + gen_bd_board_info, msg_type = SIMTRACE_CMD_BD_BOARD_INFO; + + cardem_dt_txdata, msg_type = SIMTRACE_MSGT_DT_CEMU_TX_DATA; + cardem_dt_setatr, msg_type = SIMTRACE_MSGT_DT_CEMU_SET_ATR; + /* FIXME: stats */ + cardem_bd_status, msg_type = SIMTRACE_MSGT_BD_CEMU_STATUS; + cardem_dt_cardinsert, msg_type = SIMTRACE_MSGT_DT_CEMU_CARDINSERT; + cardem_do_rxdata, msg_type = SIMTRACE_MSGT_DO_CEMU_RX_DATA; + cardem_do_pts, msg_type = SIMTRACE_MSGT_DO_CEMU_PTS; + cardem_bd_config, msg_type = SIMTRACE_MSGT_BD_CEMU_CONFIG; + + modem_dt_reset, msg_type = SIMTRACE_MSGT_DT_MODEM_RESET; + modem_dt_sim_select, msg_type = SIMTRACE_MSGT_DT_MODEM_SIM_SELECT; + modem_bd_status, msg_type = SIMTRACE_MSGT_BD_MODEM_STATUS; + + sniff_do_change, msg_type = SIMTRACE_MSGT_SNIFF_CHANGE; + sniff_do_fidi, msg_type = SIMTRACE_MSGT_SNIFF_FIDI; + sniff_do_atr, msg_type = SIMTRACE_MSGT_SNIFF_ATR; + sniff_do_pps, msg_type = SIMTRACE_MSGT_SNIFF_PPS; + sniff_do_tpdu, msg_type = SIMTRACE_MSGT_SNIFF_TPDU; + other, OTHERWISE; + )" +}; + +external function enc_SIMTRACE_PDU(in SIMTRACE_PDU pdu) return octetstring +with { extension "prototype(convert)" extension "encode(RAW)" }; + +external function dec_SIMTRACE_PDU(in octetstring stream) return SIMTRACE_PDU +with { extension "prototype(convert)" extension "decode(RAW)" }; + +type union SIMTRACE_Payload { + Generic_DO_Error gen_do_error, + Generic_BD_BoardInfo gen_bd_board_info, + + CardEmu_DT_TxData cardem_dt_txdata, + CardEmu_DT_SetAtr cardem_dt_setatr, + CardEmu_BD_Status cardem_bd_status, + Cardemu_DT_CardInsert cardem_dt_cardinsert, + CardEmu_DO_RxData cardem_do_rxdata, + CardEmu_DO_Pts cardem_do_pts, + CardEmu_BD_Config cardem_bd_config, + + Modem_DT_Reset modem_dt_reset, + Modem_DT_SimSelect modem_dt_sim_select, + Modem_BD_Status modem_bd_status, + + Sniff_DO_Change sniff_do_change, + Sniff_DO_FiDi sniff_do_fidi, + Sniff_DO_Data sniff_do_atr, + Sniff_DO_Data sniff_do_pps, + Sniff_DO_Data sniff_do_tpdu, + + octetstring other +}; + +/*********************************************************************** + * GENERIC + ***********************************************************************/ + +/* SIMTRACE_CMD_DO_ERROR */ +type record Generic_DO_Error { + uint8_t severity, + uint8_t subsystem, + u16le_t code, + uint8_t msg_len, + charstring msg +} with { + variant (msg_len) "LENGTHTO(msg)" +}; + +type record Generic_Capability_Vendor { + /* Can erase a peer SAM3 controller */ + boolean sysmo_qmod_erase_peer, + /* Can read/write an attached EEPROM */ + boolean sysmo_qmod_rw_eeprom, + /* can reset an attached USB hub */ + boolean sysmo_qmod_reset_hub +}; + +type record Generic_Capability { + /* compatible with 5V SIM card interface */ + boolean cap_volt_5v, + /* compatible with 3V SIM card interface */ + boolean cap_volt_3v, + /* compatible with 1.8V SIM card interface */ + boolean cap_volt_1v8, + boolean cap_led_1, + boolean cap_led_2, + /* Has Single-Pole Dual-Throw (local/remote SIM) */ + boolean cap_spdt, + /* Has Bus-Switch (trace / MITM) */ + boolean cap_bus_switch, + /* Can read VSIM via ADC */ + boolean cap_vsim_adc, + /* Can read temperature via ADC */ + boolean cap_temp_adc, + /* Supports DFU for firmware update */ + boolean cap_dfu, + /* Supports Ctrl EP command for erasing flash / return to SAM-BA */ + boolean cap_erase_flash, + /* Can read the status of card insert contact */ + boolean cap_read_card_det, + /* Can control the status of a simulated card insert */ + boolean cap_assert_card_det, + /* Can toggle the hardware reset of an attached modem */ + boolean cap_assert_modem_rst +}; + +type record Board_Info_Hardware { + CHAR32 manufacturer, + CHAR32 model, + CHAR32 version +}; + +type record Board_Info_Software { + CHAR32 provider, + CHAR32 name, + CHAR32 version, + CHAR32 buildhost, + OCT4 crc +}; + +type record Generic_BD_BoardInfo { + Board_Info_Hardware hardware, + Board_Info_Software software, + u32le_t max_baud_rate, + uint8_t cap_generic_bytes, + uint8_t cap_vendor_bytes, + Generic_Capability cap_generic optional, + Generic_Capability_Vendor cap_vendor optional +} with { + variant (cap_generic_bytes) "LENGTHTO(cap_generic)" + variant (cap_vendor_bytes) "LENGTHTO(cap_vendor)" +}; + + +/*********************************************************************** + * CARD EMULATOR / FORWARDER + ***********************************************************************/ + +/* CEMU_USB_MSGT_DT_CARDINSERT */ +type record Cardemu_DT_CardInsert { + uint8_t card_insert +}; + +/* CEMU_USB_MSGT_DT_SET_ATR */ +type record CardEmu_DT_SetAtr { + uint8_t atr_len, + octetstring atr +} with { + variant (atr_len) "LENGTHTO(atr)" +}; + +type record CardEmu_DataFlags { + /* First octet here is last octet of little-endian encoded uint32_t */ + BIT4 reserved, + /* indicates a PB is present and we should continue with RX */ + boolean pb_and_rx, + /* indicates a PB is present and we should continue with TX */ + boolean pb_and_tx, + /* indicates last part of transmission in this direction */ + boolean final, + /* indicates a TPDU header is present in this message */ + boolean tpdu_hdr, + BIT24 reserved2 +} with { variant "BITORDER(msb)" }; + +/* CEMU_USB_MSGT_DT_TX_DATA */ +type record CardEmu_DT_TxData { + CardEmu_DataFlags flags, + u16le_t data_len, + octetstring data +} with { + variant (data_len) "LENGTHTO(data)" +}; + +/* CEMU_USB_MSGT_DO_RX_DATA */ +type record CardEmu_DO_RxData { + CardEmu_DataFlags flags, + u16le_t data_len, + octetstring data +} with { + variant (data_len) "LENGTHTO(data)" +}; + +type record CardEmu_StatusFlags { + /* First octet here is last octet of little-endian encoded uint32_t */ + BIT3 reserved, + boolean reset_active, + boolean card_insert, + boolean rcemu_active, + boolean clk_active, + boolean vcc_present, + BIT24 reserved2 +}; + +/* CEMU_USB_MSGT_BD_STATUS */ +type record CardEmu_BD_Status { + CardEmu_StatusFlags flags, + u16le_t voltage_mv, + uint8_t fi, + uint8_t di, + uint8_t wi, + u32le_t waiting_time +}; + +/* CEMU_USB_MSGT_DO_PTS */ +type record CardEmu_DO_Pts { + uint8_t pts_len, + OCT6 req, + OCT6 resp +}; + +type record CardEmu_FeatureFlags { + BIT7 reserved, + boolean status_irq, + BIT24 reserved2 +}; + +type record CardEmu_BD_Config { + CardEmu_FeatureFlags features +}; + +/*********************************************************************** + * MODEM CONTROL + ***********************************************************************/ + +type enumerated ModemResetType { + MODEM_RESET_RELEASE (0), + MODEM_RESET_ASSERT (1), + MODEM_RESET_PULSE (2) +} with { variant "FIELDLENGTH(8)" }; + +/* SIMTRACE_MSGT_DT_MODEM_RESET */ +type record Modem_DT_Reset { + ModemResetType asserted, + u16le_t pulse_duration_msec +}; + +type enumerated SimSelect { + SIM_SELECT_LOCAL (0), + SIM_SELECT_REMOTE (1) +} with { variant "FIELDLENGTH(8)" }; + +/* SIMTRACE_MSGT_DT_MODEM_SIM_SELECT */ +type record Modem_DT_SimSelect { + SimSelect sim_select +}; + +type record Modem_Status { + BIT6 reserved, + boolean card_inserted, + boolean wwan_led +}; + +/* SIMTRACE_MSGT_BD_MODEM_STATUS */ +type record Modem_BD_Status { + Modem_Status supported, + Modem_Status status, + Modem_Status changed +}; + +/*********************************************************************** + * SNIFF + ***********************************************************************/ + +type record Sniff_Flags { + /* First octet here is last octet of little-endian encoded uint32_t */ + boolean error_checksum, + boolean error_malformed, + boolean error_incomplete, + boolean timeout_wt, + boolean reset_deassert, + boolean reset_assert, + boolean card_eject, + boolean card_insert, + BIT24 reserved +}; + +/* SIMTRACE_MSGT_SNIFF_CHANGE */ +type record Sniff_DO_Change { + Sniff_Flags flags +}; + +/* SIMTRACE_MSGT_SNIFF_FIDI */ +type record Sniff_DO_FiDi { + uint8_t fidi +}; + +/* SIMTRACE_MSGT_SNIFF_ATR, PPS, TPDU */ +type record Sniff_DO_Data { + Sniff_Flags flags, + u16le_t data_len, + octetstring data +} with { + variant (data_len) "LENGTHTO(data)" +}; + + + +} with { encode "RAW"; variant "FIELDORDER(msb)" }; diff --git a/simtrace/gen_links.sh b/simtrace/gen_links.sh new file mode 100755 index 0000000..72787b9 --- /dev/null +++ b/simtrace/gen_links.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +BASEDIR=../deps + +. ../gen_links.sh.inc + +#DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src +#FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" +#gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.USB/src +FILES="USB_PT.cc USB_PT.hh USB_PortType.ttcn USB_PortTypes.ttcn USB_Templates.ttcn USB_Types.ttcn USB_Component.ttcn " +gen_links $DIR $FILES + +DIR=../library +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn " +FILES+="Native_Functions.ttcn Native_FunctionDefs.cc " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/simtrace/regen_makefile.sh b/simtrace/regen_makefile.sh new file mode 100755 index 0000000..3f2d472 --- /dev/null +++ b/simtrace/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.ttcn USB_PT.cc Native_FunctionDefs.cc " + +../regen-makefile.sh SIMTRACE_Tests.ttcn $FILES + +#sed -i -e 's/^LINUX_LIBS = -lxml2/LINUX_LIBS = -lxml2 -lusb/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libusb-1.0`/' Makefile +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libusb-1.0`/' Makefile -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9fa66b6c5fbddd742ff61fa2c1345736d07accd Gerrit-Change-Number: 17676 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 Mar 30 14:05:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 14:05:23 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17673 ) Change subject: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3da62249a4d62078b79ce5e79c86923e59c1e457 Gerrit-Change-Number: 17673 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 14:05: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 Mar 30 14:11:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 14:11:44 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17674 ) Change subject: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If51052af04289f10bfaefd5374049908de05319a Gerrit-Change-Number: 17674 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 14:11: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 Mar 30 14:12:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 14:12:53 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17675 ) Change subject: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16dd29d2f1e14e634029195599fa49a9be9219ab Gerrit-Change-Number: 17675 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 14:12: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 Mar 30 14:34:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 14:34:19 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17671 ) Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 14:34: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 Mar 30 14:35:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 14:35:29 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17670/1/tests/coding/coding_test.c File tests/coding/coding_test.c: https://gerrit.osmocom.org/c/libosmocore/+/17670/1/tests/coding/coding_test.c at 225 PS1, Line 225: printf("%s(): decoding failed (rc=%d)\n", __func__, rc); : return; rather than copy+pasting this all over, I would suggest to introduce a PRINT_RET macro which then includes the __func__ part and the return.. Or even a CHECK_RC_OR_RET() or whatever... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 14:35: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 Mon Mar 30 15:15:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 15:15:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Initial SIMTRACE testsuite 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/+/17676 to look at the new patch set (#2). Change subject: Initial SIMTRACE testsuite ...................................................................... Initial SIMTRACE testsuite This doesn't really do much yet in terms of test coverage, but it adds all related infrastructure Change-Id: If9fa66b6c5fbddd742ff61fa2c1345736d07accd --- M Makefile M library/General_Types.ttcn A simtrace/SIMTRACE_CARDEM_Tests.ttcn A simtrace/SIMTRACE_Emulation.ttcn A simtrace/SIMTRACE_Templates.ttcn A simtrace/SIMTRACE_Tests.ttcn A simtrace/SIMTRACE_Types.ttcn A simtrace/gen_links.sh A simtrace/regen_makefile.sh 9 files changed, 1,068 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/17676/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17676 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9fa66b6c5fbddd742ff61fa2c1345736d07accd Gerrit-Change-Number: 17676 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 15:16:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 15:16:02 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17672/1/src/coding/gsm0503_coding.c File src/coding/gsm0503_coding.c: https://gerrit.osmocom.org/c/libosmocore/+/17672/1/src/coding/gsm0503_coding.c at 1335 PS1, Line 1335: * \returns bumber of bits encoded; negative on error */ hey, I have the copyright on typos, not you! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 15:16:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 15:29:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 15:29:16 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17677 ) Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... ttcn3-bsc-test: Enable CBSP tests for some strange reason, the tests developed + merged in September 2019 are not yet automatically executed. Let's fix that. "latest" should work fine, the BSC side code was already present in 1.6.0 Change-Id: I4408265d1be900359256f5cab553893d03cc8362 --- M ttcn3-bsc-test/BSC_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/77/17677/1 diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index 4a08617..153b1a8 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -29,3 +29,4 @@ [EXECUTE] BSC_Tests.control BSC_Tests_LCLS.control +BSC_Tests_CBSP.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 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 Mar 30 15:32:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 15:32:01 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17677 ) Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 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 Mon Mar 30 15:55:19 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 15:55:19 +0000 Subject: Change in osmo-bsc[master]: manual: add "Multiple Instances" section, akin to other manuals In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17503 ) Change subject: manual: add "Multiple Instances" section, akin to other manuals ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc at 91 PS2, Line 91: #routing-key 6 1.23.3 > why do we have a commented-out line in the example config? How is the user to understand its signif [?] 'show cs7 config' prints the dynamically allocated routing-key, but it should not be set in a config file when using OsmoSTP. I'd prefer to mention it for completeness, but if you think it is ill placed... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideb137f19d19144d35b05eb036098045bbb18d64 Gerrit-Change-Number: 17503 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 15:55: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 Mon Mar 30 15:56:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 15:56:28 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17504 ) Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... Patch Set 6: Code-Review+2 combining earlier +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 15:56: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 Mar 30 15:57:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 15:57:52 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCPlite section In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17532 ) Change subject: manual: add SCCPlite section ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8eddc47353d6afd756865321a9e97f6cee4ce2d7 Gerrit-Change-Number: 17532 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 30 Mar 2020 15: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 Mon Mar 30 15:57:57 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 15:57:57 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17504 ) Change subject: manual: add SCCP/M3UA section from common chapters ...................................................................... manual: add SCCP/M3UA section from common chapters Link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 --- A TODO-RELEASE M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc 3 files changed, 15 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/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..dde4b72 --- /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://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# In short: +# 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 +manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 9348f69..fe99780 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -68,7 +68,7 @@ - The MGCP link is established by OsmoMSC contacting an MGW. To run multiple OsmoBSC instances on the same A-interface (SCCP/M3UA), each BSC -has to configure a distinct point-code. +has to configure a distinct point-code. See <>. === Configure primary links @@ -94,6 +94,8 @@ msc-address msc ---- +This configuration is explained in detail in <>. + ==== Configure MGCP to connect to an MGW OsmoBSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index 26f49da..c518c96 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -16,6 +16,8 @@ include::./common/chapters/logging.adoc[] +include::./common/chapters/cs7-config.adoc[] + include::./common/chapters/bts.adoc[] include::{srcdir}/chapters/bts-examples.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5b4973901f02046322b852fd9862517982d21bd9 Gerrit-Change-Number: 17504 Gerrit-PatchSet: 7 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 Mar 30 15:57:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 15:57:59 +0000 Subject: Change in osmo-bsc[master]: manual: add SCCPlite section In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17532 ) Change subject: manual: add SCCPlite section ...................................................................... manual: add SCCPlite section Change-Id: I8eddc47353d6afd756865321a9e97f6cee4ce2d7 --- M doc/manuals/chapters/running.adoc 1 file changed, 32 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index fe99780..eeefa6c 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -73,7 +73,9 @@ === Configure primary links -==== Configure SCCP/M3UA to connect to an MSC's _A_ interface +==== Connect to an MSC's _A_ interface + +===== Configure SCCP/M3UA (AoIP) OsmoBSC acts as client to contact an STP instance and establish an SCCP/M3UA link. @@ -96,6 +98,35 @@ This configuration is explained in detail in <>. +===== Configure SCCPlite + +Traditionally, OsmoBSC implemented only an SCCPlite based A-interface, an +ad-hoc standard encapsulating BSSAP in an IPA Multiplex. Since 2017, OsmoBSC +supports primarily a proper 3GPP compliant SCCP/M3UA A-interface known as AoIP, +by a new libosmo-sigtran implementation. In 2018, SCCPlite compatibility was +added to libosmo-sigtran, re-enabling the option of using an SCCPlite based +A-interface. For details, see the OsmoSTP manual, chapter "IPA / SCCPlite +backwards compatibility". + +Here is an example configuration of OsmoBSC for SCCPlite, assuming the BSC at +point-code 1.23.3 and an SCCPlite MSC listening on 127.0.0.1:5000 with own +point-code 0.23.1: + +---- +cs7 instance 0 + point-code 1.23.3 + asp asp-clnt-msc-0 5000 0 ipa + remote-ip 127.0.0.1 + as as-clnt-msc-0 ipa + asp asp-clnt-msc-0 + routing-key 0 1.23.3 + point-code override dpc 0.23.1 + sccp-address remote_msc + point-code 0.23.1 +msc 0 + msc-addr remote_msc +---- + ==== Configure MGCP to connect to an MGW OsmoBSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8eddc47353d6afd756865321a9e97f6cee4ce2d7 Gerrit-Change-Number: 17532 Gerrit-PatchSet: 5 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 Mon Mar 30 15:58:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 15:58:29 +0000 Subject: Change in osmo-msc[master]: manual: add missing mention of MGCP in "Multiple instances" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17579 ) Change subject: manual: add missing mention of MGCP in "Multiple instances" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91d06921e4dca08428bf45fc1a3fd6e124599371 Gerrit-Change-Number: 17579 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 15:58: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 Mar 30 16:07:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:07:09 +0000 Subject: Change in docker-playground[master]: update OBS Release.key; the old one expired today. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17678 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... update OBS Release.key; the old one expired today. Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e --- M Release.key M debian-buster-erlang/Release.key M debian-buster-simtrace2/Release.key M debian-jessie-osmocom/Release.key M debian-repo-install-test/Release.key M debian-stretch-build-dist/Release.key M debian-stretch-jenkins/Release.key M debian-stretch-titan/Release.key M osmo-bsc-latest/Release.key M osmo-bsc-master/Release.key M osmo-bts-latest/Release.key M osmo-bts-master/Release.key M osmo-cn-latest/Release.key M osmo-ggsn-latest/Release.key M osmo-ggsn-master/Release.key M osmo-gsm-tester/Release.key M osmo-hlr-latest/Release.key M osmo-hlr-master/Release.key M osmo-hnbgw-latest/Release.key M osmo-hnbgw-master/Release.key M osmo-mgw-latest/Release.key M osmo-mgw-master/Release.key M osmo-msc-latest/Release.key M osmo-msc-master/Release.key M osmo-nitb-latest/Release.key M osmo-nitb-master/Release.key M osmo-pcu-latest/Release.key M osmo-pcu-master/Release.key M osmo-remsim-latest/Release.key M osmo-remsim-master/Release.key M osmo-sgsn-latest/Release.key M osmo-sgsn-master/Release.key M osmo-sip-latest/Release.key M osmo-sip-master/Release.key M osmo-stp-latest/Release.key M osmo-stp-master/Release.key M osmocom-bb-host-master/Release.key 37 files changed, 333 insertions(+), 333 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/78/17678/1 diff --git a/Release.key b/Release.key index e656238..a737316 100644 --- a/Release.key +++ b/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-buster-erlang/Release.key b/debian-buster-erlang/Release.key index e656238..a737316 100644 --- a/debian-buster-erlang/Release.key +++ b/debian-buster-erlang/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-buster-simtrace2/Release.key b/debian-buster-simtrace2/Release.key index e656238..a737316 100644 --- a/debian-buster-simtrace2/Release.key +++ b/debian-buster-simtrace2/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-jessie-osmocom/Release.key b/debian-jessie-osmocom/Release.key index e656238..a737316 100644 --- a/debian-jessie-osmocom/Release.key +++ b/debian-jessie-osmocom/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-repo-install-test/Release.key b/debian-repo-install-test/Release.key index e656238..a737316 100644 --- a/debian-repo-install-test/Release.key +++ b/debian-repo-install-test/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-stretch-build-dist/Release.key b/debian-stretch-build-dist/Release.key index e656238..a737316 100644 --- a/debian-stretch-build-dist/Release.key +++ b/debian-stretch-build-dist/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-stretch-jenkins/Release.key b/debian-stretch-jenkins/Release.key index e656238..a737316 100644 --- a/debian-stretch-jenkins/Release.key +++ b/debian-stretch-jenkins/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-stretch-titan/Release.key b/debian-stretch-titan/Release.key index e656238..a737316 100644 --- a/debian-stretch-titan/Release.key +++ b/debian-stretch-titan/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bsc-latest/Release.key b/osmo-bsc-latest/Release.key index e656238..a737316 100644 --- a/osmo-bsc-latest/Release.key +++ b/osmo-bsc-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bsc-master/Release.key b/osmo-bsc-master/Release.key index e656238..a737316 100644 --- a/osmo-bsc-master/Release.key +++ b/osmo-bsc-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bts-latest/Release.key b/osmo-bts-latest/Release.key index e656238..a737316 100644 --- a/osmo-bts-latest/Release.key +++ b/osmo-bts-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bts-master/Release.key b/osmo-bts-master/Release.key index e656238..a737316 100644 --- a/osmo-bts-master/Release.key +++ b/osmo-bts-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-cn-latest/Release.key b/osmo-cn-latest/Release.key index e656238..a737316 100644 --- a/osmo-cn-latest/Release.key +++ b/osmo-cn-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-ggsn-latest/Release.key b/osmo-ggsn-latest/Release.key index e656238..a737316 100644 --- a/osmo-ggsn-latest/Release.key +++ b/osmo-ggsn-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-ggsn-master/Release.key b/osmo-ggsn-master/Release.key index e656238..a737316 100644 --- a/osmo-ggsn-master/Release.key +++ b/osmo-ggsn-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-gsm-tester/Release.key b/osmo-gsm-tester/Release.key index e656238..a737316 100644 --- a/osmo-gsm-tester/Release.key +++ b/osmo-gsm-tester/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hlr-latest/Release.key b/osmo-hlr-latest/Release.key index e656238..a737316 100644 --- a/osmo-hlr-latest/Release.key +++ b/osmo-hlr-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hlr-master/Release.key b/osmo-hlr-master/Release.key index e656238..a737316 100644 --- a/osmo-hlr-master/Release.key +++ b/osmo-hlr-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hnbgw-latest/Release.key b/osmo-hnbgw-latest/Release.key index e656238..a737316 100644 --- a/osmo-hnbgw-latest/Release.key +++ b/osmo-hnbgw-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hnbgw-master/Release.key b/osmo-hnbgw-master/Release.key index e656238..a737316 100644 --- a/osmo-hnbgw-master/Release.key +++ b/osmo-hnbgw-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-mgw-latest/Release.key b/osmo-mgw-latest/Release.key index e656238..a737316 100644 --- a/osmo-mgw-latest/Release.key +++ b/osmo-mgw-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-mgw-master/Release.key b/osmo-mgw-master/Release.key index e656238..a737316 100644 --- a/osmo-mgw-master/Release.key +++ b/osmo-mgw-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-msc-latest/Release.key b/osmo-msc-latest/Release.key index e656238..a737316 100644 --- a/osmo-msc-latest/Release.key +++ b/osmo-msc-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-msc-master/Release.key b/osmo-msc-master/Release.key index e656238..a737316 100644 --- a/osmo-msc-master/Release.key +++ b/osmo-msc-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-nitb-latest/Release.key b/osmo-nitb-latest/Release.key index e656238..a737316 100644 --- a/osmo-nitb-latest/Release.key +++ b/osmo-nitb-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-nitb-master/Release.key b/osmo-nitb-master/Release.key index e656238..a737316 100644 --- a/osmo-nitb-master/Release.key +++ b/osmo-nitb-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-pcu-latest/Release.key b/osmo-pcu-latest/Release.key index e656238..a737316 100644 --- a/osmo-pcu-latest/Release.key +++ b/osmo-pcu-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-pcu-master/Release.key b/osmo-pcu-master/Release.key index e656238..a737316 100644 --- a/osmo-pcu-master/Release.key +++ b/osmo-pcu-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-remsim-latest/Release.key b/osmo-remsim-latest/Release.key index e656238..a737316 100644 --- a/osmo-remsim-latest/Release.key +++ b/osmo-remsim-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-remsim-master/Release.key b/osmo-remsim-master/Release.key index e656238..a737316 100644 --- a/osmo-remsim-master/Release.key +++ b/osmo-remsim-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sgsn-latest/Release.key b/osmo-sgsn-latest/Release.key index e656238..a737316 100644 --- a/osmo-sgsn-latest/Release.key +++ b/osmo-sgsn-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sgsn-master/Release.key b/osmo-sgsn-master/Release.key index e656238..a737316 100644 --- a/osmo-sgsn-master/Release.key +++ b/osmo-sgsn-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sip-latest/Release.key b/osmo-sip-latest/Release.key index e656238..a737316 100644 --- a/osmo-sip-latest/Release.key +++ b/osmo-sip-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sip-master/Release.key b/osmo-sip-master/Release.key index e656238..a737316 100644 --- a/osmo-sip-master/Release.key +++ b/osmo-sip-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-stp-latest/Release.key b/osmo-stp-latest/Release.key index e656238..a737316 100644 --- a/osmo-stp-latest/Release.key +++ b/osmo-stp-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-stp-master/Release.key b/osmo-stp-master/Release.key index e656238..a737316 100644 --- a/osmo-stp-master/Release.key +++ b/osmo-stp-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmocom-bb-host-master/Release.key b/osmocom-bb-host-master/Release.key index e656238..a737316 100644 --- a/osmocom-bb-host-master/Release.key +++ b/osmocom-bb-host-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e Gerrit-Change-Number: 17678 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 Mar 30 16:07:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:07:51 +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: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/17580 to look at the new patch set (#2). Change subject: manual: link to new common cs7-config.adoc, remove some dup of that ...................................................................... manual: link to new common cs7-config.adoc, remove some dup of that Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: Ie88dd2c7f7318a31ae04fbd6930346d92141fde5 --- A TODO-RELEASE M doc/manuals/chapters/running.adoc M doc/manuals/osmomsc-usermanual.adoc 3 files changed, 21 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/80/17580/2 -- 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-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:18:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:18:41 +0000 Subject: Change in docker-playground[master]: update OBS Release.key; the old one expired today. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17678 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e Gerrit-Change-Number: 17678 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 16:18: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 Mar 30 16:18:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:18:47 +0000 Subject: Change in docker-playground[master]: update OBS Release.key; the old one expired today. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17678 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e Gerrit-Change-Number: 17678 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 16: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 Mon Mar 30 16:18:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:18:49 +0000 Subject: Change in docker-playground[master]: update OBS Release.key; the old one expired today. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17678 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... update OBS Release.key; the old one expired today. Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e --- M Release.key M debian-buster-erlang/Release.key M debian-buster-simtrace2/Release.key M debian-jessie-osmocom/Release.key M debian-repo-install-test/Release.key M debian-stretch-build-dist/Release.key M debian-stretch-jenkins/Release.key M debian-stretch-titan/Release.key M osmo-bsc-latest/Release.key M osmo-bsc-master/Release.key M osmo-bts-latest/Release.key M osmo-bts-master/Release.key M osmo-cn-latest/Release.key M osmo-ggsn-latest/Release.key M osmo-ggsn-master/Release.key M osmo-gsm-tester/Release.key M osmo-hlr-latest/Release.key M osmo-hlr-master/Release.key M osmo-hnbgw-latest/Release.key M osmo-hnbgw-master/Release.key M osmo-mgw-latest/Release.key M osmo-mgw-master/Release.key M osmo-msc-latest/Release.key M osmo-msc-master/Release.key M osmo-nitb-latest/Release.key M osmo-nitb-master/Release.key M osmo-pcu-latest/Release.key M osmo-pcu-master/Release.key M osmo-remsim-latest/Release.key M osmo-remsim-master/Release.key M osmo-sgsn-latest/Release.key M osmo-sgsn-master/Release.key M osmo-sip-latest/Release.key M osmo-sip-master/Release.key M osmo-stp-latest/Release.key M osmo-stp-master/Release.key M osmocom-bb-host-master/Release.key 37 files changed, 333 insertions(+), 333 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/Release.key b/Release.key index e656238..a737316 100644 --- a/Release.key +++ b/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-buster-erlang/Release.key b/debian-buster-erlang/Release.key index e656238..a737316 100644 --- a/debian-buster-erlang/Release.key +++ b/debian-buster-erlang/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-buster-simtrace2/Release.key b/debian-buster-simtrace2/Release.key index e656238..a737316 100644 --- a/debian-buster-simtrace2/Release.key +++ b/debian-buster-simtrace2/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-jessie-osmocom/Release.key b/debian-jessie-osmocom/Release.key index e656238..a737316 100644 --- a/debian-jessie-osmocom/Release.key +++ b/debian-jessie-osmocom/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-repo-install-test/Release.key b/debian-repo-install-test/Release.key index e656238..a737316 100644 --- a/debian-repo-install-test/Release.key +++ b/debian-repo-install-test/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-stretch-build-dist/Release.key b/debian-stretch-build-dist/Release.key index e656238..a737316 100644 --- a/debian-stretch-build-dist/Release.key +++ b/debian-stretch-build-dist/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-stretch-jenkins/Release.key b/debian-stretch-jenkins/Release.key index e656238..a737316 100644 --- a/debian-stretch-jenkins/Release.key +++ b/debian-stretch-jenkins/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-stretch-titan/Release.key b/debian-stretch-titan/Release.key index e656238..a737316 100644 --- a/debian-stretch-titan/Release.key +++ b/debian-stretch-titan/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bsc-latest/Release.key b/osmo-bsc-latest/Release.key index e656238..a737316 100644 --- a/osmo-bsc-latest/Release.key +++ b/osmo-bsc-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bsc-master/Release.key b/osmo-bsc-master/Release.key index e656238..a737316 100644 --- a/osmo-bsc-master/Release.key +++ b/osmo-bsc-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bts-latest/Release.key b/osmo-bts-latest/Release.key index e656238..a737316 100644 --- a/osmo-bts-latest/Release.key +++ b/osmo-bts-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-bts-master/Release.key b/osmo-bts-master/Release.key index e656238..a737316 100644 --- a/osmo-bts-master/Release.key +++ b/osmo-bts-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-cn-latest/Release.key b/osmo-cn-latest/Release.key index e656238..a737316 100644 --- a/osmo-cn-latest/Release.key +++ b/osmo-cn-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-ggsn-latest/Release.key b/osmo-ggsn-latest/Release.key index e656238..a737316 100644 --- a/osmo-ggsn-latest/Release.key +++ b/osmo-ggsn-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-ggsn-master/Release.key b/osmo-ggsn-master/Release.key index e656238..a737316 100644 --- a/osmo-ggsn-master/Release.key +++ b/osmo-ggsn-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-gsm-tester/Release.key b/osmo-gsm-tester/Release.key index e656238..a737316 100644 --- a/osmo-gsm-tester/Release.key +++ b/osmo-gsm-tester/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hlr-latest/Release.key b/osmo-hlr-latest/Release.key index e656238..a737316 100644 --- a/osmo-hlr-latest/Release.key +++ b/osmo-hlr-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hlr-master/Release.key b/osmo-hlr-master/Release.key index e656238..a737316 100644 --- a/osmo-hlr-master/Release.key +++ b/osmo-hlr-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hnbgw-latest/Release.key b/osmo-hnbgw-latest/Release.key index e656238..a737316 100644 --- a/osmo-hnbgw-latest/Release.key +++ b/osmo-hnbgw-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-hnbgw-master/Release.key b/osmo-hnbgw-master/Release.key index e656238..a737316 100644 --- a/osmo-hnbgw-master/Release.key +++ b/osmo-hnbgw-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-mgw-latest/Release.key b/osmo-mgw-latest/Release.key index e656238..a737316 100644 --- a/osmo-mgw-latest/Release.key +++ b/osmo-mgw-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-mgw-master/Release.key b/osmo-mgw-master/Release.key index e656238..a737316 100644 --- a/osmo-mgw-master/Release.key +++ b/osmo-mgw-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-msc-latest/Release.key b/osmo-msc-latest/Release.key index e656238..a737316 100644 --- a/osmo-msc-latest/Release.key +++ b/osmo-msc-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-msc-master/Release.key b/osmo-msc-master/Release.key index e656238..a737316 100644 --- a/osmo-msc-master/Release.key +++ b/osmo-msc-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-nitb-latest/Release.key b/osmo-nitb-latest/Release.key index e656238..a737316 100644 --- a/osmo-nitb-latest/Release.key +++ b/osmo-nitb-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-nitb-master/Release.key b/osmo-nitb-master/Release.key index e656238..a737316 100644 --- a/osmo-nitb-master/Release.key +++ b/osmo-nitb-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-pcu-latest/Release.key b/osmo-pcu-latest/Release.key index e656238..a737316 100644 --- a/osmo-pcu-latest/Release.key +++ b/osmo-pcu-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-pcu-master/Release.key b/osmo-pcu-master/Release.key index e656238..a737316 100644 --- a/osmo-pcu-master/Release.key +++ b/osmo-pcu-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-remsim-latest/Release.key b/osmo-remsim-latest/Release.key index e656238..a737316 100644 --- a/osmo-remsim-latest/Release.key +++ b/osmo-remsim-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-remsim-master/Release.key b/osmo-remsim-master/Release.key index e656238..a737316 100644 --- a/osmo-remsim-master/Release.key +++ b/osmo-remsim-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sgsn-latest/Release.key b/osmo-sgsn-latest/Release.key index e656238..a737316 100644 --- a/osmo-sgsn-latest/Release.key +++ b/osmo-sgsn-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sgsn-master/Release.key b/osmo-sgsn-master/Release.key index e656238..a737316 100644 --- a/osmo-sgsn-master/Release.key +++ b/osmo-sgsn-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sip-latest/Release.key b/osmo-sip-latest/Release.key index e656238..a737316 100644 --- a/osmo-sip-latest/Release.key +++ b/osmo-sip-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-sip-master/Release.key b/osmo-sip-master/Release.key index e656238..a737316 100644 --- a/osmo-sip-master/Release.key +++ b/osmo-sip-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-stp-latest/Release.key b/osmo-stp-latest/Release.key index e656238..a737316 100644 --- a/osmo-stp-latest/Release.key +++ b/osmo-stp-latest/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-stp-master/Release.key b/osmo-stp-master/Release.key index e656238..a737316 100644 --- a/osmo-stp-master/Release.key +++ b/osmo-stp-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/osmocom-bb-host-master/Release.key b/osmocom-bb-host-master/Release.key index e656238..a737316 100644 --- a/osmocom-bb-host-master/Release.key +++ b/osmocom-bb-host-master/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e Gerrit-Change-Number: 17678 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 Mar 30 16:21:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:21:16 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 to look at the new patch set (#3). Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... manual: add "Configuring Primary Links" and "Multiple instances" Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 --- M doc/manuals/chapters/running.adoc 1 file changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/05/17505/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Mar 30 16:21:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:21:16 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc 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-iuh/+/17506 to look at the new patch set (#3). Change subject: manual: link to new common cs7-config.adoc ...................................................................... manual: link to new common cs7-config.adoc Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 --- M TODO-RELEASE M doc/manuals/chapters/running.adoc M doc/manuals/osmohnbgw-usermanual.adoc 3 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/06/17506/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:22:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:22:16 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-iuh/+/17505/1/doc/manuals/chapters/running.adoc at 73 PS1, Line 73: To run multiple OsmoHNBGW instances on the same SCCP routing, each HNBGW has to > However, to run... IMHO "however" doesn't fit that well here -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:22: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 Mon Mar 30 16:24:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:24:04 +0000 Subject: Change in osmo-ci[master]: update OBS Release.key; the old one expired today. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/17679 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... update OBS Release.key; the old one expired today. Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9 --- M ansible/roles/gsm-tester-bts/files/Release.key M qemu-kvm/ggsn-kernel-gtp/postinst/Release.key 2 files changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/79/17679/1 diff --git a/ansible/roles/gsm-tester-bts/files/Release.key b/ansible/roles/gsm-tester-bts/files/Release.key index e656238..a737316 100644 --- a/ansible/roles/gsm-tester-bts/files/Release.key +++ b/ansible/roles/gsm-tester-bts/files/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key b/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key index e656238..a737316 100644 --- a/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key +++ b/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9 Gerrit-Change-Number: 17679 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 Mar 30 16:25:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:25:00 +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: pespin 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 so you removed the AS altogether? -- 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-CC: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:25: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 Mon Mar 30 16:25:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:25:51 +0000 Subject: Change in docker-playground[master]: update OBS Release.key; the old one expired today. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17678 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... Patch Set 1: I don't know if it's the case already, but i'd make probably sense to have symlinks and only store 1 copy? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17678 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e Gerrit-Change-Number: 17678 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:25: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 Mar 30 16:26:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:26:15 +0000 Subject: Change in osmo-sgsn[master]: manual: explain IuPS, add SCCP/M3UA section from common chapters 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/+/17507 to look at the new patch set (#2). Change subject: manual: explain IuPS, add SCCP/M3UA section from common chapters ...................................................................... manual: explain IuPS, add SCCP/M3UA section from common chapters Add 'cs7' default configuration, link to the osmo-gsm-manuals/common/cs7-config.adoc chapter to fully explain the 'cs7' client configuration. Related: OS#2767 Depends: Ia2508d4c7b0fef9cdc57e7e122799a480e340bf7 (osmo-gsm-manuals) Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee --- M TODO-RELEASE M doc/manuals/chapters/configuration.adoc M doc/manuals/osmosgsn-usermanual.adoc 3 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/07/17507/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee Gerrit-Change-Number: 17507 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:26:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:26:41 +0000 Subject: Change in osmo-sgsn[master]: manual: explain IuPS, add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 ) Change subject: manual: explain IuPS, add SCCP/M3UA section from common chapters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee Gerrit-Change-Number: 17507 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:26: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 Mar 30 16:27:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:27:03 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:27:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:27:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:27:43 +0000 Subject: Change in osmo-ci[master]: update OBS Release.key; the old one expired today. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17679 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9 Gerrit-Change-Number: 17679 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 16:27: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 Mar 30 16:27:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:27:46 +0000 Subject: Change in osmo-ci[master]: update OBS Release.key; the old one expired today. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/17679 ) Change subject: update OBS Release.key; the old one expired today. ...................................................................... update OBS Release.key; the old one expired today. Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9 --- M ansible/roles/gsm-tester-bts/files/Release.key M qemu-kvm/ggsn-kernel-gtp/postinst/Release.key 2 files changed, 18 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ansible/roles/gsm-tester-bts/files/Release.key b/ansible/roles/gsm-tester-bts/files/Release.key index e656238..a737316 100644 --- a/ansible/roles/gsm-tester-bts/files/Release.key +++ b/ansible/roles/gsm-tester-bts/files/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- diff --git a/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key b/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key index e656238..a737316 100644 --- a/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key +++ b/qemu-kvm/ggsn-kernel-gtp/postinst/Release.key @@ -7,14 +7,14 @@ 5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy -b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc -aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI -ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw -8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI -L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb -/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I -ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi -8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCXm/4 +pgIbAwUJEEzwqgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3f/1AH +/A7WVSpfM4wV/DMqZPTsSjChB4JyDotxpV7qHZzBC5aaP2dINZyi9PayIwZWbvCY +VKvt+Fw8oCGC9F9mdh10Xe+ElHeVNSihzABPuu1RkRkb1nvkymScy0yxydodYOBi +K4WQ+BhpijXWmYvOekIwbS5Hi9BHpfgK4TinK0xsvh1bVLeQJ8YjrnNFIAR2CnBa +X7Y72Up/kKL08DdQzuS+mKrJtAQlGMtIsukWC2ajYQMkNwm8Gvhpn8za113dCkBW +XAFnlQqQobKwC7b19QgEtJI/YpGSrRc6WaZxPyAjscbWQlFEAB900sVj4BWT55ig +7O2uSdsCVhTuU7T0ztwsgvmIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= -=Gvly +=/Tek -----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/17679 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9 Gerrit-Change-Number: 17679 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 Mar 30 16:28:02 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:28:02 +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 > so you removed the AS altogether? it's not necessary; that's explained in <> ;) -- 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: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:28: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 Mar 30 16:28:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:28:04 +0000 Subject: Change in osmo-sgsn[master]: manual: explain IuPS, add SCCP/M3UA section from common chapters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 ) Change subject: manual: explain IuPS, add SCCP/M3UA section from common chapters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/17507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If0f7c8fc4b94eb40b62570cf90999d5074dc00ee Gerrit-Change-Number: 17507 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:28: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 Mar 30 16:28:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:28:59 +0000 Subject: Change in osmo-iuh[master]: manual: add "Configuring Primary Links" and "Multiple instances" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17505 ) Change subject: manual: add "Configuring Primary Links" and "Multiple instances" ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-iuh/+/17505/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-iuh/+/17505/2/doc/manuals/chapters/running.adoc at 94 PS2, Line 94: #routing-key 4 0.23.5 why si the complete 'as' removed? I guess you only wanted to remove the '#routng-key' line? -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0919392b716e2812ff19d7efa5d1ba535b08eb91 Gerrit-Change-Number: 17505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 16:28: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 Mar 30 16:29:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 16:29:22 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:29:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:32:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:32:00 +0000 Subject: Change in osmo-iuh[master]: manual: link to new common cs7-config.adoc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/17506 ) Change subject: manual: link to new common cs7-config.adoc ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/17506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I531b272f49edcbf4194603e554b535b83a1e5780 Gerrit-Change-Number: 17506 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:32: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 Mar 30 16:34:53 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Mar 2020 16:34:53 +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 (#3). 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, 135 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/17285/3 -- 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: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:34:54 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Mar 2020 16:34:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: use library version of RTP_CodecPort_CtrlFunct References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 ) Change subject: mgw: use library version of RTP_CodecPort_CtrlFunct ...................................................................... mgw: use library version of RTP_CodecPort_CtrlFunct The .cc and the .ttcn file of RTP_CodecPort_CtrlFunct is currently copied into the mgw directory and then used. However, those files do exist in the /library folder as well, lets just link them using gen_links.sh Change-Id: I14f80051f6a168b7a8155c6e523c085e974b62b5 --- D mgw/RTP_CodecPort_CtrlFunct.ttcn D mgw/RTP_CodecPort_CtrlFunctDef.cc M mgw/gen_links.sh 3 files changed, 1 insertion(+), 100 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/17680/1 diff --git a/mgw/RTP_CodecPort_CtrlFunct.ttcn b/mgw/RTP_CodecPort_CtrlFunct.ttcn deleted file mode 100644 index 9f6cad2..0000000 --- a/mgw/RTP_CodecPort_CtrlFunct.ttcn +++ /dev/null @@ -1,44 +0,0 @@ -module RTP_CodecPort_CtrlFunct { - - import from RTP_CodecPort all; - import from IPL4asp_Types all; - - external function f_IPL4_listen( - inout RTP_CODEC_PT portRef, - in HostName locName, - in PortNumber locPort, - in ProtoTuple proto, - in OptionList options := {} - ) return Result; - - external function f_IPL4_connect( - inout RTP_CODEC_PT portRef, - in HostName remName, - in PortNumber remPort, - in HostName locName, - in PortNumber locPort, - in ConnectionId connId, - in ProtoTuple proto, - in OptionList options := {} - ) return Result; - - external function f_IPL4_close( - inout RTP_CODEC_PT portRef, - in ConnectionId id, - in ProtoTuple proto := { unspecified := {} } - ) return Result; - - external function f_IPL4_setUserData( - inout RTP_CODEC_PT portRef, - in ConnectionId id, - in UserData userData - ) return Result; - - external function f_IPL4_getUserData( - inout RTP_CODEC_PT portRef, - in ConnectionId id, - out UserData userData - ) return Result; - -} - diff --git a/mgw/RTP_CodecPort_CtrlFunctDef.cc b/mgw/RTP_CodecPort_CtrlFunctDef.cc deleted file mode 100644 index ce8e176..0000000 --- a/mgw/RTP_CodecPort_CtrlFunctDef.cc +++ /dev/null @@ -1,56 +0,0 @@ -#include "IPL4asp_PortType.hh" -#include "RTP_CodecPort.hh" -#include "IPL4asp_PT.hh" - -namespace RTP__CodecPort__CtrlFunct { - - IPL4asp__Types::Result f__IPL4__listen( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::HostName& locName, - const IPL4asp__Types::PortNumber& locPort, - const IPL4asp__Types::ProtoTuple& proto, - const IPL4asp__Types::OptionList& options) - { - return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); - } - - IPL4asp__Types::Result f__IPL4__connect( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::HostName& remName, - const IPL4asp__Types::PortNumber& remPort, - const IPL4asp__Types::HostName& locName, - const IPL4asp__Types::PortNumber& locPort, - const IPL4asp__Types::ConnectionId& connId, - const IPL4asp__Types::ProtoTuple& proto, - const IPL4asp__Types::OptionList& options) - { - return f__IPL4__PROVIDER__connect(portRef, remName, remPort, - locName, locPort, connId, proto, options); - } - - IPL4asp__Types::Result f__IPL4__close( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::ConnectionId& connId, - const IPL4asp__Types::ProtoTuple& proto) - { - return f__IPL4__PROVIDER__close(portRef, connId, proto); - } - - IPL4asp__Types::Result f__IPL4__setUserData( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::ConnectionId& connId, - const IPL4asp__Types::UserData& userData) - { - return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); - } - - IPL4asp__Types::Result f__IPL4__getUserData( - RTP__CodecPort::RTP__CODEC__PT& portRef, - const IPL4asp__Types::ConnectionId& connId, - IPL4asp__Types::UserData& userData) - { - return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); - } - -} - diff --git a/mgw/gen_links.sh b/mgw/gen_links.sh index f919637..8893954 100755 --- a/mgw/gen_links.sh +++ b/mgw/gen_links.sh @@ -44,6 +44,7 @@ FILES+="OSMUX_CodecPort.ttcn OSMUX_Emulation.ttcn OSMUX_Types.ttcn OSMUX_CodecPort_CtrlFunct.ttcn OSMUX_CodecPort_CtrlFunctDef.cc " FILES+="Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn " FILES+="Osmocom_VTY_Functions.ttcn " +FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I14f80051f6a168b7a8155c6e523c085e974b62b5 Gerrit-Change-Number: 17680 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 Mar 30 16:36:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:36:40 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 4: > Patch Set 4: Code-Review-1 > > should be configurable It is configurable, as prepared by the previous patch if (ms->settings.audio.io_target == AUDIO_IO_LOOPBACK) It may look non-configurable, because I move the msgb-pull above, as a common part. When I submitted the patch, I had decided to always do the msgb stuff unconditionally, but thinking again it might be worth it to skip the entire msgb-pull if it isn't used. -- 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: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Mar 2020 16:36: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 Mar 30 16:51:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:51:26 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce initial Amarisoft ENB support References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 ) Change subject: Introduce initial Amarisoft ENB support ...................................................................... Introduce initial Amarisoft ENB support * object class expects the amarisoft software to be placed in directory provided by env var AMARISOFT_PATH_ENB. On local runs, it will run the software from there. On remote runs it will copy over that directory to the slave. * Configuration provided works with 6 PRBs, but probably won't work for other values (yet). * ZMQ support not yet available, only UHD. One can select the Amarisoft ENB by declaring it in resources.conf: """ - label: AmarisoftENB-B200 type: amarisoftenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=317B9FE,recv_frame_size=9232,send_frame_size=9232" remote_user: jenkins addr: 10.12.1.206 """ And running: """ $ export AMARISOFT_PATH_ENB=/path/to/binaries $ osmo-gsm-tester.py ... -s 4g:amarisoftenb-rftype at uhd+srsue-rftype@UHD+mod-enb-nprb at 6 -t ping """ Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 --- M example/defaults.conf A example/scenarios/amarisoftenb-rftype at .conf A src/osmo_gsm_tester/amarisoft_enb.py A src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py A src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl A src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl M suites/4g/suite.conf 12 files changed, 1,064 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/81/17681/1 diff --git a/example/defaults.conf b/example/defaults.conf index 2708b18..bcd1fa2 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -99,14 +99,21 @@ rlc_drb_mode: UM enable_pcap: false -srsenb: +enb: mcc: 901 mnc: 70 - num_prb: 100 transmission_mode: 1 - enable_pcap: false num_cells: 1 +srsenb: + num_prb: 100 + enable_pcap: false + +amarisoftenb: + license_server_addr: 10.12.1.139 + num_prb: 100 + enable_pcap: false + srsue: enable_pcap: false airplane_t_on_ms: -1 diff --git a/example/scenarios/amarisoftenb-rftype at .conf b/example/scenarios/amarisoftenb-rftype at .conf new file mode 100644 index 0000000..137458a --- /dev/null +++ b/example/scenarios/amarisoftenb-rftype at .conf @@ -0,0 +1,4 @@ +resources: + enb: + - type: amarisoftenb + rf_dev_type: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py new file mode 100644 index 0000000..e16fe7f --- /dev/null +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -0,0 +1,242 @@ +# osmo_gsm_tester: specifics for running an SRS eNodeB process +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# 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 +import pprint + +from . import log, util, config, template, process, remote +from . import enb + +def rf_type_valid(rf_type_str): + return rf_type_str in ('uhd') + +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + +class AmarisoftENB(enb.eNodeB): + + REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' + BINFILE = 'lteenb' + CFGFILE = 'amarisoft_enb.cfg' + CFGFILE_SIB1 = 'amarisoft_sib1.asn' + CFGFILE_SIB23 = 'amarisoft_sib23.asn' + CFGFILE_RF = 'amarisoft_rf_driver.cfg' + CFGFILE_DRB = 'amarisoft_drb.cfg' + LOGFILE = 'lteenb.log' + + def __init__(self, suite_run, conf): + super().__init__(suite_run, conf, 'amarisoftenb') + self.ue = None + self.epc = None + self.run_dir = None + self._bin_prefix = None + self.config_file = None + self.config_sib1_file = None + self.config_sib23_file = None + self.config_rf_file = None + self.config_drb_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_config_file = None + self.remote_config_sib1_file = None + self.remote_config_sib23_file = None + self.remote_config_rf_file = None + self.remote_config_drb_file = None + self.remote_log_file = None + self._num_prb = 0 + self._txmode = 0 + self.suite_run = suite_run + 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)) + + def bin_prefix(self): + if self._bin_prefix is None: + self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', AmarisoftENB.REMOTE_DIR) + return self._bin_prefix + + def cleanup(self): + if self.process is None: + return + if self.setup_runs_locally(): + return + # 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) + 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 + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + self._start() + + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + + def _start(self): + if self.setup_runs_locally(): + 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) + args = (binary, os.path.abspath(self.config_file)) + self.process = process.Process(self.name(), self.run_dir, args, env=env) + else: + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst } + remote_binary = self.remote_inst.child('', AmarisoftENB.BINFILE) + 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.process.launch() + + def gen_conf_file(self, path, filename, values): + self.dbg('AmarisoftENB ' + filename + ':\n' + pprint.pformat(values)) + with open(path, 'w') as f: + r = template.render(filename, values) + self.dbg(r) + f.write(r) + + def configure(self): + + self.inst = util.Dir(os.path.abspath(self.bin_prefix())) + lib = self.inst.child('lib') + if not self.inst.isfile('', AmarisoftENB.BINFILE): + raise log.Error('No %s binary in' % AmarisoftENB.BINFILE, self.inst) + + self.config_file = self.run_dir.child(AmarisoftENB.CFGFILE) + self.config_sib1_file = self.run_dir.child(AmarisoftENB.CFGFILE_SIB1) + self.config_sib23_file = self.run_dir.child(AmarisoftENB.CFGFILE_SIB23) + self.config_rf_file = self.run_dir.child(AmarisoftENB.CFGFILE_RF) + 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) + 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)) + + self.remote_config_file = remote_run_dir.child(AmarisoftENB.CFGFILE) + self.remote_config_sib1_file = remote_run_dir.child(AmarisoftENB.CFGFILE_SIB1) + self.remote_config_sib23_file = remote_run_dir.child(AmarisoftENB.CFGFILE_SIB23) + self.remote_config_rf_file = remote_run_dir.child(AmarisoftENB.CFGFILE_RF) + self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) + self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) + + values = dict(enb=config.get_defaults('enb')) + config.overlay(values, dict(enb=config.get_defaults('amarisoftenb'))) + config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + config.overlay(values, dict(enb=self._conf)) + config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + self._txmode = int(values['enb'].get('transmission_mode', None)) + assert self._txmode + self._num_cells = int(values['enb'].get('num_cells', None)) + assert self._num_cells + config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) + + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + config.overlay(values, dict(enb=dict(log_filename=logfile))) + + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) + self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) + self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) + 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(): + 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.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-cfg-sib1-to-remote', self.config_sib1_file, self.remote_config_sib1_file) + self.rem_host.scp('scp-cfg-sib23-to-remote', self.config_sib23_file, self.remote_config_sib23_file) + self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rf_file, self.remote_config_rf_file) + self.rem_host.scp('scp-cfg-drb-to-remote', self.config_drb_file, self.remote_config_drb_file) + + def ue_add(self, ue): + if self.ue is not None: + raise log.Error("More than one UE per ENB not yet supported (ZeroMQ)") + self.ue = ue + + def running(self): + return not self.process.terminated() + + def num_prb(self): + return self._num_prb + + def num_ports(self): + if self._txmode == 1: + return 1 + return 2 + + def ue_max_rate(self, downlink=True): + # The max rate for a single UE per PRB configuration in TM1 + 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 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 diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py new file mode 100644 index 0000000..f6b7722 --- /dev/null +++ b/src/osmo_gsm_tester/enb.py @@ -0,0 +1,67 @@ +# osmo_gsm_tester: base classes to share code among eNodeB subclasses. +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# 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 . + +from abc import ABCMeta, abstractmethod +from . import log + + +class eNodeB(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, suite_run, 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.set_name('%s_%s' % (name, self._addr)) + +######################## +# PUBLIC - INTERNAL API +######################## + def cleanup(self): + 'Nothing to do by default. Subclass can override if required.' + pass + +################### +# PUBLIC (test API included) +################### + @abstractmethod + def start(self, epc): + 'Starts ENB, it will connect to "epc"' + pass + + @abstractmethod + def ue_add(self, ue): + pass + + @abstractmethod + def running(self): + pass + + @abstractmethod + def ue_max_rate(self, downlink=True): + pass + + def addr(self): + return self._addr + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index bb44f39..d14ee96 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, srs_enb +from . import srs_ue, srs_enb, amarisoft_enb from .util import is_dict, is_list @@ -140,6 +140,7 @@ KNOWN_ENB_TYPES = { 'srsenb': srs_enb.srsENB, + 'amarisoftenb': amarisoft_enb.AmarisoftENB, } KNOWN_MS_TYPES = { diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 772b447..f5d3fdf 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -21,6 +21,7 @@ import pprint from . import log, util, config, template, process, remote +from . import enb def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF') @@ -44,7 +45,7 @@ def num_prb2base_srate(num_prb): return num_prb2symbol_sz(num_prb) * 15 * 1000 -class srsENB(log.Origin): +class srsENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-srsenb' BINFILE = 'srsenb' @@ -56,12 +57,7 @@ PCAPFILE = 'srsenb.pcap' def __init__(self, suite_run, conf): - super().__init__(log.C_RUN, 'srsenb') - self._conf = conf - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - self.set_name('srsenb_%s' % self._addr) + super().__init__(suite_run, conf, srsENB.BINFILE) self.ue = None self.epc = None self.run_dir = None @@ -188,7 +184,8 @@ def gen_conf_file(self, path, filename): self.dbg(config_file=path) - values = dict(enb=config.get_defaults('srsenb')) + values = dict(enb=config.get_defaults('enb')) + config.overlay(values, dict(enb=config.get_defaults('srsenb'))) config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) config.overlay(values, dict(enb=self._conf)) config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) @@ -245,9 +242,6 @@ def running(self): return not self.process.terminated() - def addr(self): - return self._addr - def num_prb(self): return self._num_prb diff --git a/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl new file mode 100644 index 0000000..a200063 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl @@ -0,0 +1,364 @@ +/* DRB configuration for each QCI value. If no corresponding QCI is + found, QCI = 9 is used instead. + QCI characteristics in TS 23.203 table 6.1.7 */ +[ + /**************************************** GBR */ + { + qci: 1, /* UM - real time (RTP for VOIP) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 7, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 5, + }, + dl_um: { + sn_FieldLength: 5, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + /* Note: SRB1 has priority 1, SRB2 has priority 3. + We start from 4 for priority 0.5 and increase the value */ + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 2, /* UM - real time (video) */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + priority: 9, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 3, /* UM - real time (gaming) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + priority: 8, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 4, /* AM - Non-Conversational Video (Buffered Streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 10, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 65, /* UM - real time (MC-PTT voice) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 7, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 5, + }, + dl_um: { + sn_FieldLength: 5, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + /* Note: SRB1 has priority 1, SRB2 has priority 3. We add an + offset of 4 to the standard priorities */ + priority: 5, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 66, /* UM - real time (non MC-PTT voice) */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + /* Note: SRB1 has priority 1, SRB2 has priority 3. + We start from 4 for priority 0.5, ... */ + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + /**************************************** non GBR */ + { + qci: 5, /* AM - high priority (SIP) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 6, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 6, /* AM - Video (buffered streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 12, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 7, /* UM - voice, video (live streaming), interactive gaming */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + priority: 13, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 8, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 14, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 9, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 15, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 3, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 69, /* AM - high priority (MC-PTT signalling) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 4, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 70, /* AM - MC data */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 11, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, +] diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl new file mode 100644 index 0000000..e618e62 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -0,0 +1,192 @@ +/* lteenb configuration file version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +{ + + license_server: { + server_addr: "${enb.license_server_addr}", + name: "amarisoft", + }, + + + /* Log filter: syntax: layer.field=value[,...] + + Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and + all. The 'all' layer is used to address all the layers at the + same time. + + field values: + + - 'level': the log level of each layer can be set to 'none', + 'error', 'info' or 'debug'. Use 'debug' to log all the messages. + + - 'max_size': set the maximum size of the hex dump. 0 means no + hex dump. -1 means no limit. + */ + //log_options: "all.level=debug,all.max_size=32", + log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1", + log_filename: "${enb.log_filename}", + + /* Enable remote API and Web interface */ + com_addr: "${enb.addr}:9001", + + /* RF driver configuration */ + include "amarisoft_rf_driver.cfg", + + mme_list: [ + { + /* address of MME for S1AP connection. Must be modified if the MME + runs on a different host. */ + mme_addr: "${enb.mme_addr}", + }, + ], + /* GTP bind address (=address of the ethernet interface connected to + the MME). Must be modified if the MME runs on a different host. */ + gtp_addr: "${enb.addr}", + + /* high 20 bits of SIB1.cellIdentifier */ + enb_id: 0x19B, + + /* list of cells */ + cell_list: [ + { + /* Broadcasted PLMN identities */ + plmn_list: [ + "${enb.mcc}${enb.mnc}", + ], + + //dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */ + //dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */ + //dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */ + //dl_earfcn: 2150, /* DL center frequency: 2130 MHz (Band 4) */ + //dl_earfcn: 2525, /* DL center frequency: 881.5 MHz (Band 5) */ + dl_earfcn: 2850, /* DL center frequency: 2680 MHz (Band 7) */ + //dl_earfcn: 6300, /* 806 MHz (Band 20) */ + //dl_earfcn: 38050, /* 2600 MHz (band 38) */ + //dl_earfcn: 40620, /* 2593 MHz (band 41) */ + //dl_earfcn: 42590, /* 3500 MHz (band 42) */ + + n_id_cell: 1, + cell_id: 0x01, + tac: 0x0001, + root_sequence_index: 204, /* PRACH root sequence index */ + }, + ], /* cell_list */ + + /* default cell parameters */ + cell_default: { + n_antenna_dl: 1, /* number of DL antennas */ + n_antenna_ul: 1, /* number of UL antennas */ + n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */ + cyclic_prefix: "normal", + + phich_duration: "normal", + phich_resource: "1", /* ratio of NG */ + + /* System Information Block type 1 */ + sib1: "amarisoft_sib1.asn", + + /* other SIBs, in same order as the scheduling list in SIB 1 */ + sib_sched_list: [ "amarisoft_sib23.asn" ], + + si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */ + si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH + for SI/RA/P-RNTI */ + + n_symb_cch: 4, /* number of symbols for CCH */ + + /* PDSCH dedicated config (currently same for all UEs) */ + pdsch_dedicated: { + p_a: 0, + }, + + /* If defined, force for number of CCEs for UE specific PDCCH to + 2^pdcch_format. Otherwise it is computed from the reported + CQI. Range: 0 to 3. */ + pdcch_format: 1, + + /* if defined, force the PDSCH MCS for all UEs. Otherwise it is + computed from the reported CQI */ + /* pdsch_mcs: 12, */ + + /* PUSCH dedicated config (currently same for all UEs) */ + pusch_dedicated: { + beta_offset_ack_index: 9, + beta_offset_ri_index: 6, + beta_offset_cqi_index: 6, + }, + + /* MCS for Msg3 (=CCCH RRC Connection Request) */ + pusch_msg3_mcs: 0, + + /* this CQI value is assumed when none is received from the UE */ + initial_cqi: 5, + + /* if defined, force the PUSCH MCS for all UEs. Otherwise it is + computed from the last received SRS/PUSCH. */ + // pusch_mcs: 18, + + transmission_mode: ${enb.transmission_mode}, + + /* Scheduling request period (ms). Must be >= 40 for HD-FDD */ + sr_period: 20, + + /* CQI report config */ + cqi_period: 40, /* 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, + + /* SRS dedicated config. All UEs share these + parameters. srs_config_index and freq_domain_position are + allocated for each UE) */ + srs_dedicated: { + srs_period: 80, /* period (ms). Must be >= 40 for HD-FDD */ + srs_bandwidth: 1, + srs_hopping_bandwidth: 0, + }, + + /* MAC configuration (same for all UEs) */ + mac_config: { + ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */ + dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */ + }, + + /* CPU load limitation */ + pusch_max_its: 6, /* max number of turbo decoder iterations */ + + /* dynamic power control */ + dpc: true, + dpc_pusch_snr_target: 15, + dpc_pucch_snr_target: 10, + + /* RRC/UP ciphering algorithm preference. EEA0 is always the last. */ + cipher_algo_pref: [], + /* RRC integrity algorithm preference. EIA0 is always the last. */ + integ_algo_pref: [2, 1], + + /* (in ms) send RRC connection release after this time of network + inactivity */ + inactivity_timer: 10000, + + /* SRB configuration */ + srb_config: [ + { + id: 1, + maxRetxThreshold: 32, + t_Reordering: 45, + t_PollRetransmit: 60, + }, + { + id: 2 , + maxRetxThreshold: 32, + t_Reordering: 45, + t_PollRetransmit: 60, + } + ], + + /* DRB configuration */ + drb_config: "amarisoft_drb.cfg", + }, +} diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl new file mode 100644 index 0000000..bbf9b47 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -0,0 +1,20 @@ +/* Parameters for b2x0 UHD device version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +rf_driver: { + name: "${enb.rf_dev_type}", + sync: "none", + + /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ + args: "${enb.rf_dev_args}", + + /* Use this for bandwidth == 5 Mhz */ + //args: "send_frame_size=1024,recv_frame_size=1024", + + /* Use this for bandwidth < 5 Mhz */ + //args: "send_frame_size=512,recv_frame_size=512", +}, + +tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ +rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ +tx_time_offset: -150, /* in samples */ diff --git a/src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl b/src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl new file mode 100644 index 0000000..0fc5f13 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl @@ -0,0 +1,42 @@ +{ + message c1: systemInformationBlockType1: { + cellAccessRelatedInfo { + plmn-IdentityList { + { + plmn-Identity { /* patched by eNB */ + mcc { + 0, + 0, + 0 + }, + mnc { + 0, + 0 + } + }, + cellReservedForOperatorUse notReserved + } + }, + trackingAreaCode '0000'H, /* patched by eNB */ + cellIdentity '0000000'H, /* patched by eNB */ + cellBarred notBarred, + intraFreqReselection allowed, + csg-Indication FALSE + }, + cellSelectionInfo { + q-RxLevMin -70 + }, + p-Max 10, /* maximum power allowed for the UE (dBm) */ + freqBandIndicator 1, /* patched by eNB */ + schedulingInfoList { + { + si-Periodicity rf16, + sib-MappingInfo { + sibType3 + } + } + }, + si-WindowLength ms40, + systemInfoValueTag 8 + } +} diff --git a/src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl b/src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl new file mode 100644 index 0000000..c08b645 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl @@ -0,0 +1,116 @@ +{ + message c1: systemInformation: { + criticalExtensions systemInformation-r8: { + sib-TypeAndInfo { + sib2: { + radioResourceConfigCommon { + rach-ConfigCommon { + preambleInfo { + numberOfRA-Preambles n52 + }, + powerRampingParameters { + powerRampingStep dB2, + preambleInitialReceivedTargetPower dBm-104 + }, + ra-SupervisionInfo { + preambleTransMax n10, + ra-ResponseWindowSize sf10, + mac-ContentionResolutionTimer sf40 + }, + maxHARQ-Msg3Tx 5 + }, + bcch-Config { + modificationPeriodCoeff n4 + }, + pcch-Config { + defaultPagingCycle rf128, + nB oneT + }, + prach-Config { + rootSequenceIndex 0, /* patched by eNB */ + prach-ConfigInfo { + prach-ConfigIndex 15, /* 20 ms period, subframe 9 */ + highSpeedFlag FALSE, + zeroCorrelationZoneConfig 11, + prach-FreqOffset 0 + } + }, + pdsch-ConfigCommon { + referenceSignalPower -5, + p-b 1 + }, + pusch-ConfigCommon { + pusch-ConfigBasic { + n-SB 1, + hoppingMode interSubFrame, + pusch-HoppingOffset 2, + enable64QAM FALSE + }, + ul-ReferenceSignalsPUSCH { + groupHoppingEnabled FALSE, + groupAssignmentPUSCH 0, + sequenceHoppingEnabled FALSE, + cyclicShift 0 + } + }, + pucch-ConfigCommon { + deltaPUCCH-Shift ds2, + nRB-CQI 1, + nCS-AN 0, + n1PUCCH-AN 11 + }, + soundingRS-UL-ConfigCommon setup: { + srs-BandwidthConfig bw7, + srs-SubframeConfig sc3, + ackNackSRS-SimultaneousTransmission TRUE + }, + uplinkPowerControlCommon { + p0-NominalPUSCH -67, + alpha al07, + p0-NominalPUCCH -105, + deltaFList-PUCCH { + deltaF-PUCCH-Format1 deltaF0, + deltaF-PUCCH-Format1b deltaF3, + deltaF-PUCCH-Format2 deltaF1, + deltaF-PUCCH-Format2a deltaF2, + deltaF-PUCCH-Format2b deltaF2 + }, + deltaPreambleMsg3 4 + }, + ul-CyclicPrefixLength len1 + }, + ue-TimersAndConstants { + t300 ms200, + t301 ms200, + t310 ms200, + n310 n6, + t311 ms10000, + n311 n5 + }, + freqInfo { + additionalSpectrumEmission 1 + }, + timeAlignmentTimerCommon infinity + }, + sib3: { + cellReselectionInfoCommon { + q-Hyst dB2 + }, + cellReselectionServingFreqInfo { + s-NonIntraSearch 3, + threshServingLow 2, + cellReselectionPriority 6 + }, + intraFreqCellReselectionInfo { + q-RxLevMin -61, + p-Max 23, + s-IntraSearch 5, + presenceAntennaPort1 TRUE, + neighCellConfig '01'B, + t-ReselectionEUTRA 1 + } + } + } + } + } +} diff --git a/suites/4g/suite.conf b/suites/4g/suite.conf index 59e393a..c1086bc 100644 --- a/suites/4g/suite.conf +++ b/suites/4g/suite.conf @@ -3,7 +3,6 @@ - times: 1 enb: - times: 1 - type: srsenb modem: - times: 1 type: srsue -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 Gerrit-Change-Number: 17681 Gerrit-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 Mar 30 16:53:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:53:22 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 4: OK, back to my original opinion: the msgb_pull and msgb_push are very inexpensive operations, let's actually do always compose the mncc header regardless of whether it is going to be used in below conditions. So, to clarify, the loopback *is* conditional in this patch. -- 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: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Mar 2020 16:53:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:55:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:55:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Add RTP payload testing to performance tests In-Reply-To: References: Message-ID: pespin 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 3: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/3/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/3/bts/BTS_Tests.ttcn at 546 PS3, Line 546: setverdict(fail, "pars.num_rtpem_chans exceeds number of possible RTPEM channels"); You could print sizeof(vc_RTPEM) here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/3/bts/BTS_Tests.ttcn at 549 PS3, Line 549: for (var integer i := 0; i < sizeof(vc_RTPEM); i := i+1) { i < num_rtpem_chans https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/3/bts/BTS_Tests.ttcn at 637 PS3, Line 637: num_rtpem_chans := omit I wonder what's the point of using omit and isbound() and not simply passing 0 here... -- 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: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16:55: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 Mon Mar 30 16:55:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:55:59 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 4: let me remove the -1 since it is misleading... -- 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: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Mar 2020 16:55: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 Mon Mar 30 16:56:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 16:56:00 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: neels has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Removed Code-Review-1 by laforge -- 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: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 16:56:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 16:56:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: mgw: use library version of RTP_CodecPort_CtrlFunct In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 ) Change subject: mgw: use library version of RTP_CodecPort_CtrlFunct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17680 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I14f80051f6a168b7a8155c6e523c085e974b62b5 Gerrit-Change-Number: 17680 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 16: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 Mar 30 17:04:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 17:04:59 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: pespin 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 2: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg File doc/examples/mobile/multi_ms.cfg: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/doc/examples/mobile/multi_ms.cfg at 63 PS2, Line 63: io-target none io-target sounds confusing. What about audio "route/routing" concept as in alsa? https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c File src/host/layer23/src/mobile/vty_interface.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 1538 PS2, Line 1538: vty_out(vty, " no io-target%s", VTY_NEWLINE); why there's a "no"? simply have io-target none. And if it's the default, then don't print it. https://gerrit.osmocom.org/c/osmocom-bb/+/17593/2/src/host/layer23/src/mobile/vty_interface.c at 2780 PS2, Line 2780: "no io-target", NO_STR "Disable TCH frame processing") You can drop this one, rather have a io-target none -- 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: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 17:04: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 Mon Mar 30 17:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Mar 2020 17:07:08 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 ) Change subject: gsup: send RAT type on LU ...................................................................... Patch Set 1: That's weird -- in my memory I looked for anything in 29.002 reflecting the RAT type in the MAP_UPDATE_LOCATION, and only found the list of supported RAT types. I don't recall that we actually also added a current_rat_type, but it is listed in the libosmocore log as authored by me. I am certain that I wouldn't have bothered with the weird list of supported RAT types if there had been a simple current-RAT-type indicator in the MAP protocol. Was my patch amended by someone else ... or did I come here from an alternate timeline? (would explain the weird worldwide curfew, too) -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 30 Mar 2020 17:07:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 17:26:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 17:26:37 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce initial Amarisoft ENB support In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 ) Change subject: Introduce initial Amarisoft ENB support ...................................................................... Introduce initial Amarisoft ENB support * object class expects the amarisoft software to be placed in directory provided by env var AMARISOFT_PATH_ENB. On local runs, it will run the software from there. On remote runs it will copy over that directory to the slave. * Configuration provided works with 6 PRBs, but probably won't work for other values (yet). * ZMQ support not yet available, only UHD. One can select the Amarisoft ENB by declaring it in resources.conf: """ - label: AmarisoftENB-B200 type: amarisoftenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=317B9FE,recv_frame_size=9232,send_frame_size=9232" remote_user: jenkins addr: 10.12.1.206 """ And running: """ $ export AMARISOFT_PATH_ENB=/path/to/binaries $ osmo-gsm-tester.py ... -s 4g:amarisoftenb-rftype at uhd+srsue-rftype@UHD+mod-enb-nprb at 6 -t ping """ Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 --- M example/defaults.conf A example/scenarios/amarisoftenb-rftype at .conf A src/osmo_gsm_tester/amarisoft_enb.py A src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py A src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl A src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl M suites/4g/suite.conf 12 files changed, 1,064 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/81/17681/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 Gerrit-Change-Number: 17681 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 Mon Mar 30 17:58:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 17:58:50 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17677 ) Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 17:58: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 Mar 30 17:59:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 17:59:43 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests 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/+/17677 to look at the new patch set (#3). Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... ttcn3-bsc-test: Enable CBSP tests for some strange reason, the tests developed + merged in September 2019 are not yet automatically executed. Let's fix that. "latest" should work fine, the BSC side code was already present in 1.6.0 Change-Id: I4408265d1be900359256f5cab553893d03cc8362 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/osmo-bsc.cfg 2 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/77/17677/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Mar 30 18:00:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 18:00:45 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests 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/+/17677 to look at the new patch set (#4). Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... ttcn3-bsc-test: Enable CBSP tests for some strange reason, the tests developed + merged in September 2019 are not yet automatically executed. Let's fix that. "latest" should work fine, the BSC side code was already present in 1.6.0 Change-Id: I4408265d1be900359256f5cab553893d03cc8362 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/osmo-bsc.cfg 2 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/77/17677/4 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 Gerrit-PatchSet: 4 Gerrit-Owner: laforge 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 Mar 30 18:01:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 18:01:04 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17677 ) Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... Patch Set 4: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 18:01: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 Mar 30 18:01:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 18:01:06 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc-test: Enable CBSP tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/17677 ) Change subject: ttcn3-bsc-test: Enable CBSP tests ...................................................................... ttcn3-bsc-test: Enable CBSP tests for some strange reason, the tests developed + merged in September 2019 are not yet automatically executed. Let's fix that. "latest" should work fine, the BSC side code was already present in 1.6.0 Change-Id: I4408265d1be900359256f5cab553893d03cc8362 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/osmo-bsc.cfg 2 files changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index 4a08617..a27d099 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -23,9 +23,14 @@ sio := '83'O, rctx := 1 }; +BSC_Tests_CBSP.mp_cgi_bts0 := { '001'H, '01'H, 1, 0 }; +BSC_Tests_CBSP.mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; +BSC_Tests_CBSP.mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; +BSC_Tests_CBSP.mp_cgi_bts3 := { '001'H, '01'H, 3, 3 }; [MAIN_CONTROLLER] [EXECUTE] BSC_Tests.control BSC_Tests_LCLS.control +BSC_Tests_CBSP.control diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 4f8fdc2..ba3676c 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -400,3 +400,8 @@ access-list-name bsc-list ctrl bind 0.0.0.0 +cbc + remote-ip 172.18.2.203 + remote-port 48049 + listen-ip 172.18.2.20 + listen-port 48050 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4408265d1be900359256f5cab553893d03cc8362 Gerrit-Change-Number: 17677 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 18:21:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 18:21:19 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17673 ) Change subject: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3da62249a4d62078b79ce5e79c86923e59c1e457 Gerrit-Change-Number: 17673 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 18:21: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 Mar 30 18:22:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 18:22:19 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17674 ) Change subject: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If51052af04289f10bfaefd5374049908de05319a Gerrit-Change-Number: 17674 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 18: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 Mar 30 18:23:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 18:23:00 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17675 ) Change subject: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16dd29d2f1e14e634029195599fa49a9be9219ab Gerrit-Change-Number: 17675 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 18:23: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 Mar 30 18:23:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 18:23:04 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17673 ) Change subject: trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() ...................................................................... trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter() Change-Id: I3da62249a4d62078b79ce5e79c86923e59c1e457 --- M src/target/trx_toolkit/trx_sniff.py 1 file changed, 13 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 6671c35..5667df2 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -4,7 +4,7 @@ # TRX Toolkit # Scapy-based TRX interface sniffer # -# (C) 2018-2019 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy # # All Rights Reserved # @@ -22,7 +22,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -APP_CR_HOLDERS = [("2018-2019", "Vadim Yanitskiy ")] +APP_CR_HOLDERS = [("2018-2020", "Vadim Yanitskiy ")] import logging as log import argparse @@ -119,8 +119,7 @@ return # Poke burst pass filter - rc = self.burst_pass_filter(l12trx, msg.fn, msg.tn) - if rc is False: + if not self.burst_pass_filter(msg): self.cnt_burst_dropped_num += 1 return @@ -136,25 +135,27 @@ if rc is True: self.shutdown() - def burst_pass_filter(self, l12trx, fn, tn): + def burst_pass_filter(self, msg): # Direction filter if self.argv.direction is not None: - if self.argv.direction == "TRX" and not l12trx: - return False - elif self.argv.direction == "L1" and l12trx: - return False + if self.argv.direction == "TRX": # L1 -> TRX + if not isinstance(msg, DATAMSG_L12TRX): + return False + elif self.argv.direction == "L1": # TRX -> L1 + if not isinstance(msg, DATAMSG_TRX2L1): + return False # Timeslot filter if self.argv.pf_tn is not None: - if tn != self.argv.pf_tn: + if msg.tn != self.argv.pf_tn: return False # Frame number filter if self.argv.pf_fn_lt is not None: - if fn > self.argv.pf_fn_lt: + if msg.fn > self.argv.pf_fn_lt: return False if self.argv.pf_fn_gt is not None: - if fn < self.argv.pf_fn_gt: + if msg.fn < self.argv.pf_fn_gt: return False # Burst passed ;) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17673 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3da62249a4d62078b79ce5e79c86923e59c1e457 Gerrit-Change-Number: 17673 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 Mar 30 18:23:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 18:23:05 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17674 ) Change subject: trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications ...................................................................... trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications Change-Id: If51052af04289f10bfaefd5374049908de05319a --- M src/target/trx_toolkit/trx_sniff.py 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 5667df2..1417664 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -158,6 +158,12 @@ if msg.fn < self.argv.pf_fn_gt: return False + # Message type specific filtering + if isinstance(msg, DATAMSG_TRX2L1): + # NOPE.ind filter + if not self.argv.pf_nope_ind and msg.nope_ind: + return False + # Burst passed ;) return True @@ -258,6 +264,9 @@ pf_group.add_argument("--frame-num-gt", metavar = "FN", dest = "pf_fn_gt", type = int, help = "TDMA frame number (greater than FN)") + pf_group.add_argument("--no-nope-ind", + dest = "pf_nope_ind", action = "store_false", + help = "Ignore NOPE.ind (NOPE / IDLE indications)") return parser.parse_args() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: If51052af04289f10bfaefd5374049908de05319a Gerrit-Change-Number: 17674 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 Mar 30 18:23:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Mar 2020 18:23:05 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17675 ) Change subject: trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI ...................................................................... trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI Change-Id: I16dd29d2f1e14e634029195599fa49a9be9219ab --- M src/target/trx_toolkit/trx_sniff.py 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/trx_sniff.py b/src/target/trx_toolkit/trx_sniff.py index 1417664..0cb62d3 100755 --- a/src/target/trx_toolkit/trx_sniff.py +++ b/src/target/trx_toolkit/trx_sniff.py @@ -164,6 +164,14 @@ if not self.argv.pf_nope_ind and msg.nope_ind: return False + # RSSI filter + if self.argv.pf_rssi_min is not None: + if msg.rssi < self.argv.pf_rssi_min: + return False + if self.argv.pf_rssi_max is not None: + if msg.rssi > self.argv.pf_rssi_max: + return False + # Burst passed ;) return True @@ -267,6 +275,12 @@ pf_group.add_argument("--no-nope-ind", dest = "pf_nope_ind", action = "store_false", help = "Ignore NOPE.ind (NOPE / IDLE indications)") + pf_group.add_argument("--rssi-min", metavar = "RSSI", + dest = "pf_rssi_min", type = int, + help = "Minimum RSSI value (e.g. -75)") + pf_group.add_argument("--rssi-max", metavar = "RSSI", + dest = "pf_rssi_max", type = int, + help = "Maximum RSSI value (e.g. -50)") return parser.parse_args() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I16dd29d2f1e14e634029195599fa49a9be9219ab Gerrit-Change-Number: 17675 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 Mar 30 18:48:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 30 Mar 2020 18:48:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 ) Change subject: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match ...................................................................... bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match We want to make sure that the tests + config match Change-Id: I9d6ed0aed34bb983c8db225c7762ceffa642decd --- M bsc/BSC_Tests_CBSP.ttcn M bsc/osmo-bsc.cfg 2 files changed, 16 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/17682/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index bf1d99e..ff054fe 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -42,14 +42,14 @@ integer mp_cbc_port := 48049; integer mp_bsc_cbsp_port := 48050; - /* BTS 0: 262-42-1-0 with CBCH - * BTS 1: 262-42-1-1 with CBCH - * BTS 2: 262-42-2-1 with CBCH - * BTS 3: 262-42-2-3 without CBCH */ - GsmCgiAbstract mp_cgi_bts0 := { '262'H, '42'H, 1, 0 }; - GsmCgiAbstract mp_cgi_bts1 := { '262'H, '42'H, 1, 1 }; - GsmCgiAbstract mp_cgi_bts2 := { '262'H, '42'H, 2, 1 }; - GsmCgiAbstract mp_cgi_bts3 := { '262'H, '42'H, 2, 3 }; + /* BTS 0: 001-01-1-0 with CBCH + * BTS 1: 001-01-1-1 with CBCH + * BTS 2: 001-01-2-1 with CBCH + * BTS 3: 001-01-2-3 without CBCH */ + GsmCgiAbstract mp_cgi_bts0 := { '001'H, '01'H, 1, 0 }; + GsmCgiAbstract mp_cgi_bts1 := { '001'H, '01'H, 1, 1 }; + GsmCgiAbstract mp_cgi_bts2 := { '001'H, '01'H, 2, 1 }; + GsmCgiAbstract mp_cgi_bts3 := { '001'H, '01'H, 2, 3 }; } private type record GsmCgiAbstract { diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 74fe255..f490433 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -134,7 +134,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -224,7 +224,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -314,7 +314,7 @@ max_power_red 20 rsl e1 tei 0 timeslot 0 - phys_chan_config CCCH+SDCCH4 + phys_chan_config CCCH+SDCCH4+CBCH hopping enabled 0 timeslot 1 phys_chan_config TCH/F @@ -341,7 +341,7 @@ type sysmobts band DCS1800 cell_identity 3 - location_area_code 3 + location_area_code 2 # re-use bts 2's ARFCN 871 and BSIC 12 (to test handover config) base_station_id_code 12 trx 0 @@ -387,3 +387,7 @@ mid-call-timeout 0 no missing-msc-text access-list-name bsc-list +cbc + remote-ip 127.0.0.1 + remote-port 48049 + listen-port 48050 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9d6ed0aed34bb983c8db225c7762ceffa642decd Gerrit-Change-Number: 17682 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 Mar 30 19:11:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 19:11:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 ) Change subject: bsc: Ensure osmo-bsc.fg + BSC_Tests_CBSP.ttcn defaults match ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17682 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9d6ed0aed34bb983c8db225c7762ceffa642decd Gerrit-Change-Number: 17682 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Mar 2020 19:11: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 Mar 30 20:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Mar 2020 20:02:40 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set 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/+/17604 to look at the new patch set (#2). 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, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/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: 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 Mar 30 20:02:56 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Mar 2020 20:02:56 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: dexter 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 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17604/1/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/1/src/logging.c at 1065 PS1, Line 1065: LOGL_NOTICE; > cosmetic: no need to break the line. [?] Done -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 30 Mar 2020 20:02:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 30 21:31:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Mar 2020 21:31:35 +0000 Subject: Change in osmo-gsm-tester[master]: srs_enb: enable console trace, use RemoteProcess class and fix params In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587 ) Change subject: srs_enb: enable console trace, use RemoteProcess class and fix params ...................................................................... srs_enb: enable console trace, use RemoteProcess class and fix params In order for the console trace to work over SSH this commit switches to use the default RemoteProcess class. Note that srsENB now correctly handles the SIGHUP signal. The commit also remove a few unneeded params of the eNB. Change-Id: If5af43effa9145b6764a32557a20a2e1760f0486 --- 0 files changed, 0 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: If5af43effa9145b6764a32557a20a2e1760f0486 Gerrit-Change-Number: 17587 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 Tue Mar 31 07:44:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 07:44:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 ) Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... BTS: fix as_l1_count_paging(): do not count PCH filling messages Since build #842, both TC_paging_{i|t}msi_80percent started to fail: "BTS_Tests.ttcn:3051 : Expected 271 pagings but have 284" BTS_Tests.ttcn:6414 BTS_Tests control part BTS_Tests.ttcn:3051 TC_paging_imsi_80percent testcase "BTS_Tests.ttcn:3075 : Expected 543 pagings but have 553" BTS_Tests.ttcn:6415 BTS_Tests control part BTS_Tests.ttcn:3075 TC_paging_tmsi_80percent testcase As it turns out, since If5339c7a91b4e0188194f1cd935798f153974e01 TITAN can decode PCH filling messages with no Mobile Identity. We should not count them in as_l1_count_paging(), as they're sent by osmo-bts itself. Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Fixes: OS#4475 --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/17683/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a2b4af7..31c11fa 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2866,7 +2866,9 @@ check_pch_fn(dl.dl_info.frame_nr, cfg.bs_ag_blks_res); - if (match(rr, tr_PAGING_REQ1)) { + if (match(rr, tr_PAGING_REQ1(tr_MI_LV(t_MI_NoIdentity(?))))) { + /* Ignore rmpty RR Paging Request (PCH filling) */ + } else if (match(rr, tr_PAGING_REQ1)) { num_paging_rcv_msgs := num_paging_rcv_msgs + 1; num_paging_rcv_ids := num_paging_rcv_ids + 1; if (ispresent(rr.msgs.rrm.pagingReq_Type1.mobileIdentity2)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 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 Mar 31 08:02:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:02:28 +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 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c at 1046 PS2, Line 1046: osmo_log_info->cat As an alternative solution (preferred), we can use a temporary pointer here, and then assign its value to osmo_log_info->cat: struct log_info_cat *cat = talloc_zero_array(...); // Do whatever we need to do ... osmo_log_info->cat = cat; https://gerrit.osmocom.org/c/libosmocore/+/17604/2/src/logging.c at 1064 PS2, Line 1064: *(uint8_t*) (& AFAIU, this is needed because struct log_info_cat *cat is marked as const. Can we just drop this qualifier? -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 31 Mar 2020 08:02:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 31 08:07:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:07:41 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17672/1/src/coding/gsm0503_coding.c File src/coding/gsm0503_coding.c: https://gerrit.osmocom.org/c/libosmocore/+/17672/1/src/coding/gsm0503_coding.c at 1335 PS1, Line 1335: * \returns bumber of bits encoded; negative on error */ > hey, I have the copyright on typos, not you! :DDD -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Mar 2020 08:07: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 Tue Mar 31 08:07:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:07:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 ) Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683/1/bts/BTS_Tests.ttcn at 2870 PS1, Line 2870: /* Ignore rmpty RR Paging Request (PCH filling) */ typo empty. May it make sense to count the empty ones and then verify it's consistent? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 08:07: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 Tue Mar 31 08:07:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:07:53 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding 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/libosmocore/+/17672 to look at the new patch set (#2). Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... coding: fix documentation of PDTCH encoding functions Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def --- M src/coding/gsm0503_coding.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/17672/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 31 08:07:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:07:55 +0000 Subject: Change in libosmocore[master]: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17684 ) Change subject: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h ...................................................................... tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h Change-Id: Ie6278d84d405f073669e607f978ca5b187bcf78e --- M tests/coding/coding_test.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/17684/1 diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 4224505..2d7fa47 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -422,8 +422,8 @@ { int i, len_l2, len_mb; - len_l2 = sizeof(test_l2) / sizeof(test_l2[0]); - len_mb = sizeof(test_macblock) / sizeof(test_macblock[0]); + len_l2 = ARRAY_SIZE(test_l2); + len_mb = ARRAY_SIZE(test_macblock); for (i = 0; i < len_l2; i++) test_xcch(test_l2[i]); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6278d84d405f073669e607f978ca5b187bcf78e Gerrit-Change-Number: 17684 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 Mar 31 08:10:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:10:01 +0000 Subject: Change in libosmocore[master]: coding: fix documentation of PDTCH encoding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17672 ) Change subject: coding: fix documentation of PDTCH encoding functions ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia38723fb9424551eaf5747d736ae73ab20873def Gerrit-Change-Number: 17672 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Mar 2020 08: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 Mar 31 08:10:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:10:29 +0000 Subject: Change in libosmocore[master]: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17684 ) Change subject: tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17684 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6278d84d405f073669e607f978ca5b187bcf78e Gerrit-Change-Number: 17684 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 31 Mar 2020 08:10: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 Mar 31 08:22:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:22:15 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce initial Amarisoft ENB support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 ) Change subject: Introduce initial Amarisoft ENB support ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 Gerrit-Change-Number: 17681 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 08:22: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 Mar 31 08:22:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:22:19 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce initial Amarisoft ENB support In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 ) Change subject: Introduce initial Amarisoft ENB support ...................................................................... Introduce initial Amarisoft ENB support * object class expects the amarisoft software to be placed in directory provided by env var AMARISOFT_PATH_ENB. On local runs, it will run the software from there. On remote runs it will copy over that directory to the slave. * Configuration provided works with 6 PRBs, but probably won't work for other values (yet). * ZMQ support not yet available, only UHD. One can select the Amarisoft ENB by declaring it in resources.conf: """ - label: AmarisoftENB-B200 type: amarisoftenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=317B9FE,recv_frame_size=9232,send_frame_size=9232" remote_user: jenkins addr: 10.12.1.206 """ And running: """ $ export AMARISOFT_PATH_ENB=/path/to/binaries $ osmo-gsm-tester.py ... -s 4g:amarisoftenb-rftype at uhd+srsue-rftype@UHD+mod-enb-nprb at 6 -t ping """ Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 --- M example/defaults.conf A example/scenarios/amarisoftenb-rftype at .conf A src/osmo_gsm_tester/amarisoft_enb.py A src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py A src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl A src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl A src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl M suites/4g/suite.conf 12 files changed, 1,064 insertions(+), 16 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/defaults.conf b/example/defaults.conf index 2708b18..bcd1fa2 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -99,14 +99,21 @@ rlc_drb_mode: UM enable_pcap: false -srsenb: +enb: mcc: 901 mnc: 70 - num_prb: 100 transmission_mode: 1 - enable_pcap: false num_cells: 1 +srsenb: + num_prb: 100 + enable_pcap: false + +amarisoftenb: + license_server_addr: 10.12.1.139 + num_prb: 100 + enable_pcap: false + srsue: enable_pcap: false airplane_t_on_ms: -1 diff --git a/example/scenarios/amarisoftenb-rftype at .conf b/example/scenarios/amarisoftenb-rftype at .conf new file mode 100644 index 0000000..137458a --- /dev/null +++ b/example/scenarios/amarisoftenb-rftype at .conf @@ -0,0 +1,4 @@ +resources: + enb: + - type: amarisoftenb + rf_dev_type: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py new file mode 100644 index 0000000..e16fe7f --- /dev/null +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -0,0 +1,242 @@ +# osmo_gsm_tester: specifics for running an SRS eNodeB process +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# 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 +import pprint + +from . import log, util, config, template, process, remote +from . import enb + +def rf_type_valid(rf_type_str): + return rf_type_str in ('uhd') + +#reference: srsLTE.git srslte_symbol_sz() +def num_prb2symbol_sz(num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + +def num_prb2base_srate(num_prb): + return num_prb2symbol_sz(num_prb) * 15 * 1000 + +class AmarisoftENB(enb.eNodeB): + + REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' + BINFILE = 'lteenb' + CFGFILE = 'amarisoft_enb.cfg' + CFGFILE_SIB1 = 'amarisoft_sib1.asn' + CFGFILE_SIB23 = 'amarisoft_sib23.asn' + CFGFILE_RF = 'amarisoft_rf_driver.cfg' + CFGFILE_DRB = 'amarisoft_drb.cfg' + LOGFILE = 'lteenb.log' + + def __init__(self, suite_run, conf): + super().__init__(suite_run, conf, 'amarisoftenb') + self.ue = None + self.epc = None + self.run_dir = None + self._bin_prefix = None + self.config_file = None + self.config_sib1_file = None + self.config_sib23_file = None + self.config_rf_file = None + self.config_drb_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_config_file = None + self.remote_config_sib1_file = None + self.remote_config_sib23_file = None + self.remote_config_rf_file = None + self.remote_config_drb_file = None + self.remote_log_file = None + self._num_prb = 0 + self._txmode = 0 + self.suite_run = suite_run + 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)) + + def bin_prefix(self): + if self._bin_prefix is None: + self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', AmarisoftENB.REMOTE_DIR) + return self._bin_prefix + + def cleanup(self): + if self.process is None: + return + if self.setup_runs_locally(): + return + # 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) + 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 + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + self._start() + + # send t+Enter to enable console trace + self.dbg('Enabling console trace') + self.process.stdin_write('t\n') + + def _start(self): + if self.setup_runs_locally(): + 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) + args = (binary, os.path.abspath(self.config_file)) + self.process = process.Process(self.name(), self.run_dir, args, env=env) + else: + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst } + remote_binary = self.remote_inst.child('', AmarisoftENB.BINFILE) + 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.process.launch() + + def gen_conf_file(self, path, filename, values): + self.dbg('AmarisoftENB ' + filename + ':\n' + pprint.pformat(values)) + with open(path, 'w') as f: + r = template.render(filename, values) + self.dbg(r) + f.write(r) + + def configure(self): + + self.inst = util.Dir(os.path.abspath(self.bin_prefix())) + lib = self.inst.child('lib') + if not self.inst.isfile('', AmarisoftENB.BINFILE): + raise log.Error('No %s binary in' % AmarisoftENB.BINFILE, self.inst) + + self.config_file = self.run_dir.child(AmarisoftENB.CFGFILE) + self.config_sib1_file = self.run_dir.child(AmarisoftENB.CFGFILE_SIB1) + self.config_sib23_file = self.run_dir.child(AmarisoftENB.CFGFILE_SIB23) + self.config_rf_file = self.run_dir.child(AmarisoftENB.CFGFILE_RF) + 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) + 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)) + + self.remote_config_file = remote_run_dir.child(AmarisoftENB.CFGFILE) + self.remote_config_sib1_file = remote_run_dir.child(AmarisoftENB.CFGFILE_SIB1) + self.remote_config_sib23_file = remote_run_dir.child(AmarisoftENB.CFGFILE_SIB23) + self.remote_config_rf_file = remote_run_dir.child(AmarisoftENB.CFGFILE_RF) + self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) + self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) + + values = dict(enb=config.get_defaults('enb')) + config.overlay(values, dict(enb=config.get_defaults('amarisoftenb'))) + config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + config.overlay(values, dict(enb=self._conf)) + config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + self._txmode = int(values['enb'].get('transmission_mode', None)) + assert self._txmode + self._num_cells = int(values['enb'].get('num_cells', None)) + assert self._num_cells + config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) + + logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + config.overlay(values, dict(enb=dict(log_filename=logfile))) + + self.gen_conf_file(self.config_file, AmarisoftENB.CFGFILE, values) + self.gen_conf_file(self.config_sib1_file, AmarisoftENB.CFGFILE_SIB1, values) + self.gen_conf_file(self.config_sib23_file, AmarisoftENB.CFGFILE_SIB23, values) + 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(): + 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.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file) + self.rem_host.scp('scp-cfg-sib1-to-remote', self.config_sib1_file, self.remote_config_sib1_file) + self.rem_host.scp('scp-cfg-sib23-to-remote', self.config_sib23_file, self.remote_config_sib23_file) + self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rf_file, self.remote_config_rf_file) + self.rem_host.scp('scp-cfg-drb-to-remote', self.config_drb_file, self.remote_config_drb_file) + + def ue_add(self, ue): + if self.ue is not None: + raise log.Error("More than one UE per ENB not yet supported (ZeroMQ)") + self.ue = ue + + def running(self): + return not self.process.terminated() + + def num_prb(self): + return self._num_prb + + def num_ports(self): + if self._txmode == 1: + return 1 + return 2 + + def ue_max_rate(self, downlink=True): + # The max rate for a single UE per PRB configuration in TM1 + 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 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 diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py new file mode 100644 index 0000000..f6b7722 --- /dev/null +++ b/src/osmo_gsm_tester/enb.py @@ -0,0 +1,67 @@ +# osmo_gsm_tester: base classes to share code among eNodeB subclasses. +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# 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 . + +from abc import ABCMeta, abstractmethod +from . import log + + +class eNodeB(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, suite_run, 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.set_name('%s_%s' % (name, self._addr)) + +######################## +# PUBLIC - INTERNAL API +######################## + def cleanup(self): + 'Nothing to do by default. Subclass can override if required.' + pass + +################### +# PUBLIC (test API included) +################### + @abstractmethod + def start(self, epc): + 'Starts ENB, it will connect to "epc"' + pass + + @abstractmethod + def ue_add(self, ue): + pass + + @abstractmethod + def running(self): + pass + + @abstractmethod + def ue_max_rate(self, downlink=True): + pass + + def addr(self): + return self._addr + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index bb44f39..d14ee96 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, srs_enb +from . import srs_ue, srs_enb, amarisoft_enb from .util import is_dict, is_list @@ -140,6 +140,7 @@ KNOWN_ENB_TYPES = { 'srsenb': srs_enb.srsENB, + 'amarisoftenb': amarisoft_enb.AmarisoftENB, } KNOWN_MS_TYPES = { diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 772b447..f5d3fdf 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -21,6 +21,7 @@ import pprint from . import log, util, config, template, process, remote +from . import enb def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF') @@ -44,7 +45,7 @@ def num_prb2base_srate(num_prb): return num_prb2symbol_sz(num_prb) * 15 * 1000 -class srsENB(log.Origin): +class srsENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-srsenb' BINFILE = 'srsenb' @@ -56,12 +57,7 @@ PCAPFILE = 'srsenb.pcap' def __init__(self, suite_run, conf): - super().__init__(log.C_RUN, 'srsenb') - self._conf = conf - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - self.set_name('srsenb_%s' % self._addr) + super().__init__(suite_run, conf, srsENB.BINFILE) self.ue = None self.epc = None self.run_dir = None @@ -188,7 +184,8 @@ def gen_conf_file(self, path, filename): self.dbg(config_file=path) - values = dict(enb=config.get_defaults('srsenb')) + values = dict(enb=config.get_defaults('enb')) + config.overlay(values, dict(enb=config.get_defaults('srsenb'))) config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) config.overlay(values, dict(enb=self._conf)) config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) @@ -245,9 +242,6 @@ def running(self): return not self.process.terminated() - def addr(self): - return self._addr - def num_prb(self): return self._num_prb diff --git a/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl new file mode 100644 index 0000000..a200063 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl @@ -0,0 +1,364 @@ +/* DRB configuration for each QCI value. If no corresponding QCI is + found, QCI = 9 is used instead. + QCI characteristics in TS 23.203 table 6.1.7 */ +[ + /**************************************** GBR */ + { + qci: 1, /* UM - real time (RTP for VOIP) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 7, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 5, + }, + dl_um: { + sn_FieldLength: 5, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + /* Note: SRB1 has priority 1, SRB2 has priority 3. + We start from 4 for priority 0.5 and increase the value */ + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 2, /* UM - real time (video) */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + priority: 9, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 3, /* UM - real time (gaming) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + priority: 8, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 4, /* AM - Non-Conversational Video (Buffered Streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 10, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 65, /* UM - real time (MC-PTT voice) */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 7, + /* ROHC header compression */ + /* + headerCompression: { + maxCID: 15, + profile0x0001: true, // RTP profile + profile0x0002: true, // UDP profile + profile0x0004: false, // IP profile + }, + */ + }, + rlc_config: { + ul_um: { + sn_FieldLength: 5, + }, + dl_um: { + sn_FieldLength: 5, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + /* Note: SRB1 has priority 1, SRB2 has priority 3. We add an + offset of 4 to the standard priorities */ + priority: 5, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 66, /* UM - real time (non MC-PTT voice) */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + /* Note: SRB1 has priority 1, SRB2 has priority 3. + We start from 4 for priority 0.5, ... */ + priority: 7, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + /**************************************** non GBR */ + { + qci: 5, /* AM - high priority (SIP) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 6, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 6, /* AM - Video (buffered streaming) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 12, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 7, /* UM - voice, video (live streaming), interactive gaming */ + pdcp_config: { + discardTimer: 100, /* in ms, 0 means infinity */ + pdcp_SN_Size: 12, + }, + rlc_config: { + ul_um: { + sn_FieldLength: 10, + }, + dl_um: { + sn_FieldLength: 10, + t_Reordering: 45, /* should be > to max_harq_tx * HARQ latency */ + }, + }, + logical_channel_config: { + priority: 13, + prioritisedBitRate: 0, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 8, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 14, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 9, /* AM - best effort (Internet traffic) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 15, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 3, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 69, /* AM - high priority (MC-PTT signalling) */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 4, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 1, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 70, /* AM - MC data */ + pdcp_config: { + discardTimer: 0, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 11, + prioritisedBitRate: 8, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 2, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, +] diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl new file mode 100644 index 0000000..73b4fd2 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -0,0 +1,192 @@ +/* lteenb configuration file version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +{ + + license_server: { + server_addr: "${enb.license_server_addr}", + name: "amarisoft", + }, + + + /* Log filter: syntax: layer.field=value[,...] + + Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and + all. The 'all' layer is used to address all the layers at the + same time. + + field values: + + - 'level': the log level of each layer can be set to 'none', + 'error', 'info' or 'debug'. Use 'debug' to log all the messages. + + - 'max_size': set the maximum size of the hex dump. 0 means no + hex dump. -1 means no limit. + */ + //log_options: "all.level=debug,all.max_size=32", + log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1", + log_filename: "${enb.log_filename}", + + /* Enable remote API and Web interface */ + com_addr: "${enb.addr}:9001", + + /* RF driver configuration */ + include "amarisoft_rf_driver.cfg", + + mme_list: [ + { + /* address of MME for S1AP connection. Must be modified if the MME + runs on a different host. */ + mme_addr: "${enb.mme_addr}", + }, + ], + /* GTP bind address (=address of the ethernet interface connected to + the MME). Must be modified if the MME runs on a different host. */ + gtp_addr: "${enb.addr}", + + /* high 20 bits of SIB1.cellIdentifier */ + enb_id: 0x19B, + + /* list of cells */ + cell_list: [ + { + /* Broadcasted PLMN identities */ + plmn_list: [ + "${enb.mcc}${enb.mnc}", + ], + + //dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */ + //dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */ + //dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */ + //dl_earfcn: 2150, /* DL center frequency: 2130 MHz (Band 4) */ + //dl_earfcn: 2525, /* DL center frequency: 881.5 MHz (Band 5) */ + dl_earfcn: 2850, /* DL center frequency: 2680 MHz (Band 7) */ + //dl_earfcn: 6300, /* 806 MHz (Band 20) */ + //dl_earfcn: 38050, /* 2600 MHz (band 38) */ + //dl_earfcn: 40620, /* 2593 MHz (band 41) */ + //dl_earfcn: 42590, /* 3500 MHz (band 42) */ + + n_id_cell: 1, + cell_id: 0x01, + tac: 0x0001, + root_sequence_index: 204, /* PRACH root sequence index */ + }, + ], /* cell_list */ + + /* default cell parameters */ + cell_default: { + n_antenna_dl: 1, /* number of DL antennas */ + n_antenna_ul: 1, /* number of UL antennas */ + n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */ + cyclic_prefix: "normal", + + phich_duration: "normal", + phich_resource: "1", /* ratio of NG */ + + /* System Information Block type 1 */ + sib1: "amarisoft_sib1.asn", + + /* other SIBs, in same order as the scheduling list in SIB 1 */ + sib_sched_list: [ "amarisoft_sib23.asn" ], + + si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */ + si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH + for SI/RA/P-RNTI */ + + n_symb_cch: 0, /* number of symbols for CCH (0 = auto) */ + + /* PDSCH dedicated config (currently same for all UEs) */ + pdsch_dedicated: { + p_a: 0, + }, + + /* If defined, force for number of CCEs for UE specific PDCCH to + 2^pdcch_format. Otherwise it is computed from the reported + CQI. Range: 0 to 3. */ + pdcch_format: 1, + + /* if defined, force the PDSCH MCS for all UEs. Otherwise it is + computed from the reported CQI */ + /* pdsch_mcs: 12, */ + + /* PUSCH dedicated config (currently same for all UEs) */ + pusch_dedicated: { + beta_offset_ack_index: 9, + beta_offset_ri_index: 6, + beta_offset_cqi_index: 6, + }, + + /* MCS for Msg3 (=CCCH RRC Connection Request) */ + pusch_msg3_mcs: 0, + + /* this CQI value is assumed when none is received from the UE */ + initial_cqi: 5, + + /* if defined, force the PUSCH MCS for all UEs. Otherwise it is + computed from the last received SRS/PUSCH. */ + // pusch_mcs: 18, + + transmission_mode: ${enb.transmission_mode}, + + /* Scheduling request period (ms). Must be >= 40 for HD-FDD */ + sr_period: 20, + + /* CQI report config */ + cqi_period: 40, /* 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, + + /* SRS dedicated config. All UEs share these + parameters. srs_config_index and freq_domain_position are + allocated for each UE) */ + srs_dedicated: { + srs_period: 80, /* period (ms). Must be >= 40 for HD-FDD */ + srs_bandwidth: 1, + srs_hopping_bandwidth: 0, + }, + + /* MAC configuration (same for all UEs) */ + mac_config: { + ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */ + dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */ + }, + + /* CPU load limitation */ + pusch_max_its: 6, /* max number of turbo decoder iterations */ + + /* dynamic power control */ + dpc: true, + dpc_pusch_snr_target: 15, + dpc_pucch_snr_target: 10, + + /* RRC/UP ciphering algorithm preference. EEA0 is always the last. */ + cipher_algo_pref: [], + /* RRC integrity algorithm preference. EIA0 is always the last. */ + integ_algo_pref: [2, 1], + + /* (in ms) send RRC connection release after this time of network + inactivity */ + inactivity_timer: 10000, + + /* SRB configuration */ + srb_config: [ + { + id: 1, + maxRetxThreshold: 32, + t_Reordering: 45, + t_PollRetransmit: 60, + }, + { + id: 2 , + maxRetxThreshold: 32, + t_Reordering: 45, + t_PollRetransmit: 60, + } + ], + + /* DRB configuration */ + drb_config: "amarisoft_drb.cfg", + }, +} diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl new file mode 100644 index 0000000..bbf9b47 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl @@ -0,0 +1,20 @@ +/* Parameters for b2x0 UHD device version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +rf_driver: { + name: "${enb.rf_dev_type}", + sync: "none", + + /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */ + args: "${enb.rf_dev_args}", + + /* Use this for bandwidth == 5 Mhz */ + //args: "send_frame_size=1024,recv_frame_size=1024", + + /* Use this for bandwidth < 5 Mhz */ + //args: "send_frame_size=512,recv_frame_size=512", +}, + +tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ +rx_gain: 60.0, /* RX gain (in dB) B2x0: 0 to 73 dB */ +tx_time_offset: -150, /* in samples */ diff --git a/src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl b/src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl new file mode 100644 index 0000000..0fc5f13 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_sib1.asn.tmpl @@ -0,0 +1,42 @@ +{ + message c1: systemInformationBlockType1: { + cellAccessRelatedInfo { + plmn-IdentityList { + { + plmn-Identity { /* patched by eNB */ + mcc { + 0, + 0, + 0 + }, + mnc { + 0, + 0 + } + }, + cellReservedForOperatorUse notReserved + } + }, + trackingAreaCode '0000'H, /* patched by eNB */ + cellIdentity '0000000'H, /* patched by eNB */ + cellBarred notBarred, + intraFreqReselection allowed, + csg-Indication FALSE + }, + cellSelectionInfo { + q-RxLevMin -70 + }, + p-Max 10, /* maximum power allowed for the UE (dBm) */ + freqBandIndicator 1, /* patched by eNB */ + schedulingInfoList { + { + si-Periodicity rf16, + sib-MappingInfo { + sibType3 + } + } + }, + si-WindowLength ms40, + systemInfoValueTag 8 + } +} diff --git a/src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl b/src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl new file mode 100644 index 0000000..c08b645 --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_sib23.asn.tmpl @@ -0,0 +1,116 @@ +{ + message c1: systemInformation: { + criticalExtensions systemInformation-r8: { + sib-TypeAndInfo { + sib2: { + radioResourceConfigCommon { + rach-ConfigCommon { + preambleInfo { + numberOfRA-Preambles n52 + }, + powerRampingParameters { + powerRampingStep dB2, + preambleInitialReceivedTargetPower dBm-104 + }, + ra-SupervisionInfo { + preambleTransMax n10, + ra-ResponseWindowSize sf10, + mac-ContentionResolutionTimer sf40 + }, + maxHARQ-Msg3Tx 5 + }, + bcch-Config { + modificationPeriodCoeff n4 + }, + pcch-Config { + defaultPagingCycle rf128, + nB oneT + }, + prach-Config { + rootSequenceIndex 0, /* patched by eNB */ + prach-ConfigInfo { + prach-ConfigIndex 15, /* 20 ms period, subframe 9 */ + highSpeedFlag FALSE, + zeroCorrelationZoneConfig 11, + prach-FreqOffset 0 + } + }, + pdsch-ConfigCommon { + referenceSignalPower -5, + p-b 1 + }, + pusch-ConfigCommon { + pusch-ConfigBasic { + n-SB 1, + hoppingMode interSubFrame, + pusch-HoppingOffset 2, + enable64QAM FALSE + }, + ul-ReferenceSignalsPUSCH { + groupHoppingEnabled FALSE, + groupAssignmentPUSCH 0, + sequenceHoppingEnabled FALSE, + cyclicShift 0 + } + }, + pucch-ConfigCommon { + deltaPUCCH-Shift ds2, + nRB-CQI 1, + nCS-AN 0, + n1PUCCH-AN 11 + }, + soundingRS-UL-ConfigCommon setup: { + srs-BandwidthConfig bw7, + srs-SubframeConfig sc3, + ackNackSRS-SimultaneousTransmission TRUE + }, + uplinkPowerControlCommon { + p0-NominalPUSCH -67, + alpha al07, + p0-NominalPUCCH -105, + deltaFList-PUCCH { + deltaF-PUCCH-Format1 deltaF0, + deltaF-PUCCH-Format1b deltaF3, + deltaF-PUCCH-Format2 deltaF1, + deltaF-PUCCH-Format2a deltaF2, + deltaF-PUCCH-Format2b deltaF2 + }, + deltaPreambleMsg3 4 + }, + ul-CyclicPrefixLength len1 + }, + ue-TimersAndConstants { + t300 ms200, + t301 ms200, + t310 ms200, + n310 n6, + t311 ms10000, + n311 n5 + }, + freqInfo { + additionalSpectrumEmission 1 + }, + timeAlignmentTimerCommon infinity + }, + sib3: { + cellReselectionInfoCommon { + q-Hyst dB2 + }, + cellReselectionServingFreqInfo { + s-NonIntraSearch 3, + threshServingLow 2, + cellReselectionPriority 6 + }, + intraFreqCellReselectionInfo { + q-RxLevMin -61, + p-Max 23, + s-IntraSearch 5, + presenceAntennaPort1 TRUE, + neighCellConfig '01'B, + t-ReselectionEUTRA 1 + } + } + } + } + } +} diff --git a/suites/4g/suite.conf b/suites/4g/suite.conf index 59e393a..c1086bc 100644 --- a/suites/4g/suite.conf +++ b/suites/4g/suite.conf @@ -3,7 +3,6 @@ - times: 1 enb: - times: 1 - type: srsenb modem: - times: 1 type: srsue -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 Gerrit-Change-Number: 17681 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 Mar 31 08:38:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:38:56 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding 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/libosmocore/+/17670 to look at the new patch set (#2). Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... tests/coding: check return value of encoding / decoding functions Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 --- M tests/coding/coding_test.c 1 file changed, 39 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/70/17670/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 31 08:38:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:38:56 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding 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/libosmocore/+/17671 to look at the new patch set (#2). Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests We don't really need additional 1.4M of debug output, given that we test every possible 8-bit and 11-bit RA value. It's enough to print error message if the resulting value does not match. Otherwise it's hard to read the expected output without commenting the related log statements out. Note that it's still possible to re-enable verbose debug output by defining DEBUG. Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 16 insertions(+), 34,570 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/17671/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 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 Mar 31 08:41:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:41:29 +0000 Subject: Change in libosmocore[master]: tests/coding: check return value of encoding / decoding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17670 ) Change subject: tests/coding: check return value of encoding / decoding functions ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78850a4ab2fb7cd63bb4a3789f934634b6fb2cb7 Gerrit-Change-Number: 17670 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Mar 2020 08:41: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 Mar 31 08:42:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:42:34 +0000 Subject: Change in libosmocore[master]: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17671 ) Change subject: tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d5ed90cb0a2b3007d665520a73b0fa0b86a4099 Gerrit-Change-Number: 17671 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 08:42: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 Mar 31 08:46:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:46:22 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: start_locally(): Fix missing class name in attribute access References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17685 ) Change subject: srsenb: start_locally(): Fix missing class name in attribute access ...................................................................... srsenb: start_locally(): Fix missing class name in attribute access Change-Id: I5e11dc9c3c0dcf4808a3ad67fe96580480fe47d1 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/17685/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index f5d3fdf..1df8074 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -160,7 +160,7 @@ def start_locally(self): inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - binary = inst.child('bin', BINFILE) + binary = inst.child('bin', srsENB.BINFILE) if not os.path.isfile(binary): raise log.Error('Binary missing:', binary) lib = inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5e11dc9c3c0dcf4808a3ad67fe96580480fe47d1 Gerrit-Change-Number: 17685 Gerrit-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 Mar 31 08:48:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:48:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling messages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 ) Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683/1/bts/BTS_Tests.ttcn at 2870 PS1, Line 2870: /* Ignore rmpty RR Paging Request (PCH filling) */ > May it make sense to count the empty ones and then verify it's consistent? Probably... I'll add a TODO. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 08:48: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 Tue Mar 31 08:50:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:50:14 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: No need to generates values dict for every template file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17686 ) Change subject: srsenb: No need to generates values dict for every template file ...................................................................... srsenb: No need to generates values dict for every template file Let's only do all the dictionary processing once and not for each template file. Change-Id: I4684d26375fce1e2ae28d3eccdc4f607fa5411a9 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 12 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/17686/1 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 1df8074..d4bdcaa 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -181,9 +181,15 @@ self.suite_run.remember_to_stop(self.process) self.process.launch() - def gen_conf_file(self, path, filename): - self.dbg(config_file=path) + def gen_conf_file(self, path, filename, values): + self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) + with open(path, 'w') as f: + r = template.render(filename, values) + self.dbg(r) + f.write(r) + + def configure(self): values = dict(enb=config.get_defaults('enb')) config.overlay(values, dict(enb=config.get_defaults('srsenb'))) config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) @@ -214,14 +220,6 @@ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) - self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) - - with open(path, 'w') as f: - r = template.render(filename, values) - self.dbg(r) - f.write(r) - - def configure(self): self.config_file = self.run_dir.child(srsENB.CFGFILE) self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) @@ -229,10 +227,10 @@ self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) - self.gen_conf_file(self.config_file, srsENB.CFGFILE) - self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB) - self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR) - self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB) + self.gen_conf_file(self.config_file, srsENB.CFGFILE, values) + self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB, values) + self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) + self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB, values) def ue_add(self, ue): if self.ue is not None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4684d26375fce1e2ae28d3eccdc4f607fa5411a9 Gerrit-Change-Number: 17686 Gerrit-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 Mar 31 08:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 08:50:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling 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-ttcn3-hacks/+/17683 to look at the new patch set (#2). Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... BTS: fix as_l1_count_paging(): do not count PCH filling messages Since build #842, both TC_paging_{i|t}msi_80percent started to fail: "BTS_Tests.ttcn:3051 : Expected 271 pagings but have 284" BTS_Tests.ttcn:6414 BTS_Tests control part BTS_Tests.ttcn:3051 TC_paging_imsi_80percent testcase "BTS_Tests.ttcn:3075 : Expected 543 pagings but have 553" BTS_Tests.ttcn:6415 BTS_Tests control part BTS_Tests.ttcn:3075 TC_paging_tmsi_80percent testcase As it turns out, since If5339c7a91b4e0188194f1cd935798f153974e01 TITAN can decode PCH filling messages with no Mobile Identity. We should not count them in as_l1_count_paging(), as they're sent by osmo-bts itself. Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Fixes: OS#4475 --- M bts/BTS_Tests.ttcn 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/17683/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 31 08:53:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 08:53:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix as_l1_count_paging(): do not count PCH filling messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 ) Change subject: BTS: fix as_l1_count_paging(): do not count PCH filling messages ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17683 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I420f36ed000b1c2488fbe500c33a8161e27d20e3 Gerrit-Change-Number: 17683 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 08: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 Tue Mar 31 09:02:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 09:02:09 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: start_locally(): Fix missing class name in attribute access In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17685 ) Change subject: srsenb: start_locally(): Fix missing class name in attribute access ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5e11dc9c3c0dcf4808a3ad67fe96580480fe47d1 Gerrit-Change-Number: 17685 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 09:02: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 Mar 31 09:03:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 09:03:29 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: No need to generates values dict for every template file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17686 ) Change subject: srsenb: No need to generates values dict for every template file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4684d26375fce1e2ae28d3eccdc4f607fa5411a9 Gerrit-Change-Number: 17686 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 09:03: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 Mar 31 09:03:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 09:03:32 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: start_locally(): Fix missing class name in attribute access In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17685 ) Change subject: srsenb: start_locally(): Fix missing class name in attribute access ...................................................................... srsenb: start_locally(): Fix missing class name in attribute access Change-Id: I5e11dc9c3c0dcf4808a3ad67fe96580480fe47d1 --- M src/osmo_gsm_tester/srs_enb.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/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index f5d3fdf..1df8074 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -160,7 +160,7 @@ def start_locally(self): inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - binary = inst.child('bin', BINFILE) + binary = inst.child('bin', srsENB.BINFILE) if not os.path.isfile(binary): raise log.Error('Binary missing:', binary) lib = inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I5e11dc9c3c0dcf4808a3ad67fe96580480fe47d1 Gerrit-Change-Number: 17685 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 Mar 31 09:03:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 09:03:32 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb: No need to generates values dict for every template file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17686 ) Change subject: srsenb: No need to generates values dict for every template file ...................................................................... srsenb: No need to generates values dict for every template file Let's only do all the dictionary processing once and not for each template file. Change-Id: I4684d26375fce1e2ae28d3eccdc4f607fa5411a9 --- M src/osmo_gsm_tester/srs_enb.py 1 file changed, 12 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index 1df8074..d4bdcaa 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -181,9 +181,15 @@ self.suite_run.remember_to_stop(self.process) self.process.launch() - def gen_conf_file(self, path, filename): - self.dbg(config_file=path) + def gen_conf_file(self, path, filename, values): + self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) + with open(path, 'w') as f: + r = template.render(filename, values) + self.dbg(r) + f.write(r) + + def configure(self): values = dict(enb=config.get_defaults('enb')) config.overlay(values, dict(enb=config.get_defaults('srsenb'))) config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) @@ -214,14 +220,6 @@ + ',id=enb,base_srate=' + str(base_srate) config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) - self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values)) - - with open(path, 'w') as f: - r = template.render(filename, values) - self.dbg(r) - f.write(r) - - def configure(self): self.config_file = self.run_dir.child(srsENB.CFGFILE) self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB) self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR) @@ -229,10 +227,10 @@ self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) - self.gen_conf_file(self.config_file, srsENB.CFGFILE) - self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB) - self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR) - self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB) + self.gen_conf_file(self.config_file, srsENB.CFGFILE, values) + self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB, values) + self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) + self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB, values) def ue_add(self, ue): if self.ue is not None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4684d26375fce1e2ae28d3eccdc4f607fa5411a9 Gerrit-Change-Number: 17686 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 Mar 31 10:03:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 10:03:52 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: start_locally(): Fix missing class name in attribute access References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17687 ) Change subject: srsue: start_locally(): Fix missing class name in attribute access ...................................................................... srsue: start_locally(): Fix missing class name in attribute access Change-Id: Iab4196b12ee12a06ba2129053f2291c1e4c284ff --- M src/osmo_gsm_tester/srs_ue.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/17687/1 diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 2dc5ddf..398fea7 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -177,7 +177,7 @@ def start_locally(self): inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - binary = inst.child('bin', BINFILE) + binary = inst.child('bin', srsUE.BINFILE) if not os.path.isfile(binary): raise log.Error('Binary missing:', binary) lib = inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab4196b12ee12a06ba2129053f2291c1e4c284ff Gerrit-Change-Number: 17687 Gerrit-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 Mar 31 10:06:16 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 10:06:16 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce initial Amarisoft ENB support In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 ) Change subject: Introduce initial Amarisoft ENB support ...................................................................... Patch Set 3: (2 comments) ah, just found that here. I know it has been merged already ;-) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681/2/example/defaults.conf File example/defaults.conf: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681/2/example/defaults.conf at 113 PS2, Line 113: license_server_addr: 10.12.1.139 not sure if it makes sense to provide a default value here. It's like wrong. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681/2/src/osmo_gsm_tester/amarisoft_enb.py File src/osmo_gsm_tester/amarisoft_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681/2/src/osmo_gsm_tester/amarisoft_enb.py at 216 PS2, Line 216: def ue_max_rate(self, downlink=True): seeing that 1:1 again, I think it makes sense to add a eNB base class, a Ericsson eNB will have the same max rates. ah, just saw you added one, so let's move the max_rate() to this class -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3 Gerrit-Change-Number: 17681 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: srs_andre Gerrit-Comment-Date: Tue, 31 Mar 2020 10:06: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 Mar 31 10:12:09 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 10:12:09 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... Patch Set 3: (4 comments) Below is the comment, question I had regarding the iperf modifier https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 157 PS2, Line 157: def prepare_test_proc(self, downlink=False, netns=None, time_sec=10): > What about having time_sec=None by default,and if !None is passed by test then override what comes f [?] Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 160 PS2, Line 160: time_sec_str = values['iperf3cli'].get('time', time_sec) Pau, the only issue with this part is that only the default value of time is available at this stage. Am I right that I have to extend the iperf class to also get the conf from the suite? Or how can I retrieve the values from the command line modifiers? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 163 PS2, Line 163: if 'h' in time_sec_str: > if time_sec_str.endswith('h') [?] Ack https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/2/src/osmo_gsm_tester/iperf3.py at 174 PS2, Line 174: self.log('Starting iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec_final)) > Not "Starting" here, but "Preparing" Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 31 Mar 2020 10:12: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 Tue Mar 31 10:18:49 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 10:18:49 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: adding modifier to pass arbitrary cmd line arguments 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/+/17611 to look at the new patch set (#2). Change subject: srs_{ue,enb}: adding modifier to pass arbitrary cmd line arguments ...................................................................... srs_{ue,enb}: adding modifier to pass arbitrary cmd line arguments Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 --- A example/scenarios/mod-srsenb-args at .conf A example/scenarios/mod-srsue-args at .conf M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 5 files changed, 26 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/11/17611/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie438c8aa9992dbc61b2133473a83d565cf5c7056 Gerrit-Change-Number: 17611 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 Mar 31 10:18:49 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 10:18:49 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... 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/+/17650 to look at the new patch set (#3). Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 42 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 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 Tue Mar 31 10:20:15 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 10:20:15 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/3/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/3/src/osmo_gsm_tester/iperf3.py at 164 PS3, Line 164: if time_sec_str.endswith('h'): > You probably wanna make sure time_sec is a string here, to allow tests passing an integer: [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 31 Mar 2020 10:20:15 +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 Mar 31 10:20:38 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 10:20:38 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add modifier to adjust the duration of the iperf run 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/+/17651 to look at the new patch set (#5). Change subject: iperf3: add modifier to adjust the duration of the iperf run ...................................................................... iperf3: add modifier to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/mod-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py 5 files changed, 34 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 5 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 Mar 31 10:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 10:44:29 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/3/src/osmo_gsm_tester/srs_enb.py File src/osmo_gsm_tester/srs_enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650/3/src/osmo_gsm_tester/srs_enb.py at 230 PS3, Line 230: rf_dev_args += ',send_frame_size=512,recv_frame_size=512' Not sure if UHD is going to like parsing the args starting with a comma, (in the case where rf_dev_args from config comes empty as ""). To make it cleaner Id simply add (line 228): rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else '' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 10:44: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 Tue Mar 31 10:51:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 10:51:59 +0000 Subject: Change in osmo-gsm-tester[master]: {srs, amarisoft}enb:Move shared code to parent generic class eNodeB References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17688 ) Change subject: {srs,amarisoft}enb:Move shared code to parent generic class eNodeB ...................................................................... {srs,amarisoft}enb:Move shared code to parent generic class eNodeB Change-Id: Ica0f1d4179a905d6dfc77d3e8eb08ac6cd5c3d2e --- M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/srs_enb.py 3 files changed, 57 insertions(+), 100 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/17688/1 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index e16fe7f..99b0ace 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -59,7 +59,6 @@ def __init__(self, suite_run, conf): super().__init__(suite_run, conf, 'amarisoftenb') self.ue = None - self.epc = None self.run_dir = None self._bin_prefix = None self.config_file = None @@ -76,8 +75,6 @@ self.remote_config_rf_file = None self.remote_config_drb_file = None self.remote_log_file = None - self._num_prb = 0 - self._txmode = 0 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -105,7 +102,7 @@ def start(self, epc): self.log('Starting AmarisoftENB') - self.epc = epc + self._epc = epc self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() self._start() @@ -138,7 +135,6 @@ f.write(r) def configure(self): - self.inst = util.Dir(os.path.abspath(self.bin_prefix())) lib = self.inst.child('lib') if not self.inst.isfile('', AmarisoftENB.BINFILE): @@ -164,19 +160,9 @@ self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) - values = dict(enb=config.get_defaults('enb')) - config.overlay(values, dict(enb=config.get_defaults('amarisoftenb'))) - config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) - config.overlay(values, dict(enb=self._conf)) - config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) - - self._num_prb = int(values['enb'].get('num_prb', None)) - assert self._num_prb - self._txmode = int(values['enb'].get('transmission_mode', None)) - assert self._txmode + values = super().configure('amarisoftenb') self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells - config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) @@ -205,38 +191,4 @@ def running(self): return not self.process.terminated() - def num_prb(self): - return self._num_prb - - def num_ports(self): - if self._txmode == 1: - return 1 - return 2 - - def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 - 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 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 diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py index f6b7722..197ad25 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/enb.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log +from . import log, config class eNodeB(log.Origin, metaclass=ABCMeta): @@ -33,6 +33,28 @@ if self._addr is None: raise log.Error('addr not set') self.set_name('%s_%s' % (name, self._addr)) + self._txmode = 0 + self._num_prb = 0 + self._epc = None + + def configure(self, default_specifics): + values = dict(enb=config.get_defaults('enb')) + config.overlay(values, dict(enb=config.get_defaults(default_specifics))) + config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + config.overlay(values, dict(enb=self._conf)) + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + self._txmode = int(values['enb'].get('transmission_mode', None)) + assert self._txmode + config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) + assert self._epc is not None + config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) + return values + + def num_ports(self): + if self._txmode == 1: + return 1 + return 2 ######################## # PUBLIC - INTERNAL API @@ -41,6 +63,9 @@ 'Nothing to do by default. Subclass can override if required.' pass + def num_prb(self): + return self._num_prb + ################### # PUBLIC (test API included) ################### @@ -64,4 +89,30 @@ 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 + 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 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 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index d4bdcaa..91881c0 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -59,7 +59,6 @@ def __init__(self, suite_run, conf): super().__init__(suite_run, conf, srsENB.BINFILE) self.ue = None - self.epc = None self.run_dir = None self.config_file = None self.config_sib_file = None @@ -75,8 +74,6 @@ self.remote_config_drb_file = None self.remote_log_file = None self.remote_pcap_file = None - self._num_prb = 0 - self._txmode = 0 self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) @@ -104,7 +101,7 @@ def start(self, epc): self.log('Starting srsENB') - self.epc = epc + self._epc = epc self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() if self.remote_user: @@ -190,27 +187,18 @@ f.write(r) def configure(self): - values = dict(enb=config.get_defaults('enb')) - config.overlay(values, dict(enb=config.get_defaults('srsenb'))) - config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) - config.overlay(values, dict(enb=self._conf)) - config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + values = super().configure('srsenb') # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) - self._num_prb = int(values['enb'].get('num_prb', None)) - assert self._num_prb - self._txmode = int(values['enb'].get('transmission_mode', None)) - assert self._txmode self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells - config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - base_srate = num_prb2base_srate(self._num_prb) + base_srate = num_prb2base_srate(self.num_prb()) rf_dev_args = 'fail_on_disconnect=true' \ + ',tx_port=tcp://' + self.addr() + ':2000' \ + ',tx_port2=tcp://' + self.addr() + ':2002' \ @@ -240,38 +228,4 @@ def running(self): return not self.process.terminated() - def num_prb(self): - return self._num_prb - - def num_ports(self): - if self._txmode == 1: - return 1 - return 2 - - def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 - 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 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/+/17688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ica0f1d4179a905d6dfc77d3e8eb08ac6cd5c3d2e Gerrit-Change-Number: 17688 Gerrit-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 Mar 31 11:35:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 11:35:51 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Drop unused lib variable References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17689 ) Change subject: amarisoft_enb: Drop unused lib variable ...................................................................... amarisoft_enb: Drop unused lib variable Change-Id: Iea3e77a4b9f25f2781f617cd4bfd0ba4b34c709e --- M src/osmo_gsm_tester/amarisoft_enb.py 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/89/17689/1 diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 99b0ace..0890f90 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -136,7 +136,6 @@ def configure(self): self.inst = util.Dir(os.path.abspath(self.bin_prefix())) - lib = self.inst.child('lib') if not self.inst.isfile('', AmarisoftENB.BINFILE): raise log.Error('No %s binary in' % AmarisoftENB.BINFILE, self.inst) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iea3e77a4b9f25f2781f617cd4bfd0ba4b34c709e Gerrit-Change-Number: 17689 Gerrit-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 Mar 31 12:22:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 12:22:17 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: start_locally(): Fix missing class name in attribute access In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17687 ) Change subject: srsue: start_locally(): Fix missing class name in attribute access ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab4196b12ee12a06ba2129053f2291c1e4c284ff Gerrit-Change-Number: 17687 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 12:22: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 Mar 31 12:22:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 12:22:22 +0000 Subject: Change in osmo-gsm-tester[master]: {srs, amarisoft}enb:Move shared code to parent generic class eNodeB In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17688 ) Change subject: {srs,amarisoft}enb:Move shared code to parent generic class eNodeB ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ica0f1d4179a905d6dfc77d3e8eb08ac6cd5c3d2e Gerrit-Change-Number: 17688 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 12:22: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 Mar 31 12:22:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 12:22:24 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Drop unused lib variable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17689 ) Change subject: amarisoft_enb: Drop unused lib variable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iea3e77a4b9f25f2781f617cd4bfd0ba4b34c709e Gerrit-Change-Number: 17689 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 12:22: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 Mar 31 12:22:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 12:22:27 +0000 Subject: Change in osmo-gsm-tester[master]: srsue: start_locally(): Fix missing class name in attribute access In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17687 ) Change subject: srsue: start_locally(): Fix missing class name in attribute access ...................................................................... srsue: start_locally(): Fix missing class name in attribute access Change-Id: Iab4196b12ee12a06ba2129053f2291c1e4c284ff --- M src/osmo_gsm_tester/srs_ue.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/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py index 2dc5ddf..398fea7 100644 --- a/src/osmo_gsm_tester/srs_ue.py +++ b/src/osmo_gsm_tester/srs_ue.py @@ -177,7 +177,7 @@ def start_locally(self): inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) - binary = inst.child('bin', BINFILE) + binary = inst.child('bin', srsUE.BINFILE) if not os.path.isfile(binary): raise log.Error('Binary missing:', binary) lib = inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17687 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab4196b12ee12a06ba2129053f2291c1e4c284ff Gerrit-Change-Number: 17687 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 Mar 31 12:22:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 12:22:27 +0000 Subject: Change in osmo-gsm-tester[master]: {srs, amarisoft}enb:Move shared code to parent generic class eNodeB In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17688 ) Change subject: {srs,amarisoft}enb:Move shared code to parent generic class eNodeB ...................................................................... {srs,amarisoft}enb:Move shared code to parent generic class eNodeB Change-Id: Ica0f1d4179a905d6dfc77d3e8eb08ac6cd5c3d2e --- M src/osmo_gsm_tester/amarisoft_enb.py M src/osmo_gsm_tester/enb.py M src/osmo_gsm_tester/srs_enb.py 3 files changed, 57 insertions(+), 100 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index e16fe7f..99b0ace 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -59,7 +59,6 @@ def __init__(self, suite_run, conf): super().__init__(suite_run, conf, 'amarisoftenb') self.ue = None - self.epc = None self.run_dir = None self._bin_prefix = None self.config_file = None @@ -76,8 +75,6 @@ self.remote_config_rf_file = None self.remote_config_drb_file = None self.remote_log_file = None - self._num_prb = 0 - self._txmode = 0 self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -105,7 +102,7 @@ def start(self, epc): self.log('Starting AmarisoftENB') - self.epc = epc + self._epc = epc self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() self._start() @@ -138,7 +135,6 @@ f.write(r) def configure(self): - self.inst = util.Dir(os.path.abspath(self.bin_prefix())) lib = self.inst.child('lib') if not self.inst.isfile('', AmarisoftENB.BINFILE): @@ -164,19 +160,9 @@ self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB) self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE) - values = dict(enb=config.get_defaults('enb')) - config.overlay(values, dict(enb=config.get_defaults('amarisoftenb'))) - config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) - config.overlay(values, dict(enb=self._conf)) - config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) - - self._num_prb = int(values['enb'].get('num_prb', None)) - assert self._num_prb - self._txmode = int(values['enb'].get('transmission_mode', None)) - assert self._txmode + values = super().configure('amarisoftenb') self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells - config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) @@ -205,38 +191,4 @@ def running(self): return not self.process.terminated() - def num_prb(self): - return self._num_prb - - def num_ports(self): - if self._txmode == 1: - return 1 - return 2 - - def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 - 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 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 diff --git a/src/osmo_gsm_tester/enb.py b/src/osmo_gsm_tester/enb.py index f6b7722..197ad25 100644 --- a/src/osmo_gsm_tester/enb.py +++ b/src/osmo_gsm_tester/enb.py @@ -18,7 +18,7 @@ # along with this program. If not, see . from abc import ABCMeta, abstractmethod -from . import log +from . import log, config class eNodeB(log.Origin, metaclass=ABCMeta): @@ -33,6 +33,28 @@ if self._addr is None: raise log.Error('addr not set') self.set_name('%s_%s' % (name, self._addr)) + self._txmode = 0 + self._num_prb = 0 + self._epc = None + + def configure(self, default_specifics): + values = dict(enb=config.get_defaults('enb')) + config.overlay(values, dict(enb=config.get_defaults(default_specifics))) + config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + config.overlay(values, dict(enb=self._conf)) + self._num_prb = int(values['enb'].get('num_prb', None)) + assert self._num_prb + self._txmode = int(values['enb'].get('transmission_mode', None)) + assert self._txmode + config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) + assert self._epc is not None + config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) + return values + + def num_ports(self): + if self._txmode == 1: + return 1 + return 2 ######################## # PUBLIC - INTERNAL API @@ -41,6 +63,9 @@ 'Nothing to do by default. Subclass can override if required.' pass + def num_prb(self): + return self._num_prb + ################### # PUBLIC (test API included) ################### @@ -64,4 +89,30 @@ 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 + 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 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 diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py index d4bdcaa..91881c0 100644 --- a/src/osmo_gsm_tester/srs_enb.py +++ b/src/osmo_gsm_tester/srs_enb.py @@ -59,7 +59,6 @@ def __init__(self, suite_run, conf): super().__init__(suite_run, conf, srsENB.BINFILE) self.ue = None - self.epc = None self.run_dir = None self.config_file = None self.config_sib_file = None @@ -75,8 +74,6 @@ self.remote_config_drb_file = None self.remote_log_file = None self.remote_pcap_file = None - self._num_prb = 0 - self._txmode = 0 self.enable_pcap = False self.suite_run = suite_run self.remote_user = conf.get('remote_user', None) @@ -104,7 +101,7 @@ def start(self, epc): self.log('Starting srsENB') - self.epc = epc + self._epc = epc self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() if self.remote_user: @@ -190,27 +187,18 @@ f.write(r) def configure(self): - values = dict(enb=config.get_defaults('enb')) - config.overlay(values, dict(enb=config.get_defaults('srsenb'))) - config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) - config.overlay(values, dict(enb=self._conf)) - config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() })) + values = super().configure('srsenb') # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) - self._num_prb = int(values['enb'].get('num_prb', None)) - assert self._num_prb - self._txmode = int(values['enb'].get('transmission_mode', None)) - assert self._txmode self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells - config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - base_srate = num_prb2base_srate(self._num_prb) + base_srate = num_prb2base_srate(self.num_prb()) rf_dev_args = 'fail_on_disconnect=true' \ + ',tx_port=tcp://' + self.addr() + ':2000' \ + ',tx_port2=tcp://' + self.addr() + ':2002' \ @@ -240,38 +228,4 @@ def running(self): return not self.process.terminated() - def num_prb(self): - return self._num_prb - - def num_ports(self): - if self._txmode == 1: - return 1 - return 2 - - def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 - 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 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/+/17688 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ica0f1d4179a905d6dfc77d3e8eb08ac6cd5c3d2e Gerrit-Change-Number: 17688 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 Mar 31 12:22:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 12:22:27 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: Drop unused lib variable In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17689 ) Change subject: amarisoft_enb: Drop unused lib variable ...................................................................... amarisoft_enb: Drop unused lib variable Change-Id: Iea3e77a4b9f25f2781f617cd4bfd0ba4b34c709e --- M src/osmo_gsm_tester/amarisoft_enb.py 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py index 99b0ace..0890f90 100644 --- a/src/osmo_gsm_tester/amarisoft_enb.py +++ b/src/osmo_gsm_tester/amarisoft_enb.py @@ -136,7 +136,6 @@ def configure(self): self.inst = util.Dir(os.path.abspath(self.bin_prefix())) - lib = self.inst.child('lib') if not self.inst.isfile('', AmarisoftENB.BINFILE): raise log.Error('No %s binary in' % AmarisoftENB.BINFILE, self.inst) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17689 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iea3e77a4b9f25f2781f617cd4bfd0ba4b34c709e Gerrit-Change-Number: 17689 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 Mar 31 13:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 13:19:44 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... 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/+/17650 to look at the new patch set (#4). Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... srs_{ue,enb}: change UHD stream args and buffer size as function of cell width Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc --- M src/osmo_gsm_tester/srs_enb.py M src/osmo_gsm_tester/srs_ue.py 2 files changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/17650/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 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 Tue Mar 31 13:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 31 Mar 2020 13:19:44 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run 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/+/17651 to look at the new patch set (#6). Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... iperf3: add config to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Example: +cfg-iperf3-time at 15+ Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d --- M example/defaults.conf A example/scenarios/cfg-iperf3-time at .conf M src/osmo_gsm_tester/iperf3.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/schema.py 5 files changed, 34 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/51/17651/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 6 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 Mar 31 13:49:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 13:49:33 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{ue, enb}: change UHD stream args and buffer size as function of c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 ) Change subject: srs_{ue,enb}: change UHD stream args and buffer size as function of cell width ...................................................................... Patch Set 4: Please also remove the recv_frame_size and send_frame_size from example/resources.conf.prod. Sorry for not thinking about that before. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I2de0526ee9bd2f7bb75c7d529b3f52d75117c5cc Gerrit-Change-Number: 17650 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 13:49:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 31 13:56:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 13:56:33 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: add config to adjust the duration of the iperf run In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 ) Change subject: iperf3: add config to adjust the duration of the iperf run ...................................................................... Patch Set 6: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/6/src/osmo_gsm_tester/iperf3.py File src/osmo_gsm_tester/iperf3.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/6/src/osmo_gsm_tester/iperf3.py at 158 PS6, Line 158: if time_sec is not None: if time_sec is None: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651/6/src/osmo_gsm_tester/iperf3.py at 159 PS6, Line 159: values = dict(iperf3cli=config.get_defaults('iperf3cli')) You can really drop the iperf3cli dictionary here, since it's not really useful at all: values = config.get_defaults('iperf3cli') config.overlay(values, self.suite_run.config()) time_sec_str = values.get('time', time_sec) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17651 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d Gerrit-Change-Number: 17651 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 31 Mar 2020 13:56: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 Tue Mar 31 17:19:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 17:19:35 +0000 Subject: Change in osmo-gsm-tester[master]: Introduce support for AmarisoftEPC References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 ) Change subject: Introduce support for AmarisoftEPC ...................................................................... Introduce support for AmarisoftEPC * A new abstract generic base class EPC is created * srsEPC and AmarisoftEPC inherit from that class * options are loaded from defaults.conf in cascade. First generic "epc", afterwards the specific enb type. * A new scenario is added to select the EPC type to use. srsEPC is the default unless stated by an scenario. * AmarisoftEPC delegates setup of the tun IP address to an "ifup" script. As a result, since we run without root permissions (ony with CAP_NET_ADMIN), the ifup script itself is unablet o set the IP address. To solve this, we introduce a new osmo-gsm-tester helper script which must be installed in the slave node which can be called through sudo to increase privileges to do so. With this commit, I can already get srsUE<->amarisoftENB<->amarisoftEPC to pass ping and iperf3 4g tests. Change-Id: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 --- M example/defaults.conf A example/scenarios/cfg-epc-type at .conf A src/osmo_gsm_tester/amarisoft_epc.py A src/osmo_gsm_tester/epc.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/srs_epc.py M src/osmo_gsm_tester/suite.py A src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl A utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh A utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup 10 files changed, 451 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/90/17690/1 diff --git a/example/defaults.conf b/example/defaults.conf index bcd1fa2..56a41e5 100644 --- a/example/defaults.conf +++ b/example/defaults.conf @@ -93,12 +93,17 @@ trx_list: - nominal_power: 25 -srsepc: +epc: + type: srsepc mcc: 901 mnc: 70 +srsepc: rlc_drb_mode: UM enable_pcap: false +amarisoftepc: + license_server_addr: 10.12.1.139 + enb: mcc: 901 mnc: 70 diff --git a/example/scenarios/cfg-epc-type at .conf b/example/scenarios/cfg-epc-type at .conf new file mode 100644 index 0000000..89b7fba --- /dev/null +++ b/example/scenarios/cfg-epc-type at .conf @@ -0,0 +1,3 @@ +config: + epc: + type: ${param1} diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/amarisoft_epc.py new file mode 100644 index 0000000..0361f54 --- /dev/null +++ b/src/osmo_gsm_tester/amarisoft_epc.py @@ -0,0 +1,203 @@ +# osmo_gsm_tester: specifics for running an SRS EPC process +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# 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 +import pprint + +from . import log, util, config, template, process, remote +from . import epc + +#def rlc_drb_mode2qci(rlc_drb_mode): +# if rlc_drb_mode.upper() == "UM": +# return 7; +# elif rlc_drb_mode.upper() == "AM": +# return 9; +# raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) + +class AmarisoftEPC(epc.EPC): + + REMOTE_DIR = '/osmo-gsm-tester-amarisoftepc' + BINFILE = 'ltemme' + CFGFILE = 'amarisoft_ltemme.cfg' + LOGFILE = 'ltemme.log' + IFUPFILE = 'mme-ifup' + + def __init__(self, suite_run, run_node): + super().__init__(suite_run, run_node, 'amarisoftepc') + self.run_dir = None + self.config_file = None + self.log_file = None + self.ifup_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_log_file = None + self.remote_ifup_file =None + self._bin_prefix = None + self.inst = None + self.subscriber_list = [] + + def bin_prefix(self): + if self._bin_prefix is None: + self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', AmarisoftEPC.REMOTE_DIR) + return self._bin_prefix + + def cleanup(self): + if self.process is None: + return + if self._run_node.is_local(): + return + # 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) + except Exception as e: + self.log(repr(e)) + + def start(self): + self.log('Starting amarisoftepc') + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.configure() + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_binary = self.remote_inst.child('', AmarisoftEPC.BINFILE) + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for amarisoftepc') + self.rem_host.change_elf_rpath(remote_binary, str(self.remote_inst)) + # amarisoftepc requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to amarisoftepc') + self.rem_host.setcap_net_admin(remote_binary) + + 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.suite_run.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('', BINFILE) + + env = {} + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for amarisoftepc') + util.change_elf_rpath(binary, util.prepend_library_path(str(self.inst)), self.run_dir.new_dir('patchelf')) + # amarisoftepc requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to amarisoftepc') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + + self.dbg(run_dir=self.run_dir, binary=binary, env=env) + 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.process.launch() + + def configure(self): + self.inst = util.Dir(os.path.abspath(self.bin_prefix())) + if not self.inst.isfile('', AmarisoftEPC.BINFILE): + raise log.Error('No %s binary in' % AmarisoftEPC.BINFILE, self.inst) + + self.config_file = self.run_dir.child(AmarisoftEPC.CFGFILE) + self.log_file = self.run_dir.child(AmarisoftEPC.LOGFILE) + self.ifup_file = self.run_dir.new_file(AmarisoftEPC.IFUPFILE) + os.chmod(self.ifup_file, 0o744) # add execution permission + self.dbg(config_file=self.config_file) + with open(self.ifup_file, 'w') as f: + r = '''#!/bin/sh + set -x -e + # script + sudoers file available in osmo-gsm-tester.git/utils/{bin,sudoers.d} + sudo /usr/local/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh "$@" + ''' + f.write(r) + + 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(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_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) + + values = super().configure('amarisoftepc') + + 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(epc=dict(log_filename=logfile, + ifup_filename=ifupfile))) + + # Set qci for each subscriber: + #rlc_drb_mode = values['epc'].get('rlc_drb_mode', None) + #assert rlc_drb_mode is not None + #for i in range(len(self.subscriber_list)): + # self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode) + config.overlay(values, dict(epc=dict(hss=dict(subscribers=self.subscriber_list)))) + + self.dbg('SRSEPC CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(AmarisoftEPC.CFGFILE, values) + self.dbg(r) + f.write(r) + + 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.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) + + def subscriber_add(self, modem, msisdn=None, algo_str=None): + if msisdn is None: + msisdn = self.suite_run.resources_pool.next_msisdn(modem) + modem.set_msisdn(msisdn) + + if algo_str is None: + algo_str = modem.auth_algo() or util.OSMO_AUTH_ALGO_NONE + + if algo_str != util.OSMO_AUTH_ALGO_NONE and not modem.ki(): + raise log.Error("Auth algo %r selected but no KI specified" % algo_str) + + subscriber_id = len(self.subscriber_list) # list index + self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'apn_ipaddr': modem.apn_ipaddr()}) + + self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, + algo_str=algo_str) + return subscriber_id + + def enb_is_connected(self, enb): + # TODO: improve this a bit, like matching IP addr of enb. CTRL iface? + # The string is only available in log file, not in stdout: + #return 'S1 setup response' in (self.process.get_stdout() or '') + return True + + def running(self): + return not self.process.terminated() + + def tun_addr(self): + # TODO: set proper addr + return '192.168.4.1' + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/epc.py b/src/osmo_gsm_tester/epc.py new file mode 100644 index 0000000..da8302c --- /dev/null +++ b/src/osmo_gsm_tester/epc.py @@ -0,0 +1,80 @@ +# osmo_gsm_tester: base classes to share code among EPC subclasses. +# +# Copyright (C) 2020 by sysmocom - s.f.m.c. GmbH +# +# 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 . + +from abc import ABCMeta, abstractmethod +from . import log, config + + +class EPC(log.Origin, metaclass=ABCMeta): + +############## +# PROTECTED +############## + def __init__(self, suite_run, 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._run_node = run_node + + def configure(self, default_specifics): + values = dict(epc=config.get_defaults('epc')) + config.overlay(values, dict(epc=config.get_defaults(default_specifics))) + config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) + config.overlay(values, dict(epc={'run_addr': self.addr()})) + return values + +######################## +# PUBLIC - INTERNAL API +######################## + def cleanup(self): + 'Nothing to do by default. Subclass can override if required.' + pass + +################### +# PUBLIC (test API included) +################### + @abstractmethod + def start(self, epc): + 'Starts ENB, it will connect to "epc"' + pass + + @abstractmethod + def subscriber_add(self, modem, msisdn=None, algo_str=None): + pass + + @abstractmethod + def enb_is_connected(self, enb): + pass + + @abstractmethod + def running(self): + pass + + @abstractmethod + def tun_addr(self): + pass + + def addr(self): + return self._addr + + def run_node(self): + return self._run_node + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index d14ee96..383f09e 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -29,7 +29,7 @@ from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g from . import modem from . import ms_osmo_mobile -from . import srs_ue, srs_enb, amarisoft_enb +from . import srs_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc from .util import is_dict, is_list @@ -122,6 +122,7 @@ { '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.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, 'config.epc.enable_pcap': schema.BOOL_STR, 'config.modem.enable_pcap': schema.BOOL_STR, @@ -143,6 +144,11 @@ 'amarisoftenb': amarisoft_enb.AmarisoftENB, } +KNOWN_EPC_TYPES = { + 'srsepc': srs_epc.srsEPC, + 'amarisoftepc': amarisoft_epc.AmarisoftEPC, +} + KNOWN_MS_TYPES = { # Map None to ofono for forward compability None: modem.Modem, diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py index 947eb7b..708ca5b 100644 --- a/src/osmo_gsm_tester/srs_epc.py +++ b/src/osmo_gsm_tester/srs_epc.py @@ -21,6 +21,7 @@ import pprint from . import log, util, config, template, process, remote +from . import epc def rlc_drb_mode2qci(rlc_drb_mode): if rlc_drb_mode.upper() == "UM": @@ -29,7 +30,7 @@ return 9; raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode) -class srsEPC(log.Origin): +class srsEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-srsepc' BINFILE = 'srsepc' @@ -39,9 +40,7 @@ LOGFILE = 'srsepc.log' def __init__(self, suite_run, run_node): - super().__init__(log.C_RUN, 'srsepc') - self._addr = run_node.run_addr() - self.set_name('srsepc_%s' % self._addr) + super().__init__(suite_run, run_node, 'srsepc') self.run_dir = None self.config_file = None self.db_file = None @@ -55,8 +54,6 @@ self.remote_pcap_file = None self.enable_pcap = False self.subscriber_list = [] - self.suite_run = suite_run - self._run_node = run_node def cleanup(self): if self.process is None: @@ -161,9 +158,7 @@ self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE) self.dbg(config_file=self.config_file, db_file=self.db_file) - values = dict(epc=config.get_defaults('srsepc')) - config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) - config.overlay(values, dict(epc={'run_addr': self.addr()})) + values = super().configure('srsepc') # Convert parsed boolean string to Python boolean: self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false')) @@ -212,13 +207,7 @@ def running(self): return not self.process.terminated() - def addr(self): - return self._addr - def tun_addr(self): return '172.16.0.1' - def run_node(self): - return self._run_node - # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 8c79d35..5076671 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -25,7 +25,6 @@ from .event_loop import MainLoop from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process from . import run_node -from . import srs_epc class Timeout(Exception): pass @@ -374,9 +373,9 @@ def epc(self, run_node=None): if run_node is None: run_node = self.run_node() - epc_obj = srs_epc.srsEPC(self, run_node) - self.register_for_cleanup(epc_obj) - return epc_obj + epc = epc_obj(self, run_node) + self.register_for_cleanup(epc) + return epc def osmocon(self, specifics=None): conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics) @@ -505,4 +504,16 @@ 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 diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl new file mode 100644 index 0000000..a2af69a --- /dev/null +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -0,0 +1,116 @@ +/* ltemme configuration file + * version 2018-10-18 + * Copyright (C) 2015-2018 Amarisoft + */ +{ + + license_server: { + server_addr: "${epc.license_server_addr}", + name: "amarisoft", + }, + + /* Log filter: syntax: layer.field=value[,...] + + Possible layers are nas, ip, s1ap, gtpu and all. The 'all' layer + is used to address all the layers at the same time. + + field values: + + - 'level': the log level of each layer can be set to 'none', + 'error', 'info' or 'debug'. Use 'debug' to log all the messages. + + - 'max_size': set the maximum size of the hex dump. 0 means no + hex dump. -1 means no limit. + */ + //log_options: "all.level=debug,all.max_size=32", + log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1", + log_filename: "${epc.log_filename}", + + /* Enable remote API and Web interface */ + com_addr: "${epc.run_addr}:9000", + + /* bind address for GTP-U. Normally = address of the PC, here bound + on local interface to be able to run ltemme on the same PC as + lteenb. By default, the S1AP SCTP connection is bound on the same + address. */ + gtp_addr: "${epc.run_addr}", + + s1ap_bind_addr: "${epc.run_addr}", + + plmn: "${epc.mcc}${epc.mnc}", + mme_group_id: 32769, + mme_code: 1, + + /* network name and network short name sent in the EMM information + message to the UE */ + network_name: "Amarisoft Network", + network_short_name: "Amarisoft", + + /* Control Plane Cellular IoT EPS optimization support */ + cp_ciot_opt: true, + + /* Public Data Networks. The first one is the default. */ + pdn_list: [ + { + /* Some UE requires a specific PDN for data access */ + pdn_type: "ipv4", + access_point_name: "internet", + first_ip_addr: "192.168.4.2", + last_ip_addr: "192.168.4.254", + ip_addr_shift: 2, + dns_addr: "8.8.8.8", /* Google DNS address */ + erabs: [ + { + qci: 9, + priority_level: 15, + pre_emption_capability: "shall_not_trigger_pre_emption", + pre_emption_vulnerability: "not_pre_emptable", + }, + ], + }, + ], + /* Setup script for the network interface. + If no script is given, no network interface is created. + Script is called for each PDN with following parameters: + 1) Interface name + 2) PDN index + 3) Access Point Name + 4) IP version: 'ipv4' or 'ipv6' + 5) IP address: first IP address for ipv4 and link local address for IPv6 + 6) First IP address + 7) Last IP address + */ + tun_setup_script: "${epc.ifup_filename}", + + /* If true, inter-UE routing is done inside the MME (hence no IP + packet is output to the virtual network interface in case of + inter-UE communication). Otherwise, it is done by the Linux IP + layer. */ + ue_to_ue_forwarding: false, + + /* NAS ciphering algorithm preference. EEA0 is always the last. */ + nas_cipher_algo_pref: [ ], + /* NAS integrity algorithm preference. EIA0 is always the last. */ + nas_integ_algo_pref: [ 2, 1 ], + + /* user data base */ + ue_db: [ +%for sub in epc.hss.subscribers: + { + sim_algo: "${sub.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */ + imsi: "${sub.imsi}", /* Anritsu Test USIM */ + amf: 0x9001, /* Authentication Management Field */ + sqn: "000000000000", /* Sequence Number */ + K: "${sub.ki}", /* Anritsu Test USIM */ + /* if true, allow several UEs to have the same IMSI (useful + with test SIM cards). They are distinguished with their + IMEI. default = false. */ + multi_sim: true, + }, +%endfor + /* Add new entries for each IMSI/K */ + ], + + /* persistent user database */ + //ue_db_filename: "lte_ue.db", +} diff --git a/utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh b/utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh new file mode 100755 index 0000000..d502123 --- /dev/null +++ b/utils/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh @@ -0,0 +1,16 @@ +#!/bin/bash -e +ifname="$1" # Interface name +index="$2" # Network index (PDN index) +apn="$3" # Access point name +type="$4" # ipv4 or ipv6 +ifaddr="$5" # Interface address +addr1="$6" # First IP address +addr2="$7" # Last IP address +mask="$8" # Mask +echo "*** Configuring $type APN[$index] '$apn' on ${ifname}, $ifaddr/$mask, ${addr1}..${addr2}" +if [ "$type" = "ipv4" ] ; then + ifconfig ${ifname} ${ifaddr}/${mask} up +else + ifconfig ${ifname} inet6 add ${addr1}/${mask} up +fi +echo "*** done configuring interface ${ifname}" diff --git a/utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup b/utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup new file mode 100644 index 0000000..a8cd298 --- /dev/null +++ b/utils/sudoers.d/osmo-gsm-tester_amarisoft_ltemme_ifup @@ -0,0 +1 @@ +%osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_amarisoft_ltemme_ifup.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17690 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3 Gerrit-Change-Number: 17690 Gerrit-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 Mar 31 17:33:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 17:33:13 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/17691 ) Change subject: osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests ...................................................................... osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests Some days ago the Dockerfile was changed to pull from debian-stretch-jenkins instead of debian-stretch-build, since the first one has extra runtime dependencies required by osmo-gsm-tester. However, the jenkins script is still requiring the old dependency. Let's update it accordingly. Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/91/17691/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 529ea3d..71ab0f4 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -55,7 +55,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "debian-stretch-jenkins" \ "osmo-gsm-tester" network_create 172.18.50.0/24 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/17691 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a Gerrit-Change-Number: 17691 Gerrit-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 Mar 31 17:56:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 17:56:51 +0000 Subject: Change in libosmocore[master]: tests/coding: add 11-bit Access Burst samples from a real phone References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17692 ) Change subject: tests/coding: add 11-bit Access Burst samples from a real phone ...................................................................... tests/coding: add 11-bit Access Burst samples from a real phone This change adds several soft-bit (-127 .. 127) sequences containing EGPRS Packet Channel Request message (11-bit, payload only) sent by an EGPRS capable phone, and captured on the BTS/PCU side using a tool from the TRX Toolkit - trx_sniff.py. As can be seen from the test output, none of decoded RA11 values looks like a valid EGPRS Packet Channel Request message (see table 11.2.5a.2 of 3GPP TS 44.060). All test sequences contain the same message with several random bits: < EGPRS Packet channel request message content > ::= < Signalling : 110011 < RandomBits : bit (5) > >; since the phone was trying to perform Attach Request. It seems the bit order of decoded messages is somehow wrong. Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Related: OS#1548 --- M tests/coding/coding_test.c M tests/coding/coding_test.ok 2 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/92/17692/1 diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c index 2ae95f8..17ddfaa 100644 --- a/tests/coding/coding_test.c +++ b/tests/coding/coding_test.c @@ -185,6 +185,22 @@ printd("\n"); } +static void test_rach_11bit_sample(uint8_t bsic, const sbit_t *payload) +{ + int n_errors, n_bits_total; + uint16_t ra11; + int rc; + + /* Decode, correcting errors */ + rc = gsm0503_rach_ext_decode_ber(&ra11, payload, bsic, &n_errors, &n_bits_total); + if (rc) { + printf("%s(): decoding failed (rc=%d)\n", __func__, rc); + return; + } + + printf("Decoded RA11: 0x%03x\n", ra11); +} + static void test_sch(uint8_t *info) { uint8_t result[4]; @@ -376,6 +392,39 @@ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }, }; +/* 11-bit Access Burst soft-bits (payload only) from an EGPRS capable phone (BSIC 63) */ +static const sbit_t test_rach_11bit[6][36] = { + { 103, 109, -108, -110, 107, 108, -106, -120, -121, + -120, -105, 122, -104, -109, 108, 109, -109, -111, + 107, 111, -105, -119, -121, -104, 122, -120, 121, + -99, -121, -120, -122, -106, 109, 109, -108, -111 }, + + { 103, 109, -109, -109, 106, 107, -106, -121, -121, + -120, -106, 121, -120, 117, -122, 101, 109, -122, + 120, -120, 101, 118, 120, 102, -125, 101, 110, + -120, 121, -101, -121, -118, -121, -106, 108, 121 }, + + { -121, -122, -104, 123, -104, -108, 122, -104, -121, + -121, -102, 124, -105, -110, 107, 109, -108, -109, + 121, -122, 101, 107, -121, 105, 108, -110, -107, + 124, -104, -109, 120, -122, 100, 122, 104, -123 }, + + { -122, -123, -103, 123, -105, -109, 122, -105, -121, + -120, -104, 122, -120, 121, -101, -122, -120, -120, + -119, -105, 120, -106, -108, 123, -104, -113, 105, + 122, 101, -122, 119, -122, 117, -121, 119, -122 }, + + { 105, 110, -109, -109, 107, 108, -108, -120, -120, + -121, -106, 121, -104, -107, 106, 108, -108, -108, + 108, 107, -105, -120, -122, -104, 122, -119, 121, + -103, -122, -118, -120, -106, 108, 108, -110, -111 }, + + { 120, -103, -123, -104, 119, -121, 100, 123, 106, + -109, -107, 121, -122, 118, -121, 103, 108, -122, + 120, -119, 121, -103, -121, -119, -121, -103, 124, + -106, -108, 122, -103, -106, 121, -120, 119, -121 }, +}; + uint8_t test_speech_fr[33]; uint8_t test_speech_efr[31]; uint8_t test_speech_hr[15]; @@ -402,6 +451,10 @@ test_rach_ext(0x1a, i); } + for (i = 0; i < ARRAY_SIZE(test_rach_11bit); i++) + test_rach_11bit_sample(0x3f, test_rach_11bit[i]); + printf("\n"); + for (i = 0; i < len_l2; i++) test_sch(test_l2[i]); diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 2005f6e..496ce89 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -40,6 +40,13 @@ Decoded: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 xcch_decode: n_errors=60 n_bits_total=456 ber=0.13 +Decoded RA11: 0x7cc +Decoded RA11: 0x6cc +Decoded RA11: 0x7cd +Decoded RA11: 0x4cd +Decoded RA11: 0x7cc +Decoded RA11: 0x6ce + Encoding: 03 03 01 00 U-Bits: 111001110011000011100111001100001101001111000000000011010000011010110111111100 S-Bits: 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 81 7f 7f 81 81 81 7f 7f 81 81 7f 7f 7f 7f 81 81 7f 81 7f 7f 81 81 81 81 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 81 81 7f 81 7f 7f 7f 7f 7f 81 81 7f 81 7f 81 81 7f 81 81 81 81 81 81 81 7f 7f -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Gerrit-Change-Number: 17692 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 Mar 31 17:56:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 17:56:52 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding functions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17693 ) Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... coding: fix bit ordering in 11-bit RACH coding functions According to 3GPP TS 44.060, figure 7.4a.b, the format of 11-bit RACH uplink / Uplink access burst block is as defined follows: <--------------------------------------------------- 8 7 6 5 4 3 2 1 +--------------------------------------------------+ | 11 bit RACH uplink / Uplink access burst block | OCT1 +--------------------------------------------------+ | | OCT2 +-------------------+ As was (correctly) assumed in [1], the bit ordering in 11-bit RACH coding functions is wrong. The problem is that neither of generic functions from bit16gen.h can be used to load / store the RA11 value (regardless of the endianness), because they assume that the payload is 16 bit long. With this patch applied, RA11 values from [1] look correct: < EGPRS Packet channel request message content > ::= < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 00110 > > | < Signalling : 110011 < RandomBits : 01111 > > | < Signalling : 110011 < RandomBits : 01100 > > | < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 10110 > > ; [1] Id80e471d252b9416217b56f4c8c0a8f5f1289fee Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 --- M src/coding/gsm0503_coding.c M tests/coding/coding_test.ok 2 files changed, 9 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/17693/1 diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 163ce21..8480240 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -2879,7 +2879,7 @@ osmo_ubit2pbit_ext(ra, 0, conv, 0, nbits, 1); - return is_11bit ? osmo_load16le(ra) : ra[0]; + return is_11bit ? ((ra[0] << 3) | (ra[1] & 0x07)) : ra[0]; } /*! Decode the Extended (11-bit) RACH according to 3GPP TS 45.003 @@ -2974,7 +2974,8 @@ uint8_t ra[2] = { 0 }, nbits = 8; if (is_11bit) { - osmo_store16le(ra11, ra); + ra[0] = (uint8_t) (ra11 >> 3); + ra[1] = (uint8_t) (ra11 & 0x07); nbits = 11; } else ra[0] = (uint8_t)ra11; diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok index 496ce89..3a4fbf2 100644 --- a/tests/coding/coding_test.ok +++ b/tests/coding/coding_test.ok @@ -40,12 +40,12 @@ Decoded: 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 xcch_decode: n_errors=60 n_bits_total=456 ber=0.13 -Decoded RA11: 0x7cc -Decoded RA11: 0x6cc -Decoded RA11: 0x7cd -Decoded RA11: 0x4cd -Decoded RA11: 0x7cc -Decoded RA11: 0x6ce +Decoded RA11: 0x667 +Decoded RA11: 0x666 +Decoded RA11: 0x66f +Decoded RA11: 0x66c +Decoded RA11: 0x667 +Decoded RA11: 0x676 Encoding: 03 03 01 00 U-Bits: 111001110011000011100111001100001101001111000000000011010000011010110111111100 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 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 Mar 31 17:59:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 17:59:27 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding functions In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/17693 ) Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... coding: fix bit ordering in 11-bit RACH coding functions According to 3GPP TS 44.060, figure 7.4a.b, the format of 11-bit RACH uplink / Uplink access burst block is as defined follows: <--------------------------------------------------- 8 7 6 5 4 3 2 1 +--------------------------------------------------+ | 11 bit RACH uplink / Uplink access burst block | OCT1 +--------------------------------------------------+ | | OCT2 +-------------------+ As was (correctly) assumed in [1], the bit ordering in 11-bit RACH coding functions is wrong. The problem is that neither of generic functions from bit16gen.h can be used to load / store the RA11 value (regardless of the endianness), because they assume that the payload is 16 bit long. With this patch applied, RA11 values from [1] look correct: < EGPRS Packet channel request message content > ::= < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 00110 > > | < Signalling : 110011 < RandomBits : 01111 > > | < Signalling : 110011 < RandomBits : 01100 > > | < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 10110 > > ; [1] Id80e471d252b9416217b56f4c8c0a8f5f1289fee Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Related: OS#1548 --- M src/coding/gsm0503_coding.c M tests/coding/coding_test.ok 2 files changed, 9 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/17693/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 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 Tue Mar 31 18:05:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 18:05:29 +0000 Subject: Change in libosmocore[master]: tests/coding: add 11-bit Access Burst samples from a real phone In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17692 ) Change subject: tests/coding: add 11-bit Access Burst samples from a real phone ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17692/1/tests/coding/coding_test.c File tests/coding/coding_test.c: https://gerrit.osmocom.org/c/libosmocore/+/17692/1/tests/coding/coding_test.c at 201 PS1, Line 201: printf("Decoded RA11: 0x%03x\n", ra11); It may be interesting to print here n-errors and n_bits_total? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Gerrit-Change-Number: 17692 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 18:05:29 +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 Mar 31 18:09:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 18:09:00 +0000 Subject: Change in libosmocore[master]: tests/coding: add 11-bit Access Burst samples from a real phone In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17692 ) Change subject: tests/coding: add 11-bit Access Burst samples from a real phone ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17692/1/tests/coding/coding_test.c File tests/coding/coding_test.c: https://gerrit.osmocom.org/c/libosmocore/+/17692/1/tests/coding/coding_test.c at 201 PS1, Line 201: printf("Decoded RA11: 0x%03x\n", ra11); > It may be interesting to print here n-errors and n_bits_total? Yep, I am planing to do this in a separate change. We should also make the soft-bits (see below) less 'ideal', because my phone was relatively close to the BTS. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17692 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id80e471d252b9416217b56f4c8c0a8f5f1289fee Gerrit-Change-Number: 17692 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 18:09: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 Tue Mar 31 18:09:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 18:09:45 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17693 ) Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 18: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 Tue Mar 31 18:09:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 18:09:45 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding 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/libosmocore/+/17693 to look at the new patch set (#3). Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... coding: fix bit ordering in 11-bit RACH coding functions According to 3GPP TS 44.004, figure 7.4a.b, the format of 11-bit RACH uplink / Uplink access burst block is as defined follows: <--------------------------------------------------- 8 7 6 5 4 3 2 1 +--------------------------------------------------+ | 11 bit RACH uplink / Uplink access burst block | OCT1 +--------------------------------------------------+ | | OCT2 +-------------------+ As was (correctly) assumed in [1], the bit ordering in 11-bit RACH coding functions is wrong. The problem is that neither of generic functions from bit16gen.h can be used to load / store the RA11 value (regardless of the endianness), because they assume that the payload is 16 bit long. With this patch applied, RA11 values from [1] look correct: < EGPRS Packet channel request message content > ::= < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 00110 > > | < Signalling : 110011 < RandomBits : 01111 > > | < Signalling : 110011 < RandomBits : 01100 > > | < Signalling : 110011 < RandomBits : 00111 > > | < Signalling : 110011 < RandomBits : 10110 > > ; [1] Id80e471d252b9416217b56f4c8c0a8f5f1289fee Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Related: OS#1548 --- M src/coding/gsm0503_coding.c M tests/coding/coding_test.ok 2 files changed, 9 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/17693/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 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 Mar 31 18:12:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Mar 2020 18:12:30 +0000 Subject: Change in libosmocore[master]: coding: fix bit ordering in 11-bit RACH coding functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17693 ) Change subject: coding: fix bit ordering in 11-bit RACH coding functions ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17693 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I43d30611dd69f77f2b3b46f4b56056a8891d3c24 Gerrit-Change-Number: 17693 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Mar 2020 18: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 Tue Mar 31 18:47:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Mar 2020 18:47:34 +0000 Subject: Change in osmo-bts[master]: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17653 ) Change subject: l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e91d825bb2e1897647dd5403c311d833a89ff2e Gerrit-Change-Number: 17653 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Mar 2020 18:47:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: